Chris have you solved your DMA problems
I experienced a DMA problem when an auto DMA SAT update and a DMA VRAM->VRAM transfert occur at same time .
DMA vram->vram seems to be occur only once, or your sprite update can be also corrupted .
I think,is not good if the two DMA occur at same time, and one can be corrupted by the other if they are at the same time .
Soluce: Do a manual SAT DMA transfert, or start a vram->vram transfert when SAT update is entirely done (with DMA int) .