cdrom: don't read and play simultaneously
[pcsx_rearmed.git] / libpcsxcore / cdrom.c
index ea97308..00e65a5 100644 (file)
@@ -686,6 +686,7 @@ void cdrInterrupt() {
                        ReadTrack(cdr.SetSectorPlay);
                        cdr.TrackChanged = FALSE;
 
+                       StopReading();
                        if (!Config.Cdda)
                                CDR_play(cdr.SetSectorPlay);
 
@@ -1281,8 +1282,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;
@@ -1378,7 +1379,6 @@ unsigned char cdrRead2(void) {
        unsigned char ret;
 
        if (cdr.Readed == 0) {
-               cdr.OCUP = 0;
                ret = 0;
        } else {
                ret = *pTransfer++;