View Single Post
Old 08 January 2015, 11:44   #16
Toni Wilen
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 43
Posts: 20,643
Originally Posted by phx View Post
Maybe this is getting off-topic and too technical now, but: which sprite's DMA slot is affected? It certainly is not any sprite in any situation?
Nothing is too technical!
I'll move posts later if it looks too off-topic.

In my game I have DDFSTRT=$30, wiping out sprite 7's DMA slot, so I'm loading SPR7DATA/B with the copper. And I see the corruption of SPR6DATB. Sprite 6 is a normal DMA sprite, with some horizontal position changes (SPR6POS) over the screen.

Sprite DMA slot located at cycle DDFSTRT-1 gets stolen by (nonexisting) bitplane DMA if OCS Agnus. It is always second sprite slot: CTL or DATB load.

Sprite 6 needs both planes. So I might load it with the copper each line, like I already do with sprite 7.
Ok, fastest solution is to let DMA load DATA and only use copper to load DATB, saves 1 cycle (1 sprite cycle and 2 copper cycles vs 4 copper cycles)

If sprite only appears once, you also don't need to use copper to load POS and CTL, just make sure line 25 has larger DDFSTRT.
Toni Wilen is online now  
Page generated in 0.05549 seconds with 9 queries