.cue support, Pico stubs
[picodrive.git] / Pico / cd / cd_sys.h
index 7ec9cda..6725efc 100644 (file)
@@ -1,6 +1,17 @@
+/***********************************************************\r
+ *                                                         *\r
+ * This source was taken from the Gens project             *\r
+ * Written by Stéphane Dallongeville                       *\r
+ * Copyright (c) 2002 by Stéphane Dallongeville            *\r
+ * Modified/adapted for PicoDrive by notaz, 2007           *\r
+ *                                                         *\r
+ ***********************************************************/\r
+\r
 #ifndef _CD_SYS_H\r
 #define _CD_SYS_H\r
 \r
+#include "cd_file.h"\r
+\r
 #ifdef __cplusplus\r
 extern "C" {\r
 #endif\r
@@ -28,65 +39,68 @@ typedef struct
 \r
 typedef struct\r
 {\r
-       unsigned char Type;\r
-       unsigned char Num;\r
+//     unsigned char Type; // always 1 (data) for 1st track, 0 (audio) for others\r
+//     unsigned char Num; // unused\r
        _msf MSF;\r
+       //\r
+       char ftype; // TYPE_ISO, TYPE_BIN, TYPE_MP3\r
+       void *F;\r
+       int Length;\r
+       int Offset;  // sector offset, when single file is used for multiple virtual tracks\r
+       short KBtps; // kbytes per sec for mp3s (bitrate / 1000 / 8)\r
+       short pad;\r
 } _scd_track;\r
 \r
 typedef struct\r
 {\r
-       unsigned char First_Track;\r
-       unsigned char Last_Track;\r
+//     unsigned char First_Track; // always 1\r
        _scd_track Tracks[100];\r
+       unsigned int Last_Track;\r
 } _scd_toc;\r
 \r
 typedef struct {\r
        unsigned int Status_CDD;\r
        unsigned int Status_CDC;\r
-       _scd_toc TOC;\r
        int Cur_LBA;\r
        unsigned int Cur_Track;\r
+       int File_Add_Delay;\r
+       char CDD_Complete;\r
+       int pad[6];\r
 } _scd;\r
 \r
 \r
-extern int CD_Timer_Counter;\r
-\r
-\r
-void LBA_to_MSF(int lba, _msf *MSF);\r
-int Track_to_LBA(int track);\r
-\r
-\r
-void Check_CD_Command(void);\r
-\r
-int  Init_CD_Driver(void);\r
-void End_CD_Driver(void);\r
-int  Insert_CD(char *iso_name, int is_bin);\r
-void Stop_CD(void);\r
-void Change_CD(void);\r
-void Reset_CD(void);\r
-\r
-int Get_Status_CDD_c0(void);\r
-int Stop_CDD_c1(void);\r
-int Get_Pos_CDD_c20(void);\r
-int Get_Track_Pos_CDD_c21(void);\r
-int Get_Current_Track_CDD_c22(void);\r
-int Get_Total_Lenght_CDD_c23(void);\r
-int Get_First_Last_Track_CDD_c24(void);\r
-int Get_Track_Adr_CDD_c25(void);\r
-int Play_CDD_c3(void);\r
-int Seek_CDD_c4(void);\r
-int Pause_CDD_c6(void);\r
-int Resume_CDD_c7(void);\r
-int Fast_Foward_CDD_c8(void);\r
-int Fast_Rewind_CDD_c9(void);\r
-int CDD_cA(void);\r
-int Close_Tray_CDD_cC(void);\r
-int Open_Tray_CDD_cD(void);\r
-\r
-int CDD_Def(void);\r
-\r
-//void Write_CD_Audio(short *Buf, int rate, int channel, int lenght);\r
-//void Update_CD_Audio(int **Buf, int lenght);\r
+PICO_INTERNAL void LBA_to_MSF(int lba, _msf *MSF);\r
+PICO_INTERNAL int  Track_to_LBA(int track);\r
+\r
+// moved to Pico.h\r
+// int  Insert_CD(char *iso_name, int is_bin);\r
+// void Stop_CD(void);\r
+\r
+PICO_INTERNAL void Check_CD_Command(void);\r
+\r
+PICO_INTERNAL int  Init_CD_Driver(void);\r
+PICO_INTERNAL void End_CD_Driver(void);\r
+PICO_INTERNAL void Reset_CD(void);\r
+\r
+PICO_INTERNAL int Get_Status_CDD_c0(void);\r
+PICO_INTERNAL int Stop_CDD_c1(void);\r
+PICO_INTERNAL int Get_Pos_CDD_c20(void);\r
+PICO_INTERNAL int Get_Track_Pos_CDD_c21(void);\r
+PICO_INTERNAL int Get_Current_Track_CDD_c22(void);\r
+PICO_INTERNAL int Get_Total_Lenght_CDD_c23(void);\r
+PICO_INTERNAL int Get_First_Last_Track_CDD_c24(void);\r
+PICO_INTERNAL int Get_Track_Adr_CDD_c25(void);\r
+PICO_INTERNAL int Play_CDD_c3(void);\r
+PICO_INTERNAL int Seek_CDD_c4(void);\r
+PICO_INTERNAL int Pause_CDD_c6(void);\r
+PICO_INTERNAL int Resume_CDD_c7(void);\r
+PICO_INTERNAL int Fast_Foward_CDD_c8(void);\r
+PICO_INTERNAL int Fast_Rewind_CDD_c9(void);\r
+PICO_INTERNAL int CDD_cA(void);\r
+PICO_INTERNAL int Close_Tray_CDD_cC(void);\r
+PICO_INTERNAL int Open_Tray_CDD_cD(void);\r
+\r
+PICO_INTERNAL int CDD_Def(void);\r
 \r
 \r
 #ifdef __cplusplus\r