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

@ -133,6 +133,17 @@ void name(u32 a, u32 d) \
} \
}
static __inline void *m68k_dma_source(u32 a)
{
uptr v;
a &= 0x00fffffe;
v = m68k_read16_map[a >> M68K_MEM_SHIFT];
if (map_flag_set(v))
return NULL;
else
return (void *)((v << 1) + a);
}
// 32x
typedef struct {
uptr addr; // stores (membase >> 1) or ((handler >> 1) | (1<<31))