summaryrefslogtreecommitdiff
path: root/libpcsxcore/cdrom.c
diff options
context:
space:
mode:
Diffstat (limited to 'libpcsxcore/cdrom.c')
-rw-r--r--libpcsxcore/cdrom.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/libpcsxcore/cdrom.c b/libpcsxcore/cdrom.c
index b22946b1..abc431dc 100644
--- a/libpcsxcore/cdrom.c
+++ b/libpcsxcore/cdrom.c
@@ -485,6 +485,12 @@ static void ReadTrack( u8 *time ) {
cdr.RErr = CDR_readTrack(cdr.Prev);
}
+
+extern int opensbifile(const char *isoname);
+extern int cdrIsoActive(void);
+extern int checkSBI(u8 *time);
+
+
void AddIrqQueue(unsigned char irq, unsigned long ecycle) {
cdr.Irq = irq;
cdr.eCycle = ecycle;
@@ -1104,6 +1110,11 @@ void cdrInterrupt() {
}
}
+ // redump.org - wipe time
+ if( !cdr.Play && checkSBI(cdr.Result+5) ) {
+ memset( cdr.Result+2, 0, 6 );
+ }
+
cdr.Stat = Acknowledge;
break;
@@ -2159,6 +2170,10 @@ void cdrReset() {
cdr.CurTrack = 1;
cdr.File = 1;
cdr.Channel = 1;
+
+ if( !cdrIsoActive() ) {
+ opensbifile( "redump.sbi" );
+ }
}
int cdrFreeze(gzFile f, int Mode) {