⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 servo_ram_extern.h

📁 三星ic 9980的源代码. 718版.
💻 H
字号:
#ifndef  _servo_ram_extern_h_
#define  _servo_ram_extern_h_
#include "define.h"
#include "command.h"

typedef struct _tagNowSubqM
{
	BYTE control;
	BYTE track;
  	BYTE index;
	BYTE ZERO;
  	BYTE min;
  	BYTE sec;
  	BYTE frm;
  	BYTE amin;
  	BYTE asec;
  	BYTE afrm;
}NowSubqM;
extern volatile NowSubqM  SubM ;

typedef struct _tagDspFlag 
{
	BYTE	DUMMY		:3;
	BYTE       edc_err:1;
	//BYTE       pre_emphasis:1;
	BYTE	Buffering_f	:1;
	BYTE      Send_f		:1;
	BYTE	subq_ok_f:1;
	BYTE	clv_on_f:1;
}DspFlag;
extern volatile DspFlag DspF;

typedef struct _tagADJUSTFLAG
{
	BYTE	bal_first_f:1;				
	BYTE	fservo_offset_end_f:1;	//no use	
	BYTE	fteoffset_f:1;					
	BYTE	tesoffset_f:1;			//4	
	BYTE	fgain_adj_end_f:1;		//3	
	BYTE	offset_sign_f:1;	
	BYTE	bal_p_f:1;		
	BYTE	bal_n_f:1;			
}ADJUSTFLAG;
extern volatile ADJUSTFLAG AdjF;

typedef struct _tagSEARCH
{
	BYTE	search_up_hold_f	:1;					
	BYTE	dir_f:1;		
	BYTE	jump_on:1;		
	BYTE	fastsrch_on:1;	
	BYTE       search_long:1;  // pan 2006.05.19
	BYTE    DUMMY:3;	
}SEARCH;    
extern volatile SEARCH search;	 

typedef struct _tagSERVO
{
	uint		ddt_check_first			:1;		
	uint		clv_ng					:1;			
	uint		nodisk_f					:1;			
	uint		recovery_f				:1;			
	uint		offset_adj_f				:1;			
	uint		balance_adjustment_ok	:1;	
	uint		gain_adjustment_ok		:1;		
	uint		ddt_end_f				:1;			
	uint		cdrw_f					:1;			
	uint  DUMMY:7;		
}SERVO;
extern volatile SERVO servo;

typedef struct _tagDSPtest
{
	BYTE      continue_f:1;
	BYTE      continue_check:1;
	//BYTE      Q_err_s0s1only:1;
	//BYTE      Q_err:1;
	//BYTE	dump_end:1;
	//BYTE 	trans_end:1;// no use
	BYTE	buffer_start_f:1;
	BYTE	buffer_rq_f:1;
	BYTE       DUMMY:4;
}DSPtest;
extern volatile DSPtest dsptest;

typedef struct {
     	BYTE     Dummy0                	:4;
     	BYTE     Track_Num_ok          	:1;//3  
     	BYTE     Lout_Point_ok          	:1;
     	BYTE     Last_Point_ok          	:1;
      	BYTE     First_Point_ok        	:1; 
}cd_lead_mode;
extern volatile cd_lead_mode     CD_LEAD_MODE;  

typedef struct _tagCDROM
{
	BYTE 	DUMMY:5;
	BYTE       table_check_fail :1;
	BYTE	first_make_table:1;
	BYTE	rom_f:1;
}CDROM;
extern volatile CDROM cdrom;

typedef struct _tagINT_STATE 
{
	uint edc_err_f:1; 		//  31
	uint s0s1_ok_f:1;		// 30
	uint s0s1_only_f:1;  	//29
	uint cdr_sync_f:1; 	// 28
	uint ones_done_f:1;	// 27
	uint twok_done_f:1; 	// 26
  	uint send_start_f:1; 	//25
  	uint shock_intr_f:1;	 //24
  	uint c176k_f:1;    		 // 23 
  	uint adrs_done_f:1;  	// 22
  	uint Dummy3       :6;	//21 - 16
}INT_STATE;
extern volatile INT_STATE int_state;

typedef struct {  
      	BYTE     Pick_Init_Mode        	:1;
     	BYTE     popnkeyin            	:1;//4   
     	BYTE		fclosekeyin		:1;
      	BYTE     watch_flag            	:1;
	BYTE    call_back :1;
      BYTE     Dummy0   		:3;
}SYSTEM_FLG;                               
extern volatile SYSTEM_FLG	system_flg; 

typedef struct {      
      	BYTE     id_ok            	:1;
      	BYTE     ddt_ng_goto_stop            	:1;//4
      	BYTE     seekok            	:1;
      	BYTE     ldin_area            	:1;	
      	BYTE     spin_kick          	:1;
      	BYTE     dsp_seek_mode          :1;
	BYTE fPlayCDVD			:1; 
	BYTE PostCmd_recevied            		:1; 
}FLAG00;  
extern volatile FLAG00      flag00;

typedef struct
{
	BYTE      lok_err            	:1;
     	BYTE     l_chk            	:1;//3 
     	BYTE     fok_err            	:1;
      	BYTE     f_chk            	:1;
	BYTE     Dummy0   		:4;
}FLAG01;  
extern volatile FLAG01     flag01;

typedef struct
{
   	BYTE 	Stop2Play      :1;
	BYTE	goto_leadin_area	:1;	
	BYTE fOpenTray		 		:1;
  	BYTE fInitTray		 		:1;
	BYTE  Mp3_read_end                 :1;   // pwc add 2006.04.26
	BYTE     Dummy0   		:3;
}HOT_FLAG;
extern volatile HOT_FLAG     	hot_flag;
 
