make dma honour banking

I was sure I had it done before, turns out not.
This commit is contained in:
notaz 2017-09-22 02:16:15 +03:00
parent 6a47c2d4fb
commit 7feeb88062
2 changed files with 14 additions and 2 deletions

View file

@ -8,6 +8,7 @@
*/
#include "pico_int.h"
#include "memory.h"
int line_base_cycles;
extern const unsigned char hcounts_32[];
@ -134,10 +135,10 @@ static void DmaSlow(int len)
// if we have DmaHook, let it handle ROM because of possible DMA delay
if (PicoDmaHook && PicoDmaHook(source, len, &pd, &pdend));
else if (source<Pico.romsize) { // Rom
pd=(u16 *)(Pico.rom+(source&~1));
pd=m68k_dma_source(source);
pdend=(u16 *)(Pico.rom+Pico.romsize);
}
else {
if (!pd) {
elprintf(EL_VDPDMA|EL_ANOMALY, "DmaSlow[%i] %06x->%04x: invalid src", Pico.video.type, source, a);
return;
}