| |
SIDWAVE Account closed
Registered: Apr 2002 Posts: 2238 |
D011 scrolling
Hi,
What is the best rasterline to flip the D011, when
scrolling the screen ?
No FLD!
Plain old scrolling ?
I have timing error, so the text jumps a bit.
Scroll the colorram too in same scan, takes a lot
of time..
Thanks for ANY help!!
|
|
... 34 posts hidden. Click here to view all posts.... |
| |
CyberBrain Administrator
Posts: 392 |
Hmm... my vic-trick memory is a bit rusty..
But you're doing an upscroll right?
The fastest you can upscroll the colorram without using any tricks at all (are there any?) is something like this:
LDA $D800+40
STA $D800
LDA $D801+40
STA $D801
LDA $D802+40
STA $D802
...
...
LDA $D827+40
STA $D827
(and the same for the other 23 lines)
Don't put the code into any loops. It'll just slow it down a lot. Make a small routine to generate the code.
since LDA $xxxx and STA $xxxx both takes 4 cycles, and there are 40 chars on each line, and there are 24 lines to be upscrolled, it will take:
4*2*40*24=7680 cycles to upscroll the colorram.
(that is ~122 rasterlines, or ~15 charlines)
(ofcause you also gotta put the new colors on the 25th line, so it'll take a little longer)
(you can use the same method on upscrolling the screen too, but i guess you can speed it up by doing some tricks there)
I'm not sure how you would use FLD by itself to make an upscroller? (unless the text is only one screen high) |
| |
SIDWAVE Account closed
Registered: Apr 2002 Posts: 2238 |
Cyberbrain:
I've done this..
LDA $0428
LDY $D828
STA $0400
STY $D800
LDA $0429
LDY $D829
STA $0401
STY $D801
etc..
I'm going to use the 26th line too.. hehe
|
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
nah, you can do it faster
lda #xx
sta $0400
lda #xx
sta $d800
=) |
| |
SIDWAVE Account closed
Registered: Apr 2002 Posts: 2238 |
Hmm, but my way the char+color get updated closer to eachother, isn't that to prefer ? or why not ? |
| |
CyberBrain Administrator
Posts: 392 |
i think it was a joke. :) if you had unlimited memory, you could make one piece of code for each frame - but that could be done twice as fast as oswald does it.. :) |
| |
Stingray Account closed
Registered: Feb 2003 Posts: 117 |
I read though that a couple of times before I realised it must be a joke to.
I remember reading a C64 mag where one of the Rowlands? said that they used some super duper trick (which I guess is some secret they only know) to do really fast color scroll (horizontal I think), I think he said it was a fault in the VIC chip that they were exploiting. Does anyone know if this was just talking up there game (Mayhem) or does anyone know what this super duper trick was? |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
I bet that was horizontal hardware scrolling :)
just do a dec/inc d011 (or inc dec ? cant recall) on the last top border rasterline, and the 1st column of the screen will start where you do the trick, needs cycle exact timing. |
| |
Stingray Account closed
Registered: Feb 2003 Posts: 117 |
Thanks, sounds like you get horizontal scrolling by inc/dec vertical scroll bits. Have I got that right cause that sounds pretty freaky. So you just chuck new bytes down either far left or far right (depending on which way you are scrolling) column of the screen once you've scrolled eight bits?
|
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
here is how it works:
http://www.minet.uni-jena.de/~andreasg/c64/vic_artikel/vic_arti...
generally it juts moves the place of the first column of the screen, and the screen will wrap around, so before the first coulmn you get the last. |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
oops, I thought the link will jump to the right place, but it does not.
read under:3.14.6. DMA DELAY |
Previous - 1 | 2 | 3 | 4 | 5 - Next |