X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=libpcsxcore%2Fcdrom.c;h=bcf83e71f8baa272047acbc1ec0233597df02f66;hb=6320e9bf2cb2e02dabae682385d5fa9410114c9d;hp=3117a9bd622cd27f0a71da5c86949aa2d31e824e;hpb=a2d3ccb80003794a38ee9183b6f01de189beaff0;p=pcsx_rearmed.git diff --git a/libpcsxcore/cdrom.c b/libpcsxcore/cdrom.c index 3117a9bd..bcf83e71 100644 --- a/libpcsxcore/cdrom.c +++ b/libpcsxcore/cdrom.c @@ -298,13 +298,14 @@ static void Check_Shell( int Irq ) { // Vib Ribbon: pre-CD swap StopCdda(); + StopReading(); // GameShark Lite: Death if DiskError happens // // Vib Ribbon: Needs DiskError for CD swap - if (Irq != CdlNop) + //if (Irq != CdlNop) { cdr.Stat = DiskError; @@ -852,11 +853,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 +942,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)