📄 servo_ram.h
字号:
#ifndef _servo_ram_h_
#define _servo_ram_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;
volatile NowSubqM SubM ;
typedef struct _tagDspFlag
{
BYTE DUMMY :3;
BYTE edc_err:1;
BYTE Buffering_f :1;
BYTE Send_f :1;
BYTE subq_ok_f:1;
BYTE clv_on_f:1;
}DspFlag;
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;
BYTE fgain_adj_end_f :1;
BYTE offset_sign_f :1;
BYTE bal_p_f :1;
BYTE bal_n_f :1;
}ADJUSTFLAG;
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;
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;
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;// no use
//BYTE trans_end:1; // no use
BYTE buffer_start_f:1;
BYTE buffer_rq_f:1;
BYTE DUMMY:4;
}DSPtest;
volatile DSPtest dsptest;
typedef struct
{
BYTE Dummy0 :4;
BYTE Track_Num_ok :1;
BYTE Lout_Point_ok :1;
BYTE Last_Point_ok :1;
BYTE First_Point_ok :1;
}cd_lead_mode;
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;
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;
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;
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;
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;
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;
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;
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;
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;
volatile CDVCDFLG cdvcdflg;
volatile signed int South_American_disc=FALSE;
volatile BYTE sector_done_2;
volatile BYTE rec_time;
volatile ulong idbuf_rec;
#if 1//USE_EDC_HISR
volatile BYTE sector_cycle;
volatile BYTE sector_count;
#endif
volatile ulong Qtime_Read=0;
volatile BYTE Cd_Mode;
#if 1//USE_EDC_HISR
volatile uint cmd92_rom_play;
volatile uint cmd92_rom_search;
#endif
volatile BYTE CD_TOC_AREA[TOC_MAX_TRACK][5];
volatile BYTE A0_A1_A2[3][5];
#if USE_S0S1_HISR
volatile BYTE CD_SUBQCODE_80BIT_DATA[10];
#endif
volatile BYTE MessageOK ;
volatile BYTE MessageCnt;
volatile ulong duration;
volatile BYTE Match_timer;
volatile ulong WatchTimer;
volatile uint Toc_Done_Timer;
volatile BYTE Toc_retry;
volatile ulong skid;
volatile BYTE SEC_Update = 0x99;
volatile BYTE SESSION_INFO[10][10];
volatile BYTE EACHSESSION_TRACKINFO[10];
volatile BYTE CD_SESSION_DATA[10];
volatile BYTE session_num;
volatile BYTE session_retry;
volatile ulong next_session_msf;
volatile BYTE endSector;
volatile BYTE Dstruct;
volatile uint b0_wait_timer;
volatile ulong next_session_timer;
volatile BYTE RetryCnt;
volatile uint Search_cnt;
volatile ulong next_start_addr,next_end_addr;
volatile ulong next_end_addr_in_Frame;
volatile ulong TarGetID,DestID;
volatile ulong target_buffer,current_buffer;
volatile ulong StartLBA,EndLBA;
volatile ulong idbuf;
volatile ulong LastFRM;
volatile ulong LastFRM_in_frame;
volatile BYTE seek_err_cnt;
volatile ulong Start_ID;
volatile ulong Pre_sector_start_addr;
volatile ulong align_Tbuf;
volatile BYTE udebuf[8];
volatile BYTE pre_cmd;
volatile BYTE TBUF1SIZE;
volatile BYTE STATUS_servo;
volatile BYTE main_mode;
volatile BYTE sub_mode;
volatile BYTE OpMode;
volatile BYTE discid;
volatile BYTE pickupINI_mode;
volatile uint read_data_h;
volatile uint read_data_l;
volatile uint read_data;
volatile BYTE last_track;
volatile BYTE first_track;
volatile BYTE total_trk_counter;
volatile ulong bal_buff;
volatile BYTE focus_NG_counter;
volatile BYTE ddt_NG_counter;
volatile ulong move_track_size;
volatile uint tes_offset_val;
volatile uint vref_offset;
volatile uint ddt_temp;
volatile uint gerr_buff;
volatile BYTE vref;
#if GAIN_AJD_2_TIME
volatile uint gain_buffer[2];
#else
volatile uint gain_buffer[4];
#endif
volatile BYTE Current_Track;
volatile ulong frm_1track;
volatile ulong frm_10track;
volatile BYTE gain_counter;
volatile uint gain_save_buffer;
volatile uint istat_data_h;
volatile uint istat_data_l;
volatile uint focusfail_counter;
//volatile uint clv_fail_counter; //pwc add2006.04.28
volatile uint focusok_counter;
volatile BYTE FOCUS_NG_Ready;
volatile ulong Emergency_MSF;
volatile BYTE servo_err_cnt,Clv_retry_cnt,Focus_retry_cnt;
volatile code uint track_time_table[91]=
{
0, // 0
446, // 1
879, // 2
1302, // 3
1714, // 4
2117, // 5
2510, // 6
2896, // 7
3273, // 8
3643, // 9
4006, // 10
4363, // 11
4713, // 12
5057, // 13
5396, // 14
5729, // 15
6058, // 16
6381, // 17
6699, // 18
7014, // 19
7323, // 20
7629, // 21
7931, // 22
8229, // 23
8523, // 24
8814, // 25
9101, // 26
9385, // 27
9666, // 28
9944, // 29
10218, // 30
10490, // 31
10759, // 32
11025, // 33
11289, // 34
11550, // 35
11809, // 36
12065, // 37
12319, // 38
12571, // 39
12820, // 40
13067, // 41
13312, // 42
13555, // 43
13796, // 44
14035, // 45
14273, // 46
14508, // 47
14741, // 48
14973, // 49
15203, // 50
15431, // 51
15658, // 52
15883, // 53
16106, // 54
16328, // 55
16548, // 56
16767, // 57
16984, // 58
17200, // 59
17415, // 60
17628, // 61
17839, // 62
18050, // 63
18259, // 64
18467, // 65
18673, // 66
18878, // 67
19082, // 68
19285, // 69
19487, // 70
19688, // 71
19887, // 72
20085, // 73
20283, // 74
20479, // 75
20674, // 76
20868, // 77
21061, // 78
21253, // 79
21444, // 80
21634, // 81
21823, // 82
22011, // 83
22198, // 84
22384, // 85
22570, // 86
22754, // 87
22938, // 88
23121, // 89
23302 // 90
};
volatile code uint SRAM_init_table_bank0[0x4c]=
{
// bank 0 ADDRESS
FE_NOR_kfi, // 0
FE_NOR_kf11, // 1
FE_NOR_kf10, // 2
FE_NOR_kf12, // 3
FE_NOR_kf13, // 4
FE_NOR_kf14, // 5
FE_NOR_kf15, // 6
FE_NOR_kf16, // 7
FE_NOR_kf18, // 8
FE_NOR_kf17, // 9
FE_NOR_kf19, // a
FE_NOR_nsk, // b
FE_NOR_kf20, // C
FE_NOR_kf21, // D
FE_DOWN_kfi, // E
FE_DOWN_kf11, // F
FE_DOWN_kf10, // 10
FE_DOWN_kf12, // 11
FE_DOWN_kf13, // 12
FE_DOWN_kf14, // 13
FE_DOWN_kf15, // 14
FE_DOWN_kf16, // 15
FE_DOWN_kf18, // 16
FE_DOWN_kf17, // 17
FE_DOWN_kf19, // 18
FE_DOWN_nsk, // 19
FE_DOWN_kf20, // 1A
FE_DOWN_kf21, // 1B
FE_LPFNML_kf22, // 1C
FE_LPFNML_kf23, // 1D
FE_LPFNML_kf25, // 1E
FE_LPFNML_kf24, // 1F
FE_LPFDOWN_kf22, // 20
FE_LPFDOWN_kf23, // 21
FE_LPFDOWN_kf25, // 22
FE_LPFDOWN_kf24, // 23
TE_NOR_kfi, // 24
TE_NOR_kf11, // 25
TE_NOR_kf10, // 26
TE_NOR_kf12, // 27
TE_NOR_kf13, // 28
TE_NOR_kf14, // 29
TE_NOR_kf15, // 2A
TE_NOR_kf16, // 2B
TE_NOR_kf18, // 2C
TE_NOR_kf17, // 2D
TE_NOR_kf19, // 2E
TE_NOR_nsk, // 2F
TE_NOR_kf20, // 30
TE_NOR_kf21, // 31
TE_UP_kfi, // 32
TE_UP_kf11, // 33
TE_UP_kf10, // 34
TE_UP_kf12, // 35
TE_UP_kf13, // 36
TE_UP_kf14, // 37
TE_UP_kf15, // 38
TE_UP_kf16, // 39
TE_UP_kf18, // 3A
TE_UP_kf17, // 3B
TE_UP_kf19, // 3C
TE_UP_nsk, // 3D
TE_UP_kf20, // 3E
TE_UP_kf21, // 3F
TE_LPFNML_kf22, // 40
TE_LPFNML_kf23, // 41
TE_LPFNML_kf25, // 42
TE_LPFNML_kf24, // 43
TE_LPFUP_kf22, // 44
TE_LPFUP_kf23, // 45
TE_LPFUP_kf25, // 46
TE_LPFUP_kf24, // 47
FE_AVRG_k0, // 48
FE_AVRG_k1, // 49
TE_AVRG_k0, // 4A
TE_AVRG_k1 // 4B
};
volatile code uint SRAM_init_table_bank1[0x33]=
{
// bank 1
FE_BPF_kf0, // 00 4c
FE_BPF_kf1, // 01 4d
FE_BPF_kf2, // 02 4e
FE_BPF_kf3, // 03 4f
TE_BPF_kf0, // 04 50
TE_BPF_kf1, // 05 51
TE_BPF_kf2, // 06 52
TE_BPF_kf3, // 07 53
ATSC_BPF_kf0, // 08 54
ATSC_BPF_kf1, // 09 55
ATSC_BPF_kf2, // 0A 56
ATSC_BPF_kf3, // 0B 57
SLED_LPF_ki, // 0C 58
SLED_LPF_ka, // 0D 59
SLED_LPF_k2, // 0E 5a
SLED_LPF_kb, // 0F 5b
SLED_LPF_k3, // 10 5c
SLED_LPF_nsk, // 11 5d
SLED_ALIAS_k0, // 12 5e
SLED_ALIAS_k1, // 13 5f
SPD_P_LPF_ki, // 14 60
SPD_P_LPF_ka, // 15 61
SPD_P_LPF_k2, // 16 62
SPD_P_LPF_kb, // 17 63
SPD_P_LPF_k3, // 18 64
SPD_P_LPF_nsk, // 19 65
SPD_S_LPF_ki, // 1A 66
SPD_S_LPF_ka, // 1B 67
SPD_S_LPF_k2, // 1C 68
SPD_S_LPF_kb, // 1D 69
SPD_S_LPF_k3, // 1E 6a
SPD_S_LPF_nsk, // 1F 6b
SPD_P_AVRG_k0, // 20 6c
SPD_P_AVRG_k1, // 21 6d
SPD_S_AVRG_k0, // 22 6e
SPD_S_AVRG_k1, // 23 6f
TRD_AVRG_k0, // 24 68
TRD_AVRG_k1, // 25 69
TES_AVRG_k0, // 26 6a
TES_AVRG_k1, // 27 6b
VREF_AVRG_k0, // 28 6c
VREF_AVRG_k1, // 29 6d
FOD_AVRG_k0, // 2a 6e
FOD_AVRG_k1, // 2b 6f
SINE_GEN_kx, // 2c 70
SINE_GEN_ki, // 2d 71
SINE_GEN_ko, // 2e 72
TRD_AVRG2_k0, // 2f 7b
TRD_AVRG2_k1, // 30 7c
TZC_HPF_k0, //31
TZC_HPF_k1 //32
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -