all repos — mgba @ d68a21fc26d23e87931eac01e9e8a74c964fe51c

mGBA Game Boy Advance Emulator

GB Memory: Fix starting HDMAs during mode 0
Jeffrey Pfau jeffrey@endrift.com
Thu, 03 Nov 2016 13:26:33 -0700
commit

d68a21fc26d23e87931eac01e9e8a74c964fe51c

parent

8c76d0c7f9f50c0e9667e2fb83538fa1e65bb40e

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

jump to
M CHANGESCHANGES

@@ -26,6 +26,7 @@ - GB: Fix audio not being deinitialized

- GBA Memory: Fix VCOUNT being writable - GBA Memory: Improve initial skipped BIOS state - Qt: Only reset window dimensions when first shown + - GB Memory: Fix starting HDMAs during mode 0 Misc: - SDL: Remove scancode key input - GBA Video: Clean up unused timers
M src/gb/memory.csrc/gb/memory.c

@@ -394,7 +394,7 @@ gb->memory.hdmaDest &= 0x1FF0;

gb->memory.hdmaDest |= 0x8000; bool wasHdma = gb->memory.isHdma; gb->memory.isHdma = value & 0x80; - if (!wasHdma && !gb->memory.isHdma) { + if ((!wasHdma && !gb->memory.isHdma) || gb->video.mode == 0) { gb->memory.hdmaRemaining = ((value & 0x7F) + 1) * 0x10; gb->memory.hdmaNext = gb->cpu->cycles; gb->cpu->nextEvent = gb->cpu->cycles;