From 657d601ffa80d8f1f034c44d0aaf84010fa36e5f Mon Sep 17 00:00:00 2001 From: gameblabla Date: Mon, 7 Feb 2022 19:17:34 +0000 Subject: [PATCH 1/1] clear Index0 data FIFO flag (#241) Merge PCSX Redux fix. This is what he had to say about it : "So, this commit works around/fixes two issues with loading unirom. There's a fix for logging invalid commands which should be pretty straight forward. The other change is around the FIFO flag. Not really experienced with debugging/verifying this sort of thing so not feeling really confident the change is "right", though every game I've tried so far still seem to work as expected. There's still something going on with not having an iso mounted that I haven't quite nailed down. Even having the iso mounted with "lid open" gives a bootable result. Feel like I'm going in circles a bit for something that might be an easy fix. Unirom is technically usable via ISO, but the unirom exe freezes if no iso is loaded" Co-authored-by: johnbaumann <76951440+johnbaumann@users.noreply.github.com> --- libpcsxcore/cdrom.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libpcsxcore/cdrom.c b/libpcsxcore/cdrom.c index 1646d0ed..e6692e9b 100644 --- a/libpcsxcore/cdrom.c +++ b/libpcsxcore/cdrom.c @@ -1279,8 +1279,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; @@ -1375,6 +1375,7 @@ unsigned char cdrRead2(void) { unsigned char ret; if (cdr.Readed == 0) { + cdr.OCUP = 0; ret = 0; } else { ret = *pTransfer++; -- 2.39.2