Thanks, I understand this. What I did not get was, how is this changing the screen address every line can help me expand line width to ( as evil wrote ) infinite width ( and without using lw register ) But I will not be asking more, the magical sync code
you mentioned above definitely excludes this technique for me
don't be afraid to try this, you don't need to use hardsynced code, MFP interrupts are enough.
Basicly what you do is writing one screen address per scanline with the movep.l instruction, movep requires the source to be dataregister and destination address in an address register, so each scanline look something like this:
move.l (a1)+,d0 ;fetch address to set from a display list
movep.l d0,0(a0) ;set screen
It requires A0 and A1 to be set at VBL and D0 will be trashed.
For a 200 line screen, there are 267 scanlines (85.3%) of free CPU. But you're losing out on three CPU registers.
It's easy to slow down and not use registers (tip: unused low memory to temporarily save an address for next scanline). It can also be made faster by aligning graphics data to 64k. But that limits how large image you can show (even more so than using $ffff820f).
But enough babble, here's the source:http://files.dhs.nu/files_source/jury.zip