diff options
| author | SND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2010-06-08 01:35:47 +0000 |
|---|---|---|
| committer | SND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2010-06-08 01:35:47 +0000 |
| commit | f7d110c7a0ec03491e9fedc70d72a034a4b3dfe8 (patch) | |
| tree | f74a433a37e5e3940705a0f9aa3ac6241a83f71c | |
| parent | 6500edc4bc71beb9c988c54de1a37046f321d5b3 (diff) | |
| download | pcsxr-f7d110c7a0ec03491e9fedc70d72a034a4b3dfe8.tar.gz | |
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@51475 e17a0e51-4ae3-4d35-97c3-1a29b211df97
| -rw-r--r-- | ChangeLog | 10 | ||||
| -rw-r--r-- | libpcsxcore/cdrom.c | 18 | ||||
| -rw-r--r-- | libpcsxcore/cdrom.h | 10 | ||||
| -rw-r--r-- | libpcsxcore/misc.c | 2 | ||||
| -rw-r--r-- | libpcsxcore/plugins.c | 4 | ||||
| -rw-r--r-- | libpcsxcore/plugins.h | 6 |
6 files changed, 34 insertions, 16 deletions
@@ -1,3 +1,13 @@ +Jun 7, 2010 Wei Mingzhi <whistler_wmz@users.sf.net> + + * libpcsxcore/cdrom.c: Use boolean/TRUE/FALSE for where it should, don't use + "long" type for cdrStruct which is to be saved in savestates. + * libpcsxcore/cdrom.h: Likewise. + * libpcsxcore/misc.c: Bumped savestate version. + * libpcsxcore/plugins.c: Added support for CDRreadCDDA()/CDRgetTE() (not used + for now). + * libpcsxcore/plugins.h: Likewise. + Jun 6, 2010 Wei Mingzhi <whistler_wmz@users.sf.net> * libpcsxcore/sio.c: Fixed: 'y' and 'z' not converted to half-width. 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);
|
