Thread: Cycle-exact
View Single Post
Old 13 January 2019, 01:25   #4
Registered User

Join Date: Jul 2015
Location: The Netherlands
Posts: 1,491
If you're using a default Amiga Kickstart/Workbench 1.3 (or 1.2) environment the Amiga should not be running in interlaced mode. It will only do so if you've specifically set it up to do so using the Workbench preferences.

That said, I do have a hypothesis as to why your program acts like it does. In fact, I think it'd do the same on a real Amiga (interlaced or not). See, the write action you do with the move.w $DFF006, $DFF180 will execute at whatever cycle is available. And the code you've written probably doesn't fully align on DMA cycle boundaries. Which can cause the position of the colour change to shift from frame to fram.

Or to put it in a different way: the timing of the code you've written might not be 'good enough' for a stable display. The non-cycle exact mode might simply be more 'relaxed' on this front and thus work as you want.

If you want stable timing for colour changes etc, I'd recommend getting to grips with the Copper. Using the Copper guarantees the raster location of register changes. Which is much harder to do with the CPU.

Note: this is an untested hypothesis, I may be wrong

Last edited by roondar; 13 January 2019 at 01:36.
roondar is offline  
Page generated in 0.04166 seconds with 11 queries