X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=libpcsxcore%2Fcdrom.c;h=c82b6dafc9e6ab0e599ccbf9d3d6d07ed1801aba;hp=0de7ecce0f46a98dda9882caa5286fc5f72bc5ed;hb=a48ae3a7decaae1f0bbc45fb0ce37e030fd5357b;hpb=122289173e2732c71a03584d6a34a0382725f020 diff --git a/libpcsxcore/cdrom.c b/libpcsxcore/cdrom.c index 0de7ecce..c82b6daf 100644 --- a/libpcsxcore/cdrom.c +++ b/libpcsxcore/cdrom.c @@ -988,10 +988,9 @@ void cdrInterrupt() { } // redump.org - wipe time - /*if( !cdr.Play && CheckSBI(cdr.Result+5) ) { + if( !cdr.Play && CheckSBI(cdr.Result+5) ) { memset( cdr.Result+2, 0, 6 ); } - */ cdr.Stat = Acknowledge; break; @@ -1217,7 +1216,8 @@ void cdrInterrupt() { // - fixes cutscene speech { u8 *buf = CDR_getBuffer(); - memcpy(cdr.Transfer, buf, 8); + if (buf != NULL) + memcpy(cdr.Transfer, buf, 8); } @@ -1331,11 +1331,14 @@ void cdrReadInterrupt() { SPU_playADPCMchannel(&cdr.Xa); cdr.FirstSector = 0; - +#if 0 // Crash Team Racing: music, speech + // - done using cdda decoded buffer (spu irq) + // - don't do here // signal ADPCM data ready psxHu32ref(0x1070) |= SWAP32((u32)0x200); +#endif } else cdr.FirstSector = -1; } @@ -1898,11 +1901,10 @@ void cdrWrite3(unsigned char rt) { // - Final Fantasy Tactics // - various other games - /* + if (cdr.Irq) // rearmed guesswork hack if (cdr.Reading && !cdr.ResultReady) { CDREAD_INT((cdr.Mode & MODE_SPEED) ? (cdReadTime / 2) : cdReadTime); } - */ return; }