X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=libpcsxcore%2Fcdrom.c;h=034e6577e16d7ec8752f5df419d6a657ef932cad;hb=968795e31448884c2e46b5f4518a4cbe8ba7dac2;hp=c96eac76f0306c3ce6c0b6908159dfa739f575d6;hpb=cd0c9f5b179b2fac3397cb4aa1de1509247a27d0;p=pcsx_rearmed.git diff --git a/libpcsxcore/cdrom.c b/libpcsxcore/cdrom.c index c96eac76..034e6577 100644 --- a/libpcsxcore/cdrom.c +++ b/libpcsxcore/cdrom.c @@ -852,11 +852,6 @@ void cdrInterrupt() { break; case CdlGetTN: - // 5-Star Racing: don't stop CDDA - // - // Vib Ribbon: CD swap - StopReading(); - cdr.CmdProcess = 0; SetResultSize(3); cdr.StatP |= STATUS_ROTATING; @@ -946,9 +941,9 @@ void cdrInterrupt() { cdr.Result[2] = 0; cdr.Result[3] = 0; - // 0x10 - audio | 0x80 - unlicensed - if (CDR_getStatus(&stat) == -1) { - cdr.Result[1] = 0x80; // 0x80 leads to the menu in the bios, else loads CD + // 0x10 - audio | 0x40 - disk missing | 0x80 - unlicensed + if (CDR_getStatus(&stat) == -1 || stat.Type == 0 || stat.Type == 0xff) { + cdr.Result[1] = 0xc0; } else { if (stat.Type == 2) @@ -1630,6 +1625,8 @@ void cdrReset() { cdr.CurTrack = 1; cdr.File = 1; cdr.Channel = 1; + cdr.Reg2 = 0x1f; + cdr.Stat = NoIntr; pTransfer = cdr.Transfer; // BIOS player - default values