Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
  You are not logged in - nap
Differential Scrolling   [2016]

Differential Scrolling Released by :
Sokrates

Release Date :
28 August 2016

Type :
C64 One-File Demo

User rating:*********_  8.5/10 (8 votes)   See votestatistics

Credits :
Code .... Sokrates of The Tuneful Eight
Music .... Frantic of Hack n' Trade
Graphics .... Sokrates of The Tuneful Eight


SIDs used in this release :
New Kid on the Block(/MUSICIANS/F/Frantic/New_Kid_on_the_Block.sid)

Download :

Look for downloads on external sites:
 Pokefinder.org


Summary
Submitted by Sokrates on 28 August 2016
This tech-demo demonstrates full (-screen, -color ram, and -Hz)
char scrolling based on compressed differential images. Instead
of shifting the memory for scrolling the screen a differential
image is uncompressed and the differences are drawn over the
current screen.

The intention was to:
* minimize the time consumption. Calculation time is only needed
when drawing a new differenial image (equates to adding a new
column in standard scrolling). All other scrolling steps need
only a fast manipulation of $D016, so no in between filling of
a double buffer is applied as needed for other techniques. The
scrolling time consumption is visualized in the demo by a
grey border.
* maximize the memory available in the 16K VIC bank. Since no
double buffer is needed any more this memory can be used for
other purposes. This is visualized by showing a short movie
using 238 sprites. They all are located in the same VIC bank
as the shown screen, the animation is done by only counting
up the sprite pointer. Since a similar effect can be achieved
by using two VIC banks, this is only a minor point.

The drawbacks are:
* the number of differences between images is limited to what
can be uncompressed and drawn within one c64 frame without
causing visible artefacts.
* the compressed images consume quite some memory.

Due to some time wasting by (unnecessary but neat :-) char
manipulations this demo runs only artefact-free on PAL machines.

Run-length encoding is used for image compression in this demo.

To sum up, differential scrolling might be useful for special
use-cases where time consumption is critial, scrolling content
complexity is low, and overall memory consumption is not too
restricted.

Thanks to Frantic for providing me a slightly modified version
of this nice little tune:
codebase64.org/doku.php?id=base:256_bytes_tune_player

The starfield was inspired by this example:
codebase64.org/doku.php?id=base:rol_starfield_using_d018
Search CSDb
Advanced
Navigate
Prev - Random - Next
Detailed Info
· Summaries (1)
· User Comments (6)
· Production Notes
Fun Stuff
· Goofs
· Hidden Parts
· Trivia
Forum
· Discuss this release (30)
Support CSDb
Help keep CSDb running:



Funding status:




About this site:
CSDb (Commodore 64 Scene Database) is a website which goal is to gather as much information and material about the scene around the commodore 64 computer - the worlds most popular home computer throughout time. Here you can find almost anything which was ever made for the commodore 64, and more is being added every day. As this website is scene related, you can mostly find demos, music and graphics made by the people who made the scene (the sceners), but you can also find a lot of the old classic games here. Try out the search box in the top right corner, or check out the CSDb main page for the latest additions.
Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.097 sec.