diff --git a/CHANGES b/CHANGES index 54bfc80e9..a39d04d73 100644 --- a/CHANGES +++ b/CHANGES @@ -25,6 +25,7 @@ Bugfixes: - ARM7: Implement undefined STRH/LDRH/LDRSH/LDRSB versions - ARM7: Fix bank switching with LDR[B]T/STR[B]T - Qt: Fix crash when closing multiplayer windows + - GBA Video: Fix OAM and palette initialization Misc: - GBA Audio: Implement missing flags on SOUNDCNT_X register - Qt: Add mute option to menu diff --git a/src/gba/video.c b/src/gba/video.c index 665ee6c80..c8d1fa1c2 100644 --- a/src/gba/video.c +++ b/src/gba/video.c @@ -87,13 +87,8 @@ void GBAVideoReset(struct GBAVideo* video) { video->vram = anonymousMemoryMap(SIZE_VRAM); video->renderer->vram = video->vram; - int i; - for (i = 0; i < 128; ++i) { - STORE_16(0x0200, i * 8 + 0, video->oam.raw); - STORE_16(0x0000, i * 8 + 2, video->oam.raw); - STORE_16(0x0000, i * 8 + 4, video->oam.raw); - STORE_16(0x0000, i * 8 + 6, video->oam.raw); - } + memset(video->palette, 0, sizeof(video->palette)); + memset(video->oam.raw, 0, sizeof(video->oam.raw)); video->renderer->deinit(video->renderer); video->renderer->init(video->renderer);