View Single Post
Old 11 January 2017, 08:41   #7
Registered User

Join Date: Sep 2015
Location: Germany
Posts: 231
Originally Posted by Toni Wilen View Post
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.
Very good, Toni.

Originally Posted by Toni Wilen View Post
This wasn't exactly right.

It is first write to BPL0DAT that also enables sprites.

Write to BPL0DAT enables bitplane shift registers inside Denise (this is nothing new, Agnus DMA does this automatically internally). My guess is that there is logic that outputs background color as long as BPL0DAT has not been written to.

Test used: DDFSTRT set to 0x80, put sprite on left side of screen. It is not visible. Use copper to write to BPL0DAT on left side of screen. Single raster line of sprite is now visible + 16 pixels of bitplane data that was written to BPL0DAT.

Perhaps useful for some weird tricks, not sure
I guess the OCS-hardware behaves the same way, if you do this trick with the write to the BPL0DAT register at the beginning of the scanline to display sprites outside the border in the blanked area to simulate "bordersprites" on OCS.
dissident is offline  
Page generated in 0.04190 seconds with 11 queries