From f7d110c7a0ec03491e9fedc70d72a034a4b3dfe8 Mon Sep 17 00:00:00 2001 From: "SND\\weimingzhi_cp" Date: Tue, 8 Jun 2010 01:35:47 +0000 Subject: git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@51475 e17a0e51-4ae3-4d35-97c3-1a29b211df97 --- libpcsxcore/cdrom.c | 18 +++++++++--------- libpcsxcore/cdrom.h | 10 +++++----- libpcsxcore/misc.c | 2 +- libpcsxcore/plugins.c | 4 ++++ libpcsxcore/plugins.h | 6 +++++- 5 files changed, 24 insertions(+), 16 deletions(-) (limited to 'libpcsxcore') diff --git a/libpcsxcore/cdrom.c b/libpcsxcore/cdrom.c index 9aa297c9..c82029a2 100644 --- a/libpcsxcore/cdrom.c +++ b/libpcsxcore/cdrom.c @@ -120,7 +120,7 @@ static struct SubQ *subq; if (cdr.Play) { \ if (!Config.Cdda) CDR_stop(); \ cdr.StatP &= ~0x80; \ - cdr.Play = 0; \ + cdr.Play = FALSE; \ } \ } @@ -429,7 +429,7 @@ void cdrInterrupt() { cdr.Result[0] = cdr.StatP; cdr.StatP |= 0x40; cdr.Stat = Acknowledge; - cdr.Seeked = 1; + cdr.Seeked = TRUE; AddIrqQueue(CdlSeekL + 0x20, 0x1000); break; @@ -548,9 +548,9 @@ void cdrInterrupt() { SetResultSize(1); cdr.StatP |= 0x2; cdr.Result[0] = cdr.StatP; - if (cdr.Seeked == 0) { - cdr.Seeked = 1; - cdr.StatP|= 0x40; + if (!cdr.Seeked) { + cdr.Seeked = TRUE; + cdr.StatP |= 0x40; } cdr.StatP |= 0x20; cdr.Stat = Acknowledge; @@ -790,7 +790,7 @@ void cdrWrite1(unsigned char rt) { case CdlSetloc: StopReading(); - cdr.Seeked = 0; + cdr.Seeked = FALSE; for (i = 0; i < 3; i++) cdr.SetSector[i] = btoi(cdr.Param[i]); cdr.SetSector[3] = 0; @@ -817,7 +817,7 @@ void cdrWrite1(unsigned char rt) { } else if (!Config.Cdda) { CDR_play(cdr.SetSector); } - cdr.Play = 1; + cdr.Play = TRUE; cdr.Ctrl |= 0x80; cdr.Stat = NoIntr; AddIrqQueue(cdr.Cmd, 0x1000); @@ -881,14 +881,14 @@ void cdrWrite1(unsigned char rt) { break; case CdlMute: - cdr.Muted = 1; + cdr.Muted = TRUE; cdr.Ctrl |= 0x80; cdr.Stat = NoIntr; AddIrqQueue(cdr.Cmd, 0x1000); break; case CdlDemute: - cdr.Muted = 0; + cdr.Muted = FALSE; cdr.Ctrl |= 0x80; cdr.Stat = NoIntr; AddIrqQueue(cdr.Cmd, 0x1000); diff --git a/libpcsxcore/cdrom.h b/libpcsxcore/cdrom.h index 690ed495..c5d448cd 100644 --- a/libpcsxcore/cdrom.h +++ b/libpcsxcore/cdrom.h @@ -65,16 +65,16 @@ typedef struct { unsigned char ResultReady; unsigned char Cmd; unsigned char Readed; - unsigned long Reading; + u32 Reading; unsigned char ResultTN[6]; unsigned char ResultTD[4]; unsigned char SetSector[4]; unsigned char SetSectorSeek[4]; unsigned char Track; - int Play; + boolean Play, Muted; int CurTrack; - int Mode, File, Channel, Muted; + int Mode, File, Channel; int Reset; int RErr; int FirstSector; @@ -84,9 +84,9 @@ typedef struct { int Init; unsigned char Irq; - unsigned long eCycle; + u32 eCycle; - int Seeked; + boolean Seeked; } cdrStruct; extern cdrStruct cdr; diff --git a/libpcsxcore/misc.c b/libpcsxcore/misc.c index 9db4a6a2..8d99ef91 100644 --- a/libpcsxcore/misc.c +++ b/libpcsxcore/misc.c @@ -456,7 +456,7 @@ static const char PcsxHeader[32] = "STv4 PCSX v" PACKAGE_VERSION; // Savestate Versioning! // If you make changes to the savestate version, please increment the value below. -static const u32 SaveVersion = SWAPu32(0x8b410002); +static const u32 SaveVersion = SWAPu32(0x8b410003); int SaveState(const char *file) { gzFile f; diff --git a/libpcsxcore/plugins.c b/libpcsxcore/plugins.c index 55e51206..91a199ef 100644 --- a/libpcsxcore/plugins.c +++ b/libpcsxcore/plugins.c @@ -67,6 +67,8 @@ CDRgetBufferSub CDR_getBufferSub; CDRconfigure CDR_configure; CDRabout CDR_about; CDRsetfilename CDR_setfilename; +CDRreadCDDA CDR_readCDDA; +CDRgetTE CDR_getTE; SPUconfigure SPU_configure; SPUabout SPU_about; @@ -273,6 +275,8 @@ static int LoadCDRplugin(const char *CDRdll) { LoadCdrSym0(test, "CDRtest"); LoadCdrSym0(about, "CDRabout"); LoadCdrSym0(setfilename, "CDRsetfilename"); + LoadCdrSymN(readCDDA, "CDRreadCDDA"); + LoadCdrSymN(getTE, "CDRgetTE"); return 0; } diff --git a/libpcsxcore/plugins.h b/libpcsxcore/plugins.h index 6658bf45..7039e68f 100644 --- a/libpcsxcore/plugins.h +++ b/libpcsxcore/plugins.h @@ -120,7 +120,7 @@ typedef long (CALLBACK* CDRshutdown)(void); typedef long (CALLBACK* CDRopen)(void); typedef long (CALLBACK* CDRclose)(void); typedef long (CALLBACK* CDRgetTN)(unsigned char *); -typedef long (CALLBACK* CDRgetTD)(unsigned char , unsigned char *); +typedef long (CALLBACK* CDRgetTD)(unsigned char, unsigned char *); typedef long (CALLBACK* CDRreadTrack)(unsigned char *); typedef unsigned char* (CALLBACK* CDRgetBuffer)(void); typedef unsigned char* (CALLBACK* CDRgetBufferSub)(void); @@ -147,6 +147,8 @@ struct SubQ { unsigned char AbsoluteAddress[3]; char res1[72]; }; +typedef long (CALLBACK* CDRreadCDDA)(unsigned char, unsigned char, unsigned char, unsigned char *); +typedef long (CALLBACK* CDRgetTE)(unsigned char, unsigned char *, unsigned char *, unsigned char *); // CD-ROM function pointers extern CDRinit CDR_init; @@ -166,6 +168,8 @@ extern CDRgetDriveLetter CDR_getDriveLetter; extern CDRconfigure CDR_configure; extern CDRabout CDR_about; extern CDRsetfilename CDR_setfilename; +extern CDRreadCDDA CDR_readCDDA; +extern CDRgetTE CDR_getTE; // SPU Functions typedef long (CALLBACK* SPUinit)(void); -- cgit v1.2.3