all repos — mgba @ 16e4b0ed4ba5ae2a08db46a1823290d53796960c

mGBA Game Boy Advance Emulator

GBA BIOS: Implement RegisterRamReset for SIO registers
Jeffrey Pfau jeffrey@endrift.com
Wed, 16 Sep 2015 20:25:39 -0700
commit

16e4b0ed4ba5ae2a08db46a1823290d53796960c

parent

ad1313fd43fa0c8e059a2d8eef0bbe332fbdbedf

2 files changed, 7 insertions(+), 1 deletions(-)

jump to
M CHANGESCHANGES

@@ -20,6 +20,7 @@ - ARM7: Force disable LTO on two files to work around a GCC bug

- Qt: Prevent savestate window from opening while in multiplayer - Qt: Disable menu items in multiplayer that don't make sense to have enabled - Qt: Dropping multiplayer windows works more cleanly now + - GBA BIOS: Implement RegisterRamReset for SIO registers 0.3.0: (2015-08-16) Features:
M src/gba/bios.csrc/gba/bios.c

@@ -63,7 +63,12 @@ if (registers & 0x10) {

memset(gba->video.oam.raw, 0, SIZE_OAM); } if (registers & 0x20) { - GBALog(gba, GBA_LOG_STUB, "RegisterRamReset on SIO unimplemented"); + cpu->memory.store16(cpu, BASE_IO | REG_SIOCNT, 0x0000, 0); + cpu->memory.store16(cpu, BASE_IO | REG_RCNT, RCNT_INITIAL, 0); + cpu->memory.store16(cpu, BASE_IO | REG_SIOMLT_SEND, 0, 0); + cpu->memory.store16(cpu, BASE_IO | REG_JOYCNT, 0, 0); + cpu->memory.store32(cpu, BASE_IO | REG_JOY_RECV, 0, 0); + cpu->memory.store32(cpu, BASE_IO | REG_JOY_TRANS, 0, 0); } if (registers & 0x40) { GBALog(gba, GBA_LOG_STUB, "RegisterRamReset on Audio unimplemented");