Quote:
Originally Posted by amilo3438
COOL FRIDGE by UPFRONT -> http://www.pouet.net/prod.php?which=1467
Running on Quickstart A500 OCS/ECS glitches on "SMOOTH COPPER" part an UPFRONT logo only when is copper plasma behind (see attach pict. 1 & 2).
|
We have a winner here! This has to be the most ugliest and weirdest way to syncronize CPU to display..
It WRITES to VPOSW to force CPU vs chipset sync! It writes to chipset registers in a loop, then increases vpos counter and writes it to VPOSW and then starts processing next line.
WTF? Why? This is too crazy..
I guess timing is close enough to real hsync and TV allows small jitter in hsyncs without causing display glitches.
I don't think I want to bother with this. It would require huge changes everywhere..
Code snippet:
Code:
00065566 4e71 NOP.L
00065568 33c0 00df f02c MOVE.W D0,$00dff02c
0006556E 4e71 NOP.L
00065570 4e71 NOP.L
00065572 4e71 NOP.L
00065574 4e71 NOP.L
00065576 33c1 00df f02c MOVE.W D1,$00dff02c
0006557C 0641 0100 ADD.W #$0100,D1
00065580 0640 0100 ADD.W #$0100,D0
00065584 0642 0100 ADD.W #$0100,D2
00065588 0643 0100 ADD.W #$0100,D3
0006558C 4e71 NOP.L
0006558E 4e71 NOP.L
00065590 4e71 NOP.L
00065592 4e71 NOP.L
00065594 4e71 NOP.L
00065596 4283 CLR.L D3
00065598 4e71 NOP.L
0006559A 4e71 NOP.L
0006559C 4e71 NOP.L
0006559E 4e71 NOP.L
000655A0 4e71 NOP.L
000655A2 4e71 NOP.L
000655A4 33c0 00df f180 MOVE.W D0,$00dff180
000655AA 4e71 NOP.L
000655AC 4e71 NOP.L
000655AE 4e71 NOP.L
000655B0 4e71 NOP.L
000655B2 33c1 00df f180 MOVE.W D1,$00dff180
000655B8 0641 0100 ADD.W #$0100,D1
000655BC 0640 0100 ADD.W #$0100,D0
000655C0 0642 0100 ADD.W #$0100,D2
000655C4 0643 0100 ADD.W #$0100,D3