summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-06-08 01:35:47 +0000
committerSND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-06-08 01:35:47 +0000
commitf7d110c7a0ec03491e9fedc70d72a034a4b3dfe8 (patch)
treef74a433a37e5e3940705a0f9aa3ac6241a83f71c
parent6500edc4bc71beb9c988c54de1a37046f321d5b3 (diff)
downloadpcsxr-f7d110c7a0ec03491e9fedc70d72a034a4b3dfe8.tar.gz
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@51475 e17a0e51-4ae3-4d35-97c3-1a29b211df97
-rw-r--r--ChangeLog10
-rw-r--r--libpcsxcore/cdrom.c18
-rw-r--r--libpcsxcore/cdrom.h10
-rw-r--r--libpcsxcore/misc.c2
-rw-r--r--libpcsxcore/plugins.c4
-rw-r--r--libpcsxcore/plugins.h6
6 files changed, 34 insertions, 16 deletions
diff --git a/ChangeLog b/ChangeLog
index 218ccb10..191606af 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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);