all repos — mgba @ 040bd516c7b6b1d798a526fc2c9a93436c8018d7

mGBA Game Boy Advance Emulator

GBA DMA: Fix DMA0-2 lengths (fixes #1344)
Vicki Pfau vi@endrift.com
Sat, 09 Mar 2019 11:31:38 -0800
commit

040bd516c7b6b1d798a526fc2c9a93436c8018d7

parent

c6d31bd9549ecefc982da923cca0de47fdd7b490

2 files changed, 4 insertions(+), 3 deletions(-)

jump to
M CHANGESCHANGES

@@ -1,6 +1,7 @@

0.7.2: (Future) Emulation fixes: - GBA Video: Fix scanline cache with scale factor change edge cases + - GBA DMA: Fix DMA0-2 lengths (fixes mgba.io/i/1344) Other fixes: - Qt: More app metadata fixes - Qt: Fix load recent from archive (fixes mgba.io/i/1325)
M src/gba/io.csrc/gba/io.c

@@ -461,19 +461,19 @@ GBAIOWrite32(gba, address - 2, gba->memory.io[(address >> 1) - 1] | (value << 16));

break; case REG_DMA0CNT_LO: - GBADMAWriteCNT_LO(gba, 0, value); + GBADMAWriteCNT_LO(gba, 0, value & 0x3FFF); break; case REG_DMA0CNT_HI: value = GBADMAWriteCNT_HI(gba, 0, value); break; case REG_DMA1CNT_LO: - GBADMAWriteCNT_LO(gba, 1, value); + GBADMAWriteCNT_LO(gba, 1, value & 0x3FFF); break; case REG_DMA1CNT_HI: value = GBADMAWriteCNT_HI(gba, 1, value); break; case REG_DMA2CNT_LO: - GBADMAWriteCNT_LO(gba, 2, value); + GBADMAWriteCNT_LO(gba, 2, value & 0x3FFF); break; case REG_DMA2CNT_HI: value = GBADMAWriteCNT_HI(gba, 2, value);