X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=Pico%2Fcd%2Fcd_sys.h;h=77a9f06ca1231cb120bbb103e43b29c09f8e10b1;hb=eff55556cff77fd64cff4be32e449e0a58aed6fe;hp=34c9126fe2534aac111b351ec4ca7e413b0ac969;hpb=cc68a136aa179a5f32fe40208371eb9c2b0aadae;p=picodrive.git diff --git a/Pico/cd/cd_sys.h b/Pico/cd/cd_sys.h index 34c9126..77a9f06 100644 --- a/Pico/cd/cd_sys.h +++ b/Pico/cd/cd_sys.h @@ -1,6 +1,17 @@ +/*********************************************************** + * * + * This source was taken from the Gens project * + * Written by Stéphane Dallongeville * + * Copyright (c) 2002 by Stéphane Dallongeville * + * Modified/adapted for PicoDrive by notaz, 2007 * + * * + ***********************************************************/ + #ifndef _CD_SYS_H #define _CD_SYS_H +#include "cd_file.h" + #ifdef __cplusplus extern "C" { #endif @@ -28,65 +39,67 @@ typedef struct typedef struct { - unsigned char Type; - unsigned char Num; +// unsigned char Type; // always 1 (data) for 1st track, 0 (audio) for others +// unsigned char Num; // unused _msf MSF; + // + char ftype; // TYPE_ISO, TYPE_BIN, TYPE_MP3 + void *F; + int Length; + short KBtps; // kbytes per sec for mp3s (bitrate / 1000 / 8) + short pad; } _scd_track; typedef struct { - unsigned char First_Track; - unsigned char Last_Track; +// unsigned char First_Track; // always 1 _scd_track Tracks[100]; + unsigned int Last_Track; } _scd_toc; typedef struct { unsigned int Status_CDD; unsigned int Status_CDC; - _scd_toc TOC; int Cur_LBA; unsigned int Cur_Track; + int File_Add_Delay; + char CDD_Complete; + int pad[6]; } _scd; -extern int CD_Timer_Counter; - - -void LBA_to_MSF(int lba, _msf *MSF); -int Track_to_LBA(int track); - - -void Check_CD_Command(void); - -int Init_CD_Driver(void); -void End_CD_Driver(void); -int Insert_CD(char *buf, char *iso_name); -void Stop_CD(void); -void Change_CD(void); -void Reset_CD(void); - -int Get_Status_CDD_c0(void); -int Stop_CDD_c1(void); -int Get_Pos_CDD_c20(void); -int Get_Track_Pos_CDD_c21(void); -int Get_Current_Track_CDD_c22(void); -int Get_Total_Lenght_CDD_c23(void); -int Get_First_Last_Track_CDD_c24(void); -int Get_Track_Adr_CDD_c25(void); -int Play_CDD_c3(void); -int Seek_CDD_c4(void); -int Pause_CDD_c6(void); -int Resume_CDD_c7(void); -int Fast_Foward_CDD_c8(void); -int Fast_Rewind_CDD_c9(void); -int CDD_cA(void); -int Close_Tray_CDD_cC(void); -int Open_Tray_CDD_cD(void); - -int CDD_Def(void); - -//void Write_CD_Audio(short *Buf, int rate, int channel, int lenght); -//void Update_CD_Audio(int **Buf, int lenght); +PICO_INTERNAL void LBA_to_MSF(int lba, _msf *MSF); +PICO_INTERNAL int Track_to_LBA(int track); + +// moved to Pico.h +// int Insert_CD(char *iso_name, int is_bin); +// void Stop_CD(void); + +PICO_INTERNAL void Check_CD_Command(void); + +PICO_INTERNAL int Init_CD_Driver(void); +PICO_INTERNAL void End_CD_Driver(void); +PICO_INTERNAL void Reset_CD(void); + +PICO_INTERNAL int Get_Status_CDD_c0(void); +PICO_INTERNAL int Stop_CDD_c1(void); +PICO_INTERNAL int Get_Pos_CDD_c20(void); +PICO_INTERNAL int Get_Track_Pos_CDD_c21(void); +PICO_INTERNAL int Get_Current_Track_CDD_c22(void); +PICO_INTERNAL int Get_Total_Lenght_CDD_c23(void); +PICO_INTERNAL int Get_First_Last_Track_CDD_c24(void); +PICO_INTERNAL int Get_Track_Adr_CDD_c25(void); +PICO_INTERNAL int Play_CDD_c3(void); +PICO_INTERNAL int Seek_CDD_c4(void); +PICO_INTERNAL int Pause_CDD_c6(void); +PICO_INTERNAL int Resume_CDD_c7(void); +PICO_INTERNAL int Fast_Foward_CDD_c8(void); +PICO_INTERNAL int Fast_Rewind_CDD_c9(void); +PICO_INTERNAL int CDD_cA(void); +PICO_INTERNAL int Close_Tray_CDD_cC(void); +PICO_INTERNAL int Open_Tray_CDD_cD(void); + +PICO_INTERNAL int CDD_Def(void); #ifdef __cplusplus