| |
ChristopherJam
Registered: Aug 2004 Posts: 1409 |
Seven sprites on a bad line (or, barking at the moon)
If I've got sprites zero to six enabled, is it actually possible to change $d018 between the sprite DMA at the end of the previous line and the character DMA for the bad line? Or is the gap just too small?
vic_article doesn't quite specify which cycles are used for sprite DMA in PAL, so I've been nudging a placeholder update to $d020 back and forth with nops and indexed stores to no avail. |
|
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
<shameless self promotion>
check Victimer
</shameless self promotion>
$ victimer -b -s 0x7f
| 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 |
0 |1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 |
| |===========01020304050607080910111213141516171819202122232425262728293031323334 353637383940===========| |
--|----------------------------------------------------------------------------- -------------------------------------------------|
| x x x W W W W W w |
| r r r r rcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgc g |
ss|3sss4sss5sss6sss7 0sss1sss2sss|
| i i i |
--|----------------------------------------------------------------------------- -------------------------------------------------|
| ^(close sideborder) ^(open sideborder)
| ^---FLI-----------------> ^-----^(double line)
| ^---DMA Delay--------------------------------------------------------------^
badline sprenable=7f
CPU: 3 (+ 5= 8)
VIC: 54 (+ 1=55)
63
x - CPU regular cycles
W - CPU write cycles
w - CPU 3rd write cycle
c - VIC video ram
g - VIC color ram
0..7 - VIC sprite pointer fetches
s - VIC sprite data accesses
i - VIC idle accesses
edit: grmpf, for some reason csdb decides to insert some spaces at random places *shrug* |
| |
algorithm
Registered: May 2002 Posts: 705 |
7 sprites are possible and to change $d018 on a badline (MUCSU gfx mode does exactly this) think I may have preloaded register beforehand then after relevant delay switched d018 |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1409 |
That looks like a yes, I'll keep fiddling.
Thanks guys, and yes, victimer looks excellent. |