Megalextoria
Retro computing and gaming, sci-fi books, tv and movies and other geeky stuff.

Home » Digital Archaeology » Computer Arcana » Commodore » Commodore 8-bit » VSP Question
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
VSP Question [message #146063] Sun, 04 December 2005 21:02 Go to next message
jbones is currently offline  jbones
Messages: 42
Registered: February 2012
Karma: 0
Member
In the early 90's I recall implementing VSP, but now am a bit fuzzy on
the details. I know I can shift the entire screen whole columns to the
right using $D011, but this only allows a bitmap to swing through the
right border. I don't recall how to make a bitmap appear to swing
through the left border. Was it by duplicating the bitmap one row
higher and shifting it so far to the right that it wrapped around the
left? Any input is appreciated. Thanks.

Codey/2D
Re: VSP Question [message #146221 is a reply to message #146063] Mon, 05 December 2005 04:21 Go to previous messageGo to next message
Lars Haugseth is currently offline  Lars Haugseth
Messages: 231
Registered: April 2012
Karma: 0
Senior Member
* "jbones" <jbones76@gmail.com> wrote:
|
| In the early 90's I recall implementing VSP, but now am a bit fuzzy on
| the details. I know I can shift the entire screen whole columns to the
| right using $D011, but this only allows a bitmap to swing through the
| right border. I don't recall how to make a bitmap appear to swing
| through the left border. Was it by duplicating the bitmap one row
| higher and shifting it so far to the right that it wrapped around the
| left? Any input is appreciated. Thanks.

The bitmap (or characters) will never move into the actual side borders.
You will have to use sprites for that.

When you use the $D011 trick to delay the drawing n cycles and thus move
the whole bitmap n chars to the right, the part of the picture that dis-
appears on the right will appear on the left side of the next raster line.
If you want to make a continuous scroller, you have to compensate for this
and also use double buffering if you don't want to redraw the whole bitmap
when you get to the point where you have to reset the $D011 delay.

--
Lars Haugseth
Re: VSP Question [message #146237 is a reply to message #146221] Mon, 05 December 2005 06:00 Go to previous messageGo to next message
Jason is currently offline  Jason
Messages: 148
Registered: March 2008
Karma: 0
Senior Member
Lars Haugseth wrote:
> When you use the $D011 trick to delay the drawing n cycles and thus move
> the whole bitmap n chars to the right, the part of the picture that dis-
> appears on the right will appear on the left side of the next raster line.

Next character line, not the next rasterline.

> If you want to make a continuous scroller, you have to compensate for this
> and also use double buffering if you don't want to redraw the whole bitmap
> when you get to the point where you have to reset the $D011 delay.

Or use a linecruncher to offset the screen so the VSP can carry on where it
left off, although that does add limitations to how the scroller can work.
--
______________________________ _________________________________
/ /\/ ___/ / ___/ / / ___/\
/ Website: www.cosine.org.uk / / /\_/ / /__ / / / / __/\\/
/ ICQ: 44373717 IRC: TMR_C0S / / /__/ / / / / / / / / /\
/_____________________________/ /_____/_____/_____/__/__/__/_____/ /
\_____________________________\/\_____\_____\_____\__\__\__\ _____\/TMR
Re: VSP Question [message #146244 is a reply to message #146063] Mon, 05 December 2005 06:52 Go to previous messageGo to next message
Ruud.Baltissen is currently offline  Ruud.Baltissen
Messages: 64
Registered: July 2003
Karma: 0
Member
And what is VSP ???


--
___
/ __|__
/ / |_/ Groetjes, Ruud
\ \__|_\
\___| URL: Ruud.C64.org
Re: VSP Question [message #146247 is a reply to message #146237] Mon, 05 December 2005 07:21 Go to previous messageGo to next message
Lars Haugseth is currently offline  Lars Haugseth
Messages: 231
Registered: April 2012
Karma: 0
Senior Member
* Jason <tmr@i.cosine.hate.org.spam.uk> wrote:
|
| Lars Haugseth wrote:
| > When you use the $D011 trick to delay the drawing n cycles and thus move
| > the whole bitmap n chars to the right, the part of the picture that dis-
| > appears on the right will appear on the left side of the next raster line.
|
| Next character line, not the next rasterline.

I just dug up some 15 year old code to check, and you're right. Looks like
I've forgotten most of how this thing works. Not that I ever knew exactly
how -- stuff like this was mostly done by experimentation back then. :)

--
Lars Haugseth
Re: VSP Question [message #146668 is a reply to message #146244] Tue, 06 December 2005 10:30 Go to previous messageGo to next message
Jason is currently offline  Jason
Messages: 148
Registered: March 2008
Karma: 0
Senior Member
Ruud.Baltissen@abp.nl wrote:
> And what is VSP ???

VPS is Variable Screen Positioning, sometimes referred to as DMA delay, a
"feature" of the vertical smooth scroll register that was first used in a
demo by JCB/Meanteam and used for the scrolling in Creatures and Mayhem In
Monsterland (as well as countless demos) since. The short version is that
it makes a badline wait before starting, causing the screen to offset to the
right.
--
______________________________ _________________________________
/ /\/ ___/ / ___/ / / ___/\
/ Website: www.cosine.org.uk / / /\_/ / /__ / / / / __/\\/
/ ICQ: 44373717 IRC: TMR{C0S} / / /__/ / / / / / / / / /\
/_____________________________/ /_____/_____/_____/__/__/__/_____/ /
\_____________________________\/\_____\_____\_____\__\__\__\ _____\/TMR
Re: VSP Question [message #146670 is a reply to message #146247] Tue, 06 December 2005 10:30 Go to previous messageGo to next message
Jason is currently offline  Jason
Messages: 148
Registered: March 2008
Karma: 0
Senior Member
Lars Haugseth wrote:
> I just dug up some 15 year old code to check, and you're right. Looks like
> I've forgotten most of how this thing works. Not that I ever knew exactly
> how -- stuff like this was mostly done by experimentation back then. :)

Didn't we all... my first VSP was an FLD that i mis-timed! =-)
--
______________________________ _________________________________
/ /\/ ___/ / ___/ / / ___/\
/ Website: www.cosine.org.uk / / /\_/ / /__ / / / / __/\\/
/ ICQ: 44373717 IRC: TMR{C0S} / / /__/ / / / / / / / / /\
/_____________________________/ /_____/_____/_____/__/__/__/_____/ /
\_____________________________\/\_____\_____\_____\__\__\__\ _____\/TMR
Re: VSP Question [message #146679 is a reply to message #146670] Tue, 06 December 2005 11:18 Go to previous messageGo to next message
MagerValp is currently offline  MagerValp
Messages: 847
Registered: April 2012
Karma: 0
Senior Member
>>>> > "J" == Jason <tmr@i.cosine.hate.org.spam.uk> writes:

J> Didn't we all... my first VSP was an FLD that i mis-timed! =-)

Heh, indeed - my first VSP was a broken FLI viewer :)

--
___ . . . . . + . . o
_|___|_ + . + . + . Per Olofsson, arkadspelare
o-o . . . o + MagerValp@cling.gu.se
- + + . http://www.cling.gu.se/~cl3polof/
Re: VSP Question [message #146682 is a reply to message #146668] Tue, 06 December 2005 12:07 Go to previous messageGo to next message
Lars Haugseth is currently offline  Lars Haugseth
Messages: 231
Registered: April 2012
Karma: 0
Senior Member
* Jason <tmr@i.cosine.hate.org.spam.uk> wrote:
|
| Ruud.Baltissen@abp.nl wrote:
| > And what is VSP ???
|
| VPS is Variable Screen Positioning, sometimes referred to as DMA
| delay, a "feature" of the vertical smooth scroll register that was
| first used in a demo by JCB/Meanteam and used for the scrolling in

Do you remember the name of this demo?

--
Lars Haugseth
Re: VSP Question [message #146683 is a reply to message #146670] Tue, 06 December 2005 12:07 Go to previous messageGo to next message
Lars Haugseth is currently offline  Lars Haugseth
Messages: 231
Registered: April 2012
Karma: 0
Senior Member
* Jason <tmr@i.cosine.hate.org.spam.uk> wrote:
|
| Lars Haugseth wrote:
| > I just dug up some 15 year old code to check, and you're right. Looks like
| > I've forgotten most of how this thing works. Not that I ever knew exactly
| > how -- stuff like this was mostly done by experimentation back then. :)
|
| Didn't we all... my first VSP was an FLD that i mis-timed! =-)

Sounds very familiar. Remember than HUH!?-feeling? Those were the days...

--
Lars Haugseth
Re: VSP Question [message #146686 is a reply to message #146682] Tue, 06 December 2005 12:27 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: Colin

"Lars Haugseth" <njus@larshaugseth.com> wrote in message news:87fyp6cgoi.fsf@onyxia.eiendomsnett.no...
>
> * Jason <tmr@i.cosine.hate.org.spam.uk> wrote:
> |
> | Ruud.Baltissen@abp.nl wrote:
> | > And what is VSP ???
> |
> | VPS is Variable Screen Positioning, sometimes referred to as DMA
> | delay, a "feature" of the vertical smooth scroll register that was
> | first used in a demo by JCB/Meanteam and used for the scrolling in
>
> Do you remember the name of this demo?
>
> --
> Lars Haugseth

VSP And IK+ by Meanteam
Re: VSP Question [message #146688 is a reply to message #146682] Tue, 06 December 2005 12:37 Go to previous messageGo to next message
Lars Haugseth is currently offline  Lars Haugseth
Messages: 231
Registered: April 2012
Karma: 0
Senior Member
* Lars Haugseth <njus@larshaugseth.com> wrote:
|
| * Jason <tmr@i.cosine.hate.org.spam.uk> wrote:
| |
| | Ruud.Baltissen@abp.nl wrote:
| | > And what is VSP ???
| |
| | VPS is Variable Screen Positioning, sometimes referred to as DMA
| | delay, a "feature" of the vertical smooth scroll register that was
| | first used in a demo by JCB/Meanteam and used for the scrolling in
|
| Do you remember the name of this demo?

Forget it, I just found it:
http://noname.c64.org/csdb/release/?id=6176

Must have been the illogical name that made it so hard to find. ;-)

But who was the first to use it to create a scrolling bitmap several
screens wide?

First one I can think of is Mr. Cursor's "Double Density" intro:
http://noname.c64.org/csdb/release/?id=2681

But that's more than a year after VSP saw the light of day, so
I doubt that's the first one.

What was the first game to use it?

--
Lars Haugseth
Re: VSP Question [message #146910 is a reply to message #146688] Wed, 07 December 2005 07:22 Go to previous messageGo to next message
Jason is currently offline  Jason
Messages: 148
Registered: March 2008
Karma: 0
Senior Member
Lars Haugseth wrote:
> But that's more than a year after VSP saw the light of day, so
> I doubt that's the first one.

"Double Density" uses a linecruncher and VSP rather than just a VSP, to be
honest i can't think of any demos that do more than one screen just using a
VSP without some form of linecrunch and there *was* a gap between the
Meanteam demo coming out and VSP really taking off too... i think Horizon's
"Bonanza" probably qualify as one of the very first linecrunch/VSP routines?

http://noname.c64.org/csdb/release/?id=3391

> What was the first game to use it?

To my knowledge (which i'll happily admit is somewhat shaky at the best of
times =-), the first mainstream game was "Creatures", although there
might've been something before that which wasn't released in the U.K. so i
missed it. i suspect that the first game to use a linecrunch was earlier but
wasn't actually completed; "Touchlight" by Cascade wasn't released because
they discovered the problem with that kind of scrolling and some C64s before
it's completion, but the very nice-looking previews of "Touchlight" are at
http://www.gtw64.co.uk/
--
______________________________ _________________________________
/ /\/ ___/ / ___/ / / ___/\
/ Website: www.cosine.org.uk / / /\_/ / /__ / / / / __/\\/
/ ICQ: 44373717 IRC: TMR{C0S} / / /__/ / / / / / / / / /\
/_____________________________/ /_____/_____/_____/__/__/__/_____/ /
\_____________________________\/\_____\_____\_____\__\__\__\ _____\/TMR
Re: VSP Question [message #146913 is a reply to message #146910] Wed, 07 December 2005 08:22 Go to previous messageGo to next message
Lars Haugseth is currently offline  Lars Haugseth
Messages: 231
Registered: April 2012
Karma: 0
Senior Member
* Jason <tmr@i.cosine.hate.org.spam.uk> wrote:
|
| Lars Haugseth wrote:
| > But that's more than a year after VSP saw the light of day, so
| > I doubt that's the first one.
|
| "Double Density" uses a linecruncher and VSP rather than just a VSP,
| to be honest i can't think of any demos that do more than one screen
| just using a VSP without some form of linecrunch and there *was* a gap

Isn't it sufficient just using VSP and then redraw the part of the bitmap
being moved off one side and into the other?

| between the Meanteam demo coming out and VSP really taking off
| too... i think Horizon's "Bonanza" probably qualify as one of the very
| first linecrunch/VSP routines?
|
| http://noname.c64.org/csdb/release/?id=3391

Ah, yes I remember that one now that you mention it.

| > What was the first game to use it?
|
| To my knowledge (which i'll happily admit is somewhat shaky at the
| best of times =-), the first mainstream game was "Creatures", although

How about Dan Dare III? Not sure if it predates Creatures, though. They
were both released in 1990.

| there might've been something before that which wasn't released in the
| U.K. so i missed it. i suspect that the first game to use a linecrunch
| was earlier but wasn't actually completed; "Touchlight" by Cascade
| wasn't released because they discovered the problem with that kind of
| scrolling and some C64s before it's completion, but the very
| nice-looking previews of "Touchlight" are at http://www.gtw64.co.uk/

Nice!

--
Lars Haugseth
Re: VSP Question [message #147048 is a reply to message #146913] Wed, 07 December 2005 16:54 Go to previous messageGo to next message
Jason is currently offline  Jason
Messages: 148
Registered: March 2008
Karma: 0
Senior Member
Lars Haugseth wrote:
> * Jason <tmr@i.cosine.hate.org.spam.uk> wrote:
> | "Double Density" uses a linecruncher and VSP rather than just a VSP,
> | to be honest i can't think of any demos that do more than one screen
> | just using a VSP without some form of linecrunch and there *was* a gap
>
> Isn't it sufficient just using VSP and then redraw the part of the bitmap
> being moved off one side and into the other?

Yes, if you're only planning on moving a single screen horizontally it's
fine; as you say, just write in a couple of hundred bytes of bitmap at the
point that's just been pushed under the border (since hardware smooth scroll
will be on). But anything past one screen distance either needs the VSP to
snap back after each screen characters, a double buffering system over two
bitmaps (which can be done as long as they're both kept in sync) and a large
overhead whenever the buffer changes to shift the colour RAM around or a
linecruncher to increase the travel distance.

> How about Dan Dare III? Not sure if it predates Creatures, though. They
> were both released in 1990.

i'd have to look through the code on "Dan Dare III" but off the top of my
head i don't remember it being a VSP scroller, "just" about 18 lines of char
screen with colour scroll and incredibly well coded, especially that play
area to status mask switch.
--
______________________________ _________________________________
/ /\/ ___/ / ___/ / / ___/\
/ Website: www.cosine.org.uk / / /\_/ / /__ / / / / __/\\/
/ ICQ: 44373717 IRC: TMR{C0S} / / /__/ / / / / / / / / /\
/_____________________________/ /_____/_____/_____/__/__/__/_____/ /
\_____________________________\/\_____\_____\_____\__\__\__\ _____\/TMR
Re: VSP Question [message #147093 is a reply to message #147048] Thu, 08 December 2005 06:07 Go to previous messageGo to next message
Lars Haugseth is currently offline  Lars Haugseth
Messages: 231
Registered: April 2012
Karma: 0
Senior Member
* Jason <tmr@i.cosine.hate.org.spam.uk> wrote:
|
| > How about Dan Dare III? Not sure if it predates Creatures, though. They
| > were both released in 1990.
|
| i'd have to look through the code on "Dan Dare III" but off the top of
| my head i don't remember it being a VSP scroller, "just" about 18
| lines of char screen with colour scroll and incredibly well coded,
| especially that play area to status mask switch.

On closer inspection you're right, it's character based. Black background,
white and brown as common colors. They've done a very good job with those
graphics, I'd say.

I guess that switch would have been hard to achieve had they been using
VSP and linecrunching.

--
Lars Haugseth
Re: VSP Question [message #147123 is a reply to message #147093] Thu, 08 December 2005 15:51 Go to previous message
Jason is currently offline  Jason
Messages: 148
Registered: March 2008
Karma: 0
Senior Member
Lars Haugseth wrote:
> On closer inspection you're right, it's character based. Black background,
> white and brown as common colors. They've done a very good job with those
> graphics, I'd say.

Yup, a *wonderful* job.

> I guess that switch would have been hard to achieve had they been using
> VSP and linecrunching.

well, the big give-away with line crunching is that large black mask at the
top of the screen (where "Double Density" has the 1x1 font text, that's all
sprites) so it's a no-no for a starter - and anything like that status panel
isn't possible after a split because the screen is heavily offset. For VSP
it's possible to do a second VSP that corrects the difference but linecrunch
is a lot harder to counter.
--
______________________________ _________________________________
/ /\/ ___/ / ___/ / / ___/\
/ Website: www.cosine.org.uk / / /\_/ / /__ / / / / __/\\/
/ ICQ: 44373717 IRC: TMR{C0S} / / /__/ / / / / / / / / /\
/_____________________________/ /_____/_____/_____/__/__/__/_____/ /
\_____________________________\/\_____\_____\_____\__\__\__\ _____\/TMR
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: Catweazel MK4
Next Topic: PwrLink v2.0 for 64HDD released; special bundle price for Christmas 2005
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Fri May 16 17:01:02 EDT 2025

Total time taken to generate the page: 0.02549 seconds