GB Memory: Fix starting HDMAs during mode 0
Jeffrey Pfau jeffrey@endrift.com
Thu, 03 Nov 2016 13:26:33 -0700
2 files changed,
2 insertions(+),
1 deletions(-)
M
CHANGES
→
CHANGES
@@ -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.c
→
src/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;