Why coplist "start of line" is 7?

  • Thread starter Thread starter mrmacete
  • Start date Start date
  • Replies Replies 7
  • Views Views 302

mrmacete

New member
Joined
Aug 20, 2025
Posts
12
Country
Italy
Region
Piemonte
In most examples about coplists, when they wait for the start of a line, they put the horizontal wait position to 7.

Now, i understand the least significant bit must be 1, so then why not place 1 there?
 
Last edited:
This is to ensure that changes made by the copper happens after the beginning of a new scanline to prevents glitches or artifacts on the display

The Amiga's display hardware (the Denise chip) performs its initial setup for a new scanline at the beginning of that line, but there is a small processing delay before the actual pixels are rendered. By waiting for the horizontal position to reach 7, you ensure the Copper is synchronized with the start of a new scanline, giving the system enough time to prepare the new line.
 
ok thanks, so the most likely thing i found i think is this one:
The time-slot allocation per horizontal line is:

4 cycles for memory refresh
3 cycles for disk DMA
4 cycles for audio DMA (2 bytes per channel)
16 cycles for sprite DMA (2 words per channel)
80 cycles for bitplane DMA (even- or odd-numbered slots)
from http://amigadev.elowar.com/read/ADCD_2.1/Hardware_Manual_guide/node012B.html#line28

which seems to suggest 7 is where the copper can actually start doing stuff (after memory refresh and disk), correct?
 
ok i think i really get it now, the key is this part:
The Copper has the next priority because it has to perform its operations
at the same time during each display frame
so i imagine that the "glitch" happening when waiting for horizontal cycles prior to 7 is that if you have to change something visible there, there's no guarantee of it being flicker-less (especially when audio and disk activity can pop in and out).
 
Back
Top Bottom