Everyone facing advanced copper programming got the 'imprecise' timing on end of lines.
Example:
Code:
00045548: fedb fffe [0fe 0d8] ; Wait for vpos >= 0xfe and hpos >= 0xda
; VP fe, VE 7f; HP da, HE fe; BFD 1
0004554c: 0180 0fff [0fe 0dc] ; COLOR00 := 0x0fff
*00045550: 0180 0888 [0fe 0e1] ; COLOR00 := 0x0888
00045554: 0180 0000 [0ff 002] ; COLOR00 := 0x0000
00045548: fedd fffe [0fe 0da] ; Wait for vpos >= 0xfe and hpos >= 0xdc
; VP fe, VE 7f; HP dc, HE fe; BFD 1
*0004554c: 0180 0fff [0fe 0de] ; COLOR00 := 0x0fff
00045550: 0180 0888 [0ff 000] ; COLOR00 := 0x0888
00045554: 0180 0000 [0ff 004] ; COLOR00 := 0x0000
You can see a copper slice of 10 lores pixels and not 8 (1 copper cycle delay).
The lost cycle seems to be $E0.
But, why?
It would be logical to mantain $E0 and exclude $E1... (an odd copper cycle?!?!)
So the sequence $DE(y) $DF(n) $E0(y) $E1(n) $E2(-1,n) $00(y) was regular.. with only $E2(-1) as a lost cycle.
Someone enlight me.
Thanks,