From 3bded6d039240472107d98ff0e95d4c17cc62cbc Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Thu, 20 Feb 2020 18:11:01 -0800 Subject: [PATCH] GBA Hardware: Increase e-Reader scanning stability --- src/gba/hardware.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/gba/hardware.c b/src/gba/hardware.c index ca0fd1532..423afc0ea 100644 --- a/src/gba/hardware.c +++ b/src/gba/hardware.c @@ -981,9 +981,8 @@ void _eReaderWriteControl0(struct GBACartridgeHardware* hw, uint8_t value) { if (!EReaderControl0IsScan(oldControl) && EReaderControl0IsScan(control)) { hw->eReaderX = 0; hw->eReaderY = 0; + } else if (EReaderControl0IsLedEnable(control) && EReaderControl0IsScan(control) && !EReaderControl1IsScanline(hw->eReaderRegisterControl1)) { _eReaderReadData(hw); - } else if (EReaderControl0IsLedEnable(control) && EReaderControl1IsScanline(hw->eReaderRegisterControl1)) { - GBARaiseIRQ(hw->p, IRQ_GAMEPAK, 0); } mLOG(GBA_HW, STUB, "Unimplemented e-Reader Control0 write: %02X", value); } @@ -996,7 +995,7 @@ void _eReaderWriteControl1(struct GBACartridgeHardware* hw, uint8_t value) { if (hw->eReaderY == (hw->eReaderSerial[0x15] | (hw->eReaderSerial[0x14] << 8))) { hw->eReaderY = 0; if (hw->eReaderX < 3400) { - hw->eReaderX += 225; + hw->eReaderX += 220; } } _eReaderReadData(hw);