Skip to content

Commit

Permalink
Fix for SA-1 side DMA to BWRAM banks 0x41+ (#1687)
Browse files Browse the repository at this point in the history
DDA was incorrectly capped at 16 bits instead of 24, making DMAs to
BWRAM banks 0x41-43 be sent to the corresponding spot in 0x40 instead.
See [the corresponding bug in
bsnes](bsnes-emu/bsnes#309) for some more
context.
  • Loading branch information
Fernap authored Nov 2, 2024
1 parent c287c1b commit 8111bf3
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion ares/sfc/coprocessor/sa1/dma.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ auto SA1::dmaNormal() -> void {
while(io.dtc--) {
n8 data = r.mdr;
n24 source = io.dsa++;
n16 target = io.dda++;
n24 target = io.dda++;

if(io.sd == DMA::SourceROM && io.dd == DMA::DestBWRAM) {
step();
Expand Down

0 comments on commit 8111bf3

Please sign in to comment.