typedef struct 
{
	BYTE     DuringSeek      		:1;
	BYTE     SeekReq         		:1;
	BYTE     WriteReq        		:1;
	BYTE     check_under_int        		:1;
	BYTE     check_over_int        		:1;
	BYTE        DUMMY:3;
}VBRCTFG0;                    
extern volatile VBRCTFG0     vbrctfg0;

typedef struct 
{           	
	BYTE 	session_read_ok		:1;        
	BYTE 	multi_session_disc	:1;
	BYTE 	multi_next_tgtseek	:1;
	BYTE 	b0_read_ok    		:1;
	BYTE 	goto_first_session	:1;
	BYTE 	 b0_point_watch		:1;
	BYTE     first_session_leadin	:1;
	BYTE     next_session_search_timer			:1;
}MP3_MULTI;
extern volatile MP3_MULTI mp3_multi; 

typedef struct
{
	BYTE     Dummy						:5;
	BYTE     Buf_CD_f						:1;
	BYTE     CDDA_2X_f					:1;
      	BYTE     CD_TOC_ok               :1;
}CDVCDFLG;          
extern volatile CDVCDFLG      cdvcdflg;
 
extern volatile signed int South_American_disc;
extern volatile BYTE 	sector_done_2;
extern volatile BYTE 	rec_time;
extern volatile ulong 	idbuf_rec;
#if 1//USE_EDC_HISR
extern volatile BYTE sector_cycle;
extern volatile BYTE sector_count;
#endif
extern volatile ulong 	Qtime_Read;
extern volatile BYTE 	Cd_Mode;
#if 1// USE_EDC_HISR
extern volatile uint cmd92_rom_play;
extern  volatile uint cmd92_rom_search;
#endif
extern volatile BYTE 	CD_TOC_AREA[TOC_MAX_TRACK][5];
extern volatile BYTE  	A0_A1_A2[3][5];
#if USE_S0S1_HISR
extern volatile BYTE CD_SUBQCODE_80BIT_DATA[10];
#endif
extern volatile BYTE 	MessageOK ;
extern volatile BYTE 	MessageCnt;
extern volatile BYTE Match_timer;
extern volatile ulong 	duration;
extern volatile ulong 	WatchTimer;
extern volatile uint 		Toc_Done_Timer;
extern volatile BYTE 	Toc_retry;
extern volatile ulong 	skid;
extern volatile BYTE 	SEC_Update;	
extern volatile BYTE 	SESSION_INFO[10][10];	
extern volatile BYTE 	EACHSESSION_TRACKINFO[10]; 
extern volatile BYTE 	CD_SESSION_DATA[10]; 	
extern volatile BYTE 	session_num;
extern volatile BYTE 	session_retry;
extern volatile ulong 	next_session_msf;
extern volatile BYTE 	endSector;
extern volatile BYTE 	Dstruct;
extern volatile uint  	b0_wait_timer;
extern volatile ulong 	next_session_timer;
extern volatile BYTE 	RetryCnt;
extern volatile uint 	Search_cnt;
extern volatile ulong 	next_start_addr,next_end_addr;
extern volatile ulong next_end_addr_in_Frame;
//extern volatile ulong 	Cell_SID,Cell_EID;
extern volatile ulong 	TarGetID,DestID;
extern volatile ulong 	idbuf;
extern volatile ulong 	LastFRM;
extern volatile ulong LastFRM_in_frame;
extern volatile BYTE 	seek_err_cnt;
extern volatile ulong 	Start_ID;
extern volatile ulong 	Pre_sector_start_addr;
extern volatile ulong target_buffer,current_buffer;
extern volatile ulong StartLBA,EndLBA;
extern volatile ulong 	align_Tbuf;
//extern volatile BYTE  	udebuf[10];   
extern volatile BYTE  	udebuf[8];  
extern volatile BYTE  	pre_cmd;
extern volatile BYTE 	TBUF1SIZE;
extern volatile BYTE 	STATUS_servo; 
extern volatile BYTE 	main_mode;
extern volatile BYTE	sub_mode;
extern volatile BYTE 	OpMode;
extern volatile BYTE 	discid;
extern volatile BYTE 	pickupINI_mode;
extern volatile uint 	read_data_h;
extern volatile uint 	read_data_l;
extern volatile uint 	read_data;
extern volatile BYTE 	last_track;
extern volatile BYTE	first_track;
extern volatile BYTE 	total_trk_counter;
extern volatile ulong 	bal_buff;
extern volatile BYTE 	focus_NG_counter;
extern volatile BYTE  	ddt_NG_counter;
extern volatile ulong 	move_track_size;
extern volatile uint	tes_offset_val;
extern volatile uint	vref_offset;
extern volatile uint	ddt_temp;				
extern volatile uint	gerr_buff;
extern volatile BYTE	gerr_buff1;
extern volatile uint	gerr_buff2;
#if GAIN_AJD_2_TIME
extern volatile uint	gain_buffer[2];
#else
extern volatile uint	gain_buffer[4];
#endif
extern volatile BYTE 	Current_Track;
extern volatile ulong 	frm_1track;
extern volatile ulong 	frm_10track;   
extern volatile BYTE 	gain_counter;
extern volatile uint	gain_save_buffer;
extern volatile uint	istat_data_h;
extern volatile uint	istat_data_l;
extern volatile uint focusfail_counter;
extern volatile uint  focusok_counter;
extern volatile BYTE FOCUS_NG_Ready;
extern volatile ulong Emergency_MSF;
extern volatile BYTE  servo_err_cnt,Clv_retry_cnt,Focus_retry_cnt;
#endif 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -