Merge pull request #665 from QuarkTheAwesome/libretro-merge-be
[pcsx_rearmed.git] / libpcsxcore / cdrom.c
index e6692e9..5a556a0 100644 (file)
@@ -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;
                        }