X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=libpcsxcore%2Fcdrom.c;h=5a556a0a1f5b09fccae4516be26002ff77fe1359;hb=6fe8a1d4501485790b5a58f1a4c62130dd70afb4;hp=e6692e9bcfa9fe7ed28be3f99298f7c0fa08e7c9;hpb=657d601ffa80d8f1f034c44d0aaf84010fa36e5f;p=pcsx_rearmed.git diff --git a/libpcsxcore/cdrom.c b/libpcsxcore/cdrom.c index e6692e9b..5a556a0a 100644 --- a/libpcsxcore/cdrom.c +++ b/libpcsxcore/cdrom.c @@ -686,6 +686,7 @@ void cdrInterrupt() { ReadTrack(cdr.SetSectorPlay); cdr.TrackChanged = FALSE; + StopReading(); if (!Config.Cdda) CDR_play(); @@ -1279,8 +1280,8 @@ unsigned char cdrRead0(void) { if (cdr.OCUP) cdr.Ctrl |= 0x40; - else - cdr.Ctrl &= ~0x40; +// else +// cdr.Ctrl &= ~0x40; // What means the 0x10 and the 0x08 bits? I only saw it used by the bios cdr.Ctrl |= 0x18; @@ -1375,7 +1376,6 @@ unsigned char cdrRead2(void) { unsigned char ret; if (cdr.Readed == 0) { - cdr.OCUP = 0; ret = 0; } else { ret = *pTransfer++; @@ -1492,7 +1492,7 @@ void psxDma3(u32 madr, u32 bcr, u32 chcr) { ptr = (u8 *)PSXM(madr); - if (ptr == NULL) { + if (ptr == INVALID_PTR) { CDR_LOG("psxDma3() Log: *** DMA 3 *** NULL Pointer!\n"); break; }