View Single Post
Old 12 January 2017, 23:14   #11
Toni Wilen
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 44
Posts: 23,258
Positioning is exactly correct in emulation but I found another side-effect (and confirmed it also happens on ECS A500):

If sprite start xpos is before xDATB/xCTL fetch, sprite's last line gets duplicated, line that normally would have been blank (line that DMA engine uses to fetch next xPOS and xCTL words) will have same sprite graphics as previous line.

It happens because condition that loads words to shift register is: must be "armed" and horizontal comparison matches. Sprite stays armed until next xCTL write, if horizontal comparison matches before xCTL DMA fetch, sprite is still armed and shift register will get loaded with previous line's xDATA and xDATB. Result is repeated extra line.

(This is not yet emulated, it is more tricky to implemented without other side-effects)
Toni Wilen is online now  
Page generated in 0.04079 seconds with 11 queries