fix repeating dma. the incremented source and dest address werent being written back into the internal dma control variables. this fixes nsmb parallaxing backgrounds. we still have a rather large BUG in that the updated dma registers can't be read back by the game software. wait until next version to retool the dma control logic.
This commit is contained in:
parent
7ba70e0b9d
commit
93af0a8e36
|
@ -22,6 +22,7 @@
|
|||
- Add secure area decryption from ndstool [zeromus]
|
||||
- change backupmem autodetection to catch more cases of unusual usage patterns [zeromus]
|
||||
- Fixed Thumb LDMIA (fixes ingame Dead'n'Furious) [shash]
|
||||
- Fix repeating DMA (fixes NSMB parallax BG) [zeromus]
|
||||
Graphics:
|
||||
- Added gfx3d module which emulates the whole GE as part of the core emu. [zeromus]
|
||||
- Moved the windows/cocoa OGLRender to the emu core and replace ogl_collector.
|
||||
|
|
|
@ -876,6 +876,11 @@ void FASTCALL MMU_doDMA(u32 proc, u32 num)
|
|||
dst += dstinc;
|
||||
src += srcinc;
|
||||
}
|
||||
|
||||
//write back the addresses
|
||||
DMASrc[proc][num] = src;
|
||||
if((u & 0x3)!=3) //but dont write back dst if we were supposed to reload
|
||||
DMADst[proc][num] = dst;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue