diff options
Diffstat (limited to 'libpcsxcore/cdrom.c')
| -rw-r--r-- | libpcsxcore/cdrom.c | 15 |
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) { |
