| |
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.... |
| |
Stingray Account closed
Registered: Feb 2003 Posts: 117 |
Thanks again Oswald. I get the wrapping part, thats not the part i'm having trouble understanding. What I wont to know is how you change just the new column so you arn't just continuesly wrapping round or is that just not possible? |
| |
Krill
Registered: Apr 2002 Posts: 2980 |
Quote: Thanks again Oswald. I get the wrapping part, thats not the part i'm having trouble understanding. What I wont to know is how you change just the new column so you arn't just continuesly wrapping round or is that just not possible?
you scroll say one char left and have to put a new column in to the right. that can be at any offset of $00-$27 into a char line, depending on the current x-offset. so you just need to get you x hardscroll value, add some constant value and do mod 40 on it. |
| |
White Flame
Registered: Sep 2002 Posts: 136 |
I'm still confused on how to use DMA delay for >80 char wide screens (ie, when you've already delayed 40 cycles and need to go more). I don't need it for anything that I'm currently writing, but I tried to mess with it and got stumped, besides either doing a full redraw every 40 chars, or doing multiple delay lines to line things up (which loses more and more display lines). How wide do levels max out at in games like Mayhem in Monsterland? It looks like it's a flush 24 chars tall, so giving 8 lines of delay, I'm guessing 40+40*8=360. But IIRC, some levels are like 13 screens wide or more... bleargh! |
| |
AmiDog
Registered: Mar 2003 Posts: 97 |
Well, look at this column display (read as 2 number values from top to bottom):
start:
00...34
12...90
rotated a lot left:
3400...
9012...
one more:
400...3
012...9
one more:
00...34
12...90
and what do we have? The start position!
So, when you have scrolled the screen 40 chars, you are back at the start position and have changed all columns, so I assume you just start over, i.e. set DMA delay to zero and repeat the procedure... Not that I know for sure, since I've not tried anything like this myself... |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
amidog: you're almost right, except that if you have scrolled the screen by 40 columns, it also moves one char row UP. So when starting the process again, you will have to change to another screen, built up while scrolling, to hide the jump one row down, when starting over.
for example at soiled legacy there's a loader part wich swings in a bitmap gfx in from the left, and then it goes out to right, I had to copy the gfx to another bitmap shifted by one char row, and change the display to it, when it started to move its next 40 char. |
| |
White Flame
Registered: Sep 2002 Posts: 136 |
...plus a full copy of colorram if you're using it, which is the real killer. |
| |
raven Account closed
Registered: Jan 2002 Posts: 137 |
@White Flame:
Check out the end-part of Insomnia.
There's a continuous fullscreen bitmap scroll using
DMA delay, including color-ram.
|
| |
White Flame
Registered: Sep 2002 Posts: 136 |
Yeah, works great when you can pause the screen for a couple of seconds every 40 chars... ;) |
| |
AmiDog
Registered: Mar 2003 Posts: 97 |
Well, the only real problem as I see it is the color-ram copy. After all, by using simple double buffering, when you copy a column to the visible screen (it being text, bitmap or whatever), just copy the same column to your second buffer. This will double the amount of bytes to copy for each char scrolled (from 25 to 50 for text), but after you've scrolled 40 chars, you have already prepared the next screen and can easily just switch to it without any overhead what so ever (except for color-ram).
As I found this VSP discussion rather interesting, I've now written my very first VSP routine using the method above (only for text yet though and without using color-ram, but the theory is the same) and it's working nicely. |
| |
Stingray Account closed
Registered: Feb 2003 Posts: 117 |
AmiDog, any chance of posting your code here, or is it to long to post? |
Previous - 1 | 2 | 3 | 4 | 5 - Next |