notaz.gp2x.de
/
picodrive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
timers implemented for new z80 mode
[picodrive.git]
/
Pico
/
cd
/
cd_sys.c
diff --git
a/Pico/cd/cd_sys.c
b/Pico/cd/cd_sys.c
index
390c309
..
03bf0d2
100644
(file)
--- a/
Pico/cd/cd_sys.c
+++ b/
Pico/cd/cd_sys.c
@@
-1,6
+1,6
@@
/***********************************************************
\r
* *
\r
/***********************************************************
\r
* *
\r
- * This source
was taken from the Gens project
*
\r
+ * This source
file 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
* Written by Stéphane Dallongeville *
\r
* Copyright (c) 2002 by Stéphane Dallongeville *
\r
* Modified/adapted for PicoDrive by notaz, 2007 *
\r
@@
-8,13
+8,11
@@
***********************************************************/
\r
\r
#include <stdio.h>
\r
***********************************************************/
\r
\r
#include <stdio.h>
\r
-#include "cd_sys.h"
\r
-#include "cd_file.h"
\r
\r
#include "../PicoInt.h"
\r
\r
#include "../PicoInt.h"
\r
+#include "cd_sys.h"
\r
+#include "cd_file.h"
\r
\r
\r
-#define cdprintf dprintf
\r
-//#define cdprintf(x...)
\r
#define DEBUG_CD
\r
\r
#define TRAY_OPEN 0x0500 // TRAY OPEN CDD status
\r
#define DEBUG_CD
\r
\r
#define TRAY_OPEN 0x0500 // TRAY OPEN CDD status
\r
@@
-68,7
+66,7
@@
static int MSF_to_LBA(_msf *MSF)
}
\r
\r
\r
}
\r
\r
\r
-void LBA_to_MSF(int lba, _msf *MSF)
\r
+
PICO_INTERNAL
void LBA_to_MSF(int lba, _msf *MSF)
\r
{
\r
if (lba < -150) lba = 0;
\r
else lba += 150;
\r
{
\r
if (lba < -150) lba = 0;
\r
else lba += 150;
\r
@@
-122,7
+120,7
@@
static void Track_to_MSF(int track, _msf *MSF)
}
\r
\r
\r
}
\r
\r
\r
-int Track_to_LBA(int track)
\r
+
PICO_INTERNAL
int Track_to_LBA(int track)
\r
{
\r
_msf MSF;
\r
\r
{
\r
_msf MSF;
\r
\r
@@
-131,7
+129,7
@@
int Track_to_LBA(int track)
}
\r
\r
\r
}
\r
\r
\r
-void Check_CD_Command(void)
\r
+
PICO_INTERNAL
void Check_CD_Command(void)
\r
{
\r
cdprintf("CHECK CD COMMAND");
\r
\r
{
\r
cdprintf("CHECK CD COMMAND");
\r
\r
@@
-175,19
+173,19
@@
void Check_CD_Command(void)
}
\r
\r
\r
}
\r
\r
\r
-int Init_CD_Driver(void)
\r
+
PICO_INTERNAL
int Init_CD_Driver(void)
\r
{
\r
return 0;
\r
}
\r
\r
\r
{
\r
return 0;
\r
}
\r
\r
\r
-void End_CD_Driver(void)
\r
+
PICO_INTERNAL
void End_CD_Driver(void)
\r
{
\r
{
\r
-
FILE_End
();
\r
+
Unload_ISO
();
\r
}
\r
\r
\r
}
\r
\r
\r
-void Reset_CD(void)
\r
+
PICO_INTERNAL
void Reset_CD(void)
\r
{
\r
Pico_mcd->scd.Cur_Track = 0;
\r
Pico_mcd->scd.Cur_LBA = -150;
\r
{
\r
Pico_mcd->scd.Cur_Track = 0;
\r
Pico_mcd->scd.Cur_LBA = -150;
\r
@@
-198,19
+196,16
@@
void Reset_CD(void)
}
\r
\r
\r
}
\r
\r
\r
-int Insert_CD(char *
iso_name, int is_bin
)
\r
+int Insert_CD(char *
cdimg_name, int type
)
\r
{
\r
{
\r
- int ret = 0;
\r
-
\r
-// memset(CD_Audio_Buffer_L, 0, 4096 * 4);
\r
-// memset(CD_Audio_Buffer_R, 0, 4096 * 4);
\r
+ int ret = 1;
\r
\r
CD_Present = 0;
\r
Pico_mcd->scd.Status_CDD = NOCD;
\r
\r
\r
CD_Present = 0;
\r
Pico_mcd->scd.Status_CDD = NOCD;
\r
\r
- if (
iso_name != NULL
)
\r
+ if (
cdimg_name != NULL && type != CIT_NOT_CD
)
\r
{
\r
{
\r
- ret = Load_
ISO(iso_name, is_bin
);
\r
+ ret = Load_
CD_Image(cdimg_name, type
);
\r
if (ret == 0) {
\r
CD_Present = 1;
\r
Pico_mcd->scd.Status_CDD = READY;
\r
if (ret == 0) {
\r
CD_Present = 1;
\r
Pico_mcd->scd.Status_CDD = READY;
\r
@@
-228,14
+223,15
@@
void Stop_CD(void)
}
\r
\r
\r
}
\r
\r
\r
-void Change_CD(void)
\r
+/*
\r
+PICO_INTERNAL void Change_CD(void)
\r
{
\r
if (Pico_mcd->scd.Status_CDD == TRAY_OPEN) Close_Tray_CDD_cC();
\r
else Open_Tray_CDD_cD();
\r
}
\r
{
\r
if (Pico_mcd->scd.Status_CDD == TRAY_OPEN) Close_Tray_CDD_cC();
\r
else Open_Tray_CDD_cD();
\r
}
\r
+*/
\r
\r
\r
-
\r
-int Get_Status_CDD_c0(void)
\r
+PICO_INTERNAL int Get_Status_CDD_c0(void)
\r
{
\r
cdprintf("Status command : Cur LBA = %d", Pico_mcd->scd.Cur_LBA);
\r
\r
{
\r
cdprintf("Status command : Cur LBA = %d", Pico_mcd->scd.Cur_LBA);
\r
\r
@@
-253,7
+249,7
@@
int Get_Status_CDD_c0(void)
}
\r
\r
\r
}
\r
\r
\r
-int Stop_CDD_c1(void)
\r
+
PICO_INTERNAL
int Stop_CDD_c1(void)
\r
{
\r
CHECK_TRAY_OPEN
\r
\r
{
\r
CHECK_TRAY_OPEN
\r
\r
@@
-276,7
+272,7
@@
int Stop_CDD_c1(void)
}
\r
\r
\r
}
\r
\r
\r
-int Get_Pos_CDD_c20(void)
\r
+
PICO_INTERNAL
int Get_Pos_CDD_c20(void)
\r
{
\r
_msf MSF;
\r
\r
{
\r
_msf MSF;
\r
\r
@@
-308,7
+304,7
@@
int Get_Pos_CDD_c20(void)
}
\r
\r
\r
}
\r
\r
\r
-int Get_Track_Pos_CDD_c21(void)
\r
+
PICO_INTERNAL
int Get_Track_Pos_CDD_c21(void)
\r
{
\r
int elapsed_time;
\r
_msf MSF;
\r
{
\r
int elapsed_time;
\r
_msf MSF;
\r
@@
-342,7
+338,7
@@
int Get_Track_Pos_CDD_c21(void)
}
\r
\r
\r
}
\r
\r
\r
-int Get_Current_Track_CDD_c22(void)
\r
+
PICO_INTERNAL
int Get_Current_Track_CDD_c22(void)
\r
{
\r
cdprintf("Status CDD = %.4X Status = %.4X", Pico_mcd->scd.Status_CDD, Pico_mcd->cdd.Status);
\r
\r
{
\r
cdprintf("Status CDD = %.4X Status = %.4X", Pico_mcd->scd.Status_CDD, Pico_mcd->cdd.Status);
\r
\r
@@
-371,7
+367,7
@@
int Get_Current_Track_CDD_c22(void)
}
\r
\r
\r
}
\r
\r
\r
-int Get_Total_Lenght_CDD_c23(void)
\r
+
PICO_INTERNAL
int Get_Total_Lenght_CDD_c23(void)
\r
{
\r
CHECK_TRAY_OPEN
\r
\r
{
\r
CHECK_TRAY_OPEN
\r
\r
@@
-395,7
+391,7
@@
int Get_Total_Lenght_CDD_c23(void)
}
\r
\r
\r
}
\r
\r
\r
-int Get_First_Last_Track_CDD_c24(void)
\r
+
PICO_INTERNAL
int Get_First_Last_Track_CDD_c24(void)
\r
{
\r
CHECK_TRAY_OPEN
\r
\r
{
\r
CHECK_TRAY_OPEN
\r
\r
@@
-418,7
+414,7
@@
int Get_First_Last_Track_CDD_c24(void)
}
\r
\r
\r
}
\r
\r
\r
-int Get_Track_Adr_CDD_c25(void)
\r
+
PICO_INTERNAL
int Get_Track_Adr_CDD_c25(void)
\r
{
\r
int track_number;
\r
\r
{
\r
int track_number;
\r
\r
@@
-452,7
+448,7
@@
int Get_Track_Adr_CDD_c25(void)
}
\r
\r
\r
}
\r
\r
\r
-int Play_CDD_c3(void)
\r
+
PICO_INTERNAL
int Play_CDD_c3(void)
\r
{
\r
_msf MSF;
\r
int delay, new_lba;
\r
{
\r
_msf MSF;
\r
int delay, new_lba;
\r
@@
-493,8
+489,7
@@
int Play_CDD_c3(void)
else
\r
{
\r
Pico_mcd->s68k_regs[0x36] &= ~0x01; // AUDIO
\r
else
\r
{
\r
Pico_mcd->s68k_regs[0x36] &= ~0x01; // AUDIO
\r
- //CD_Audio_Starting = 1;
\r
- FILE_Play_CD_LBA();
\r
+ cdda_start_play();
\r
}
\r
\r
if (Pico_mcd->scd.Cur_Track == 100) Pico_mcd->cdd.Minute = 0x0A02;
\r
}
\r
\r
if (Pico_mcd->scd.Cur_Track == 100) Pico_mcd->cdd.Minute = 0x0A02;
\r
@@
-510,7
+505,7
@@
int Play_CDD_c3(void)
}
\r
\r
\r
}
\r
\r
\r
-int Seek_CDD_c4(void)
\r
+
PICO_INTERNAL
int Seek_CDD_c4(void)
\r
{
\r
_msf MSF;
\r
\r
{
\r
_msf MSF;
\r
\r
@@
-548,7
+543,7
@@
int Seek_CDD_c4(void)
}
\r
\r
\r
}
\r
\r
\r
-int Pause_CDD_c6(void)
\r
+
PICO_INTERNAL
int Pause_CDD_c6(void)
\r
{
\r
CHECK_TRAY_OPEN
\r
CHECK_CD_PRESENT
\r
{
\r
CHECK_TRAY_OPEN
\r
CHECK_CD_PRESENT
\r
@@
-571,7
+566,7
@@
int Pause_CDD_c6(void)
}
\r
\r
\r
}
\r
\r
\r
-int Resume_CDD_c7(void)
\r
+
PICO_INTERNAL
int Resume_CDD_c7(void)
\r
{
\r
CHECK_TRAY_OPEN
\r
CHECK_CD_PRESENT
\r
{
\r
CHECK_TRAY_OPEN
\r
CHECK_CD_PRESENT
\r
@@
-596,8
+591,7
@@
int Resume_CDD_c7(void)
else
\r
{
\r
Pico_mcd->s68k_regs[0x36] &= ~0x01; // AUDIO
\r
else
\r
{
\r
Pico_mcd->s68k_regs[0x36] &= ~0x01; // AUDIO
\r
- //CD_Audio_Starting = 1;
\r
- FILE_Play_CD_LBA();
\r
+ cdda_start_play();
\r
}
\r
\r
if (Pico_mcd->scd.Cur_Track == 100) Pico_mcd->cdd.Minute = 0x0A02;
\r
}
\r
\r
if (Pico_mcd->scd.Cur_Track == 100) Pico_mcd->cdd.Minute = 0x0A02;
\r
@@
-613,7
+607,7
@@
int Resume_CDD_c7(void)
}
\r
\r
\r
}
\r
\r
\r
-int Fast_Foward_CDD_c8(void)
\r
+
PICO_INTERNAL
int Fast_Foward_CDD_c8(void)
\r
{
\r
CHECK_TRAY_OPEN
\r
CHECK_CD_PRESENT
\r
{
\r
CHECK_TRAY_OPEN
\r
CHECK_CD_PRESENT
\r
@@
-634,7
+628,7
@@
int Fast_Foward_CDD_c8(void)
}
\r
\r
\r
}
\r
\r
\r
-int Fast_Rewind_CDD_c9(void)
\r
+
PICO_INTERNAL
int Fast_Rewind_CDD_c9(void)
\r
{
\r
CHECK_TRAY_OPEN
\r
CHECK_CD_PRESENT
\r
{
\r
CHECK_TRAY_OPEN
\r
CHECK_CD_PRESENT
\r
@@
-655,14
+649,14
@@
int Fast_Rewind_CDD_c9(void)
}
\r
\r
\r
}
\r
\r
\r
-int Close_Tray_CDD_cC(void)
\r
+
PICO_INTERNAL
int Close_Tray_CDD_cC(void)
\r
{
\r
CD_Present = 0;
\r
//Clear_Sound_Buffer();
\r
\r
Pico_mcd->scd.Status_CDC &= ~1; // Stop CDC read
\r
\r
{
\r
CD_Present = 0;
\r
//Clear_Sound_Buffer();
\r
\r
Pico_mcd->scd.Status_CDC &= ~1; // Stop CDC read
\r
\r
-
printf(
"tray close\n");
\r
+
elprintf(EL_STATUS,
"tray close\n");
\r
\r
if (PicoMCDcloseTray != NULL)
\r
CD_Present = PicoMCDcloseTray();
\r
\r
if (PicoMCDcloseTray != NULL)
\r
CD_Present = PicoMCDcloseTray();
\r
@@
-681,13
+675,13
@@
int Close_Tray_CDD_cC(void)
}
\r
\r
\r
}
\r
\r
\r
-int Open_Tray_CDD_cD(void)
\r
+
PICO_INTERNAL
int Open_Tray_CDD_cD(void)
\r
{
\r
CHECK_TRAY_OPEN
\r
\r
Pico_mcd->scd.Status_CDC &= ~1; // Stop CDC read
\r
\r
{
\r
CHECK_TRAY_OPEN
\r
\r
Pico_mcd->scd.Status_CDC &= ~1; // Stop CDC read
\r
\r
-
printf(
"tray open\n");
\r
+
elprintf(EL_STATUS,
"tray open\n");
\r
\r
Unload_ISO();
\r
CD_Present = 0;
\r
\r
Unload_ISO();
\r
CD_Present = 0;
\r
@@
-709,7
+703,7
@@
int Open_Tray_CDD_cD(void)
}
\r
\r
\r
}
\r
\r
\r
-int CDD_cA(void)
\r
+
PICO_INTERNAL
int CDD_cA(void)
\r
{
\r
CHECK_TRAY_OPEN
\r
CHECK_CD_PRESENT
\r
{
\r
CHECK_TRAY_OPEN
\r
CHECK_CD_PRESENT
\r
@@
-730,7
+724,7
@@
int CDD_cA(void)
}
\r
\r
\r
}
\r
\r
\r
-int CDD_Def(void)
\r
+
PICO_INTERNAL
int CDD_Def(void)
\r
{
\r
Pico_mcd->cdd.Status = Pico_mcd->scd.Status_CDD;
\r
\r
{
\r
Pico_mcd->cdd.Status = Pico_mcd->scd.Status_CDD;
\r
\r