all repos — mgba @ d5bf63caa832e6daed785b00f690d58f5f5fef5a

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

d5bf63caa832e6daed785b00f690d58f5f5fef5a

parent

4ee338e5210dbe61f511e23ccc1f83109e691c7c

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

jump to
M CHANGESCHANGES

@@ -41,6 +41,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: - GBA Timer: Use global cycles for timers - GBA: Extend oddly-sized ROMs to full address space (fixes mgba.io/i/722)
M src/gba/io.csrc/gba/io.c

@@ -890,14 +890,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: