View Single Post
Old 06 January 2014, 14:44   #9
Toni Wilen
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 43
Posts: 20,627
Originally Posted by mark_k View Post
Could it perhaps not be an emulation problem, but related to the graphics.library copperlist? I took a screen capture to see exactly what the colours were. The red sprite colour is E04040, whereas the lighter colour is EE4444. Notice that the OCS/ECS colour E44 would convert to 24-bit AGA EE4444. But maybe there's a bug in graphics.library which, for at least that one partial scanline, incorrectly converts it to E04040??? Does it happen on a real AGA machine?
It is AGA hardware "problem", full AGA color palette update needs two color register writes, first high 4 bits of all color components is written (does same as OCS/ECS), this also automatically updates low 4 bits to emulate OCS/ECS colors (E44 becomes EE4444, FFF becomes FFFFFF because F0F0F0 would not be full white anymore on AGA when running OCS/ECS software). Next write updates low 4 bits to final color value (000 is written: E04040). Color can be slightly wrong between those two writes and it can be wrong quite long time (more than 2 scanlines in worst case) because copperlist normally writes all colors' high bits and then all low bits (which is more optimal, switching between low and high bits requires yet another write to separate control registers)
Toni Wilen is offline  
Page generated in 0.08325 seconds with 9 queries