From 50ae51487697da0d2f9c93295f89d2f10694b6d8 Mon Sep 17 00:00:00 2001 From: gameblabla Date: Mon, 7 Feb 2022 19:17:34 +0000 Subject: [PATCH] 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 191a7373..ea973081 100644 --- a/libpcsxcore/cdrom.c +++ b/libpcsxcore/cdrom.c @@ -1281,8 +1281,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; @@ -1378,6 +1378,7 @@ unsigned char cdrRead2(void) { unsigned char ret; if (cdr.Readed == 0) { + cdr.OCUP = 0; ret = 0; } else { ret = *pTransfer++; -- 2.39.5