psxbios: use noninvasive print for -psxout
[pcsx_rearmed.git] / libpcsxcore / cdrom.c
index 42f13af..b3e238b 100644 (file)
@@ -711,7 +711,7 @@ void cdrInterrupt(void) {
                        // MM must be BCD, SS must be BCD and <0x60, FF must be BCD and <0x75
                        if (((cdr.Param[0] & 0x0F) > 0x09) || (cdr.Param[0] > 0x99) || ((cdr.Param[1] & 0x0F) > 0x09) || (cdr.Param[1] >= 0x60) || ((cdr.Param[2] & 0x0F) > 0x09) || (cdr.Param[2] >= 0x75))
                        {
-                               CDR_LOG("Invalid/out of range seek to %02X:%02X:%02X\n", cdr.Param[0], cdr.Param[1], cdr.Param[2]);
+                               CDR_LOG_I("Invalid/out of range seek to %02X:%02X:%02X\n", cdr.Param[0], cdr.Param[1], cdr.Param[2]);
                                error = ERROR_INVALIDARG;
                                goto set_error;
                        }
@@ -1006,6 +1006,7 @@ void cdrInterrupt(void) {
                case CdlSeekL + CMD_PART2:
                case CdlSeekP + CMD_PART2:
                        SetPlaySeekRead(cdr.StatP, 0);
+                       cdr.Result[0] = cdr.StatP;
                        cdr.Stat = Complete;
 
                        Find_CurTrack(cdr.SetSectorPlay);
@@ -1091,6 +1092,9 @@ void cdrInterrupt(void) {
 
                case CdlReadN:
                case CdlReadS:
+                       if (cdr.Reading && !cdr.SetlocPending)
+                               break;
+
                        Find_CurTrack(cdr.SetlocPending ? cdr.SetSector : cdr.SetSectorPlay);
 
                        if ((cdr.Mode & MODE_CDDA) && cdr.CurTrack > 1)
@@ -1514,7 +1518,7 @@ void psxDma3(u32 madr, u32 bcr, u32 chcr) {
        switch (chcr & 0x71000000) {
                case 0x11000000:
                        ptr = (u8 *)PSXM(madr);
-                       if (ptr == NULL) {
+                       if (ptr == INVALID_PTR) {
                                CDR_LOG_I("psxDma3() Log: *** DMA 3 *** NULL Pointer!\n");
                                break;
                        }