Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

What is VSP? Made it very hard to understand what this is talking about.


VSP or 'screen offset' is a technique that allows all kinds of scrolling tricks. If you offset by a single byte you get a horizontal scroll (combine with horizontal retrace timing trickery to get smooth scrolling), offset by a whole scanline and you scroll vertically, offset by a character box height*line width and you get jump character scroll, all without moving a single byte of memory, just write a few hardware registers.

Of course that only works when the screen is not divided up into windows. Tricks like these allowed many of the scrolling games on 80 bitters, and are why you could have smooth scrolled text on a 1 MHz cpu with very little software overhead. Even in the PC era these tricks were commonplace on character generator screen modes for lightning fast scrolling. Bitmapped windows are super CPU intensive if you don't have a graphic card that can move around chunks of memory quickly.


That's very nifty, I learned a bit about hardware in there.

C64 modding wikipedia page has more:

http://en.wikipedia.org/wiki/Commodore_64_demos

    VSP (Variable Screen Positioning), also known as HSP, 
    allows arbitrary x-placement of a bitmap, with the bitmap 
    wrapping around at the border.
It appears that it is possible to quickly shift the starting memory location of the buffer that contains the video memory, which means the rasteriser shifts everything around. This allows smooth horizontal/vertical scrolling - the program only needs to write the changed column/row instead of the entire screen.

http://www.lemon64.com/forum/viewtopic.php?t=42580&sid=c...


According to http://en.wikipedia.org/wiki/Commodore_64_demos, VSP is:

"VSP (Variable Screen Positioning), also known as HSP, allows arbitrary x-placement of a bitmap, with the bitmap wrapping around at the border."




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: