all repos — mgba @ 380bc189c3d49a38ba294faaa80c6840d49febd0

mGBA Game Boy Advance Emulator

GBA I/O: Fix reading from a few invalid I/O registers (fixes #876)
Vicki Pfau vi@endrift.com
Wed, 20 Sep 2017 18:51:29 -0700
commit

380bc189c3d49a38ba294faaa80c6840d49febd0

parent

2c3adf2668b30576ee65c738f7ac75deefa29be3

2 files changed, 12 insertions(+), 8 deletions(-)

jump to
M CHANGESCHANGES

@@ -27,6 +27,7 @@ - GBA Savedata: Fix 512 byte EEPROM saving as 8kB (fixes mgba.io/i/877)

- SDL: Fix potential race condition when pressing keys (fixes mgba.io/i/872) - GBA: Fix keypad IRQs not firing when extra buttons are pressed - GBA Video: Fix broken sprite blending hack (fixes mgba.io/i/532) + - GBA I/O: Fix reading from a few invalid I/O registers (fixes mgba.io/i/876) Misc: - Qt: Don't rebuild library view if style hasn't changed - SDL: Fix 2.0.5 build on macOS under some circumstances
M src/gba/io.csrc/gba/io.c

@@ -889,14 +889,17 @@ // Handled transparently by registers

break; case REG_MAX: // Some bad interrupt libraries will read from this - break; - case 0x66: - case 0x6E: - case 0x76: - case 0x7A: - case 0x7E: - case 0x86: - case 0x8A: + case 0x066: + case 0x06E: + case 0x076: + case 0x07A: + case 0x07E: + case 0x086: + case 0x08A: + case 0x136: + case 0x142: + case 0x15A: + case 0x206: mLOG(GBA_IO, GAME_ERROR, "Read from unused I/O register: %03X", address); return 0; case REG_DEBUG_ENABLE: