X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=libpcsxcore%2Fcdrom.c;h=b3e238b666105662be049e71ff2d1a24936ae1fa;hb=ee8fd5674f74f307878f2dabef7641a837fb2a99;hp=08bee4f6fcc5e3bf150c9f09f34db0ab4da04b42;hpb=3c2583a68d3c53f0a2ba62a70ca10bb80bd2357a;p=pcsx_rearmed.git diff --git a/libpcsxcore/cdrom.c b/libpcsxcore/cdrom.c index 08bee4f6..b3e238b6 100644 --- a/libpcsxcore/cdrom.c +++ b/libpcsxcore/cdrom.c @@ -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)