Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
 Welcome to our latest new user eightbitswide ! (Registered 2024-12-24) You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > D011 scrolling
2004-06-08 00:17
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....
 
2004-06-08 14:47
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)
2004-06-08 21:57
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

2004-06-09 08:55
Oswald

Registered: Apr 2002
Posts: 5094
nah, you can do it faster

lda #xx
sta $0400
lda #xx
sta $d800

=)
2004-06-09 12:45
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 ?
2004-06-09 13:23
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.. :)
2004-06-09 13:39
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?
2004-06-09 13:54
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.
2004-06-09 14:40
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?
2004-06-10 08:55
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.
2004-06-10 08:57
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
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
SLC
Guests online: 128
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 The Demo Coder  (9.6)
6 Edge of Disgrace  (9.6)
7 What Is The Matrix 2  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 Cubic Dream  (9.6)
3 Party Elk 2  (9.6)
4 Copper Booze  (9.6)
5 X-Mas Demo 2024  (9.5)
6 Dawnfall V1.1  (9.5)
7 Rainbow Connection  (9.5)
8 Onscreen 5k  (9.5)
9 Morph  (9.5)
10 Libertongo  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Censor Design  (9.3)
5 Triad  (9.3)
Top Coders
1 Axis  (9.8)
2 Graham  (9.8)
3 Lft  (9.8)
4 Crossbow  (9.8)
5 HCL  (9.8)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.084 sec.