I hope any of you can help me to fix this error.
The pistol's tiles are DMAed to VRAM. The text tiles are filled to the VRAM by writting them using data port using a MOVE loop.
I tried to transfer the pistol's tiles using DMA and tested the rom on the consoles that i got access.
This is a pic testing the rom on my own console. It works fine and i dont get any glitches. Tested on MegaEverdrive.
This is what i get on my friend's console. Tested on Everdrive.
This is the fragment of my code that i use to fill the VRAM using DMA
Code: Select all
DMATOVRAM equ $40000080
******** Entrada: D0 number of bytes/words
******** D1 = 3 bytes DMA source
******** D2 = 2 bytes DMA destination
DMAGEN:
MOVE.W #$8F02,$00C00004 * increment 2 bytes
MOVE.W #$8174,$00C00004 activate dma
MOVE.W #$9300,D4 * Low Counter
OR.B D0,D4
MOVE.W D4,$00C00004
ASR.W #8,D0
MOVE.W #$9400,D4 * High Counter
OR.B D0,D4
MOVE.W D4,$00C00004
LSR.L #1,D1
MOVE.W #$9500,D4 * Low source adress
OR.B D1,D4
LSR.L #8,D1
MOVE.W D4,$00C00004
MOVE.W #$9600,D4 * MID source adress
OR.B D1,D4
LSR.L #8,D1
MOVE.W D4,$00C00004
MOVE.W #$9700,D4 * High source adress
AND.B #%01111111,D1
OR.B D1,D4
MOVE.W D4,$00C00004
ASL.L #2,D2 * Destination address and operation
LSR.W #2,D2
SWAP D2
OR.L #DMATOVRAM,D2
MOVE.L D2,$00C00004
RTS
What can be causing this DMA failure?
Really thank you for your help.