9 #define INT_TO_BCDB(c) \
\r
10 ((c) > 99)?(0x99):((((c) / 10) << 4) + ((c) % 10));
\r
12 #define INT_TO_BCDW(c) \
\r
13 ((c) > 99)?(0x0909):((((c) / 10) << 8) + ((c) % 10));
\r
15 #define BCDB_TO_INT(c) \
\r
16 (((c) >> 4) * 10) + ((c) & 0xF);
\r
18 #define BCDW_TO_INT(c) \
\r
19 (((c) >> 8) * 10) + ((c) & 0xF);
\r
38 unsigned char First_Track;
\r
39 unsigned char Last_Track;
\r
40 _scd_track Tracks[100];
\r
44 unsigned int Status_CDD;
\r
45 unsigned int Status_CDC;
\r
48 unsigned int Cur_Track;
\r
52 extern int CD_Timer_Counter;
\r
55 void LBA_to_MSF(int lba, _msf *MSF);
\r
56 int Track_to_LBA(int track);
\r
59 void Check_CD_Command(void);
\r
61 int Init_CD_Driver(void);
\r
62 void End_CD_Driver(void);
\r
63 int Insert_CD(char *buf, char *iso_name);
\r
65 void Change_CD(void);
\r
66 void Reset_CD(void);
\r
68 int Get_Status_CDD_c0(void);
\r
69 int Stop_CDD_c1(void);
\r
70 int Get_Pos_CDD_c20(void);
\r
71 int Get_Track_Pos_CDD_c21(void);
\r
72 int Get_Current_Track_CDD_c22(void);
\r
73 int Get_Total_Lenght_CDD_c23(void);
\r
74 int Get_First_Last_Track_CDD_c24(void);
\r
75 int Get_Track_Adr_CDD_c25(void);
\r
76 int Play_CDD_c3(void);
\r
77 int Seek_CDD_c4(void);
\r
78 int Pause_CDD_c6(void);
\r
79 int Resume_CDD_c7(void);
\r
80 int Fast_Foward_CDD_c8(void);
\r
81 int Fast_Rewind_CDD_c9(void);
\r
83 int Close_Tray_CDD_cC(void);
\r
84 int Open_Tray_CDD_cD(void);
\r
88 //void Write_CD_Audio(short *Buf, int rate, int channel, int lenght);
\r
89 //void Update_CD_Audio(int **Buf, int lenght);
\r