View Single Post
Old 11 March 2015, 16:53   #735
Toni Wilen
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 43
Posts: 20,660
Originally Posted by ED-209 View Post
I have noticed a problem on right side of screen during scrolling picture in 'Seven Seas' by Andromeda. (see pic).

I've noticed the same problem with quite a few other old demos that have some sort full framerate scrolling. At first I thought it was just some typical 'overscan area issue', but now I'm not convinced since I'm sure Seven Seas used to work correctly.
It is correct behavior in most situations (It is chipset design flaw). Seven Seas seems to be an exception

It seems to have workaround copper list, every scan line has copper wait that tries to compensate for the bug (by writing to BPLCON1 with "incorrect" value) but it does not work in emulation. Probably simple off by one timing issue.

Previously it only worked accidentally (as in BPLCON1 write didn't do anything all until it was too late and display ended)

EDIT: It is not simple fix. Amiga display has an offset, chipset horizontal position counter equals zero exactly where the glitch starts (This also explains common color change bug in right border when copper was used to wait for hpos=0, hpos=0-5 or so is visible in right border).

Display emulation scanline ends at this point, whatever is left in Denise's shift registers is shifted out but any write to custom register takes visible effect only after display has ended (in other words, next scanline). Only color register modifications are handled as a special case.

Last edited by Toni Wilen; 11 March 2015 at 21:05.
Toni Wilen is offline  
Page generated in 0.10915 seconds with 9 queries