| |
Testa Account closed
Registered: Oct 2004 Posts: 197 |
fpp timing
hi,
this morning i had an idea for a little effect.. lets say we have a picture (no bitmap) and it's 20 chars high.
i want to yscroll the first 10 textlines downwards and the other 10 textlines upwards so the picture slowly disapears in the middle.. whithout any space between the two scrollers and perfectly smooth ofcourse..
to do this effect i want to use flexible pixel position
but not the whole picture, i needs too much memory
(an fpp charset only use the first byte of each 8-byte matrix because each charpointer displays only one charline (i hope i used the right terms)) in other words an fpp charset takes 8 times more memory than a normal charset.
the solution for the memory problem is that i only use fpp for the lower half of the picture.
for the upper half i simply increase $d011, and switch to another screen with charpointers when $d011 is higher than $1f .(and set $d011 back to $18), i also use a "secret" trick to make the last line disapear..
so after the last line of the upper half the ffp routine
kicks in.
my fpp routine looks like this:
lda #$33
cmp $d012
bne *-3
lda #$0e
sta $d020
sta $d021
ldy #0
lda #$1a
sta $d011
lda tab,y
sta $d018
iny
nop
nop
lda #$1b
sta $d011
lda tab,y
sta $d018
iny
nop
nop
and it works just fine.. the problem is , i want to start the fpp routine at another line then $33 lets say $62
or $a2, so when i change the lda #$33 cmp $d012 bne *-3
in lda #$62 cmp $d012 ... all the graphics bugs...
i tried it with some nops and bit $ea to start at another cycle but the routine keep on bugging...
i feel frustrated about this... what do i miss here..
bye
a frustrated mcd.
|
|
| |
Testa Account closed
Registered: Oct 2004 Posts: 197 |
oops i made a little mistake i switch $33 not to $62 or $a2 but to $63 or $a3
|
| |
Monte Carlos
Registered: Jun 2004 Posts: 359 |
Have you memory to hold the picture 8 times?
It sounds like you could convert it to the logo format.
Then it would be very easy to scroll the picture charwise.
By switching $d018 you could imitate smooth scrolling.
Remember, that you can only use the first row of the charset if you do fpp. So fpp is also ram eating.
In my opinion fpp is only worth the trouble, if you want also to stretch the picture.
|
| |
Testa Account closed
Registered: Oct 2004 Posts: 197 |
monte carlos i know what you mean with $d018 scrolling (no fpp!) it is also possible but than i get some space between the two scrollers: how do you want to do this 'invisible' $d011 switch??
i realize now that it sounds realy stopid but my fpp routine only works at $33 (see the example)
i ques this is one of these days that every thing goes wrong..
today:
i failed with the fpp thing
1 had a ticket from the police.
i opened a bottle of coca cola and the whole stuff
sprayes around my room..
bye!
mcd
|
| |
Monte Carlos
Registered: Jun 2004 Posts: 359 |
Your split is the natural border between two char rows.
No $d011 switching is needed.
Perhaps you got something wring.
I meant,that you have the picture 8 times in memory and each one starts at another pixelrow.
You can use Amica Paint or some other tool to succesively
copy the logo one pixel down, save the 8 steps and then use a logo converter to pack the bitmaps.
So they don't eat that much memory (i would bet, that you need less memory than with fpp) and you can easily scroll them around afterwards. Even horizontal movement should be possible, because you can switch $d016 at the borderline.
|
| |
Testa Account closed
Registered: Oct 2004 Posts: 197 |
yep i see now ..ohh what a fuckup... hehe. but one thing is positive i was able to fix the fpp bug after all..
thanks man!
mcd
|
| |
Monte Carlos
Registered: Jun 2004 Posts: 359 |
Why fuck up? Use the fpp for something else when the time comes!
|