I am in learning phase and now my idea is to open sideborders where I will show logo mc bitmap for swinging (first line is set at $32).
As I read so far we have this:
1. Need stable raster and then we can open sideborders but at time exact position for each raster line. Must know at what cycles for each rasterline.
We have 63 cycles (or 23 cycles in case of badlines) for every rasterline. When IRQ is set VICII fetch from 16 1/2 cycles from the start of rasterline.
So we can do it in the loop for first seven lines and then every eight line outside loop. But because of showing bitmap its better using sprites for sync.
And we need two sprites let and two sprites right to achieve this. And maximum sprites are also 4 for badline case.
2. Default value of $D016 is C8 if we subtract 1 from that, it turns to #$C7 so effectively bit Bitte melde dich an, um diesen Link zu sehen. turns to 0 => screen goes to 38 column mode
and next INC changes it back to 40 column mode because bit Bitte melde dich an, um diesen Link zu sehen. changes back to 1.
That's what "opens" side borders. It has to happen just before VIC II start to draw right sideborder. We change screen to 38 columns, and
VIC II "thinks" it's already drawing border and don't change state for that internally or something like that. So border stays open.
Next that INC changes screen back to 40 columns, so same trick can be done again next line when border should be starting again.
3. And for logo swinging code needs some more complexity than inc/dec something like:
LDA ScrollRegX
TAX
EOR #$08
...
and in the code
...other code for timings...
...
STX $D016
STA $D016
...
...other code for timings...
ScrollRegX is variable with !byte 7 which we must put in $D016 at certain point.
Let summarize:
How do we get sync with sprites for every rasterline we wanna open ? And what about badline ?
I need to activate sprites without showing so I have to point the sprite pointer to blank area. We cant show bitmap in sideborders we need it to make from sprites.