View Single Post
Old 10 January 2017, 22:37   #6
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 44
Posts: 23,356
Fixed. It wasn't even directly chipset emulation related, it was just a side-effect of lazy evaluation (delay something as long as possible until it really needs to be done) which assumed that DMA mode sprites can't have side-effects and can be delayed until end of scanline (or until next CPU or copper sprite-register access if earlier than end of scanline).

Fixed was very simple: test sprite's X-coordinate against sprite's SPRxDATB DMA slot in DMA emulation, if coordinate is smaller, do pending sprite decisions immediately. Test prevents useless CPU usage increase with "normally" positioned sprite.
Toni Wilen is offline  
 
Page generated in 0.04587 seconds with 11 queries