Virtual desktop for C64

A project log for Silly software wishlist

Motivation to do some software projects by writing them down.

lion mclionheadlion mclionhead 12/31/2020 at 23:530 Comments

Lions absolutely won't waste any time on this, but if it was still 1985 & that was all there was, the lion kingdom would consider creating a virtual 640x400 or 1280x800 desktop for the C64, much like X windows of the last 30 years.  There were a lot of 80 column emulators that were barely legible.  Word processors of the late 80's used proportional fonts to fit more characters in.  Nothing tiled together full resolution screens to create a larger virtual screen that you could scroll around in.

The C64 had a bitmap mode which burned 8000 bytes for the framebuffer + 1000 bytes for color information.  It could store 8 monochrome framebuffers in RAM, all sharing the same color buffer, leaving nothing for a program.   It could tile 4 framebuffers with enough left over for a program.  Bits could be memcopied to scroll sideways or it could switch banks to instantly switch the entire framebuffer.

There was also a character mode which burned 1000 bytes per framebuffer + 1000 bytes for color information.  64 monochrome character screens could be tiled in all the RAM.  A more reasonable 16 character screens could be tiled in 16k of RAM to create a virtual 1280x800 desktop.

The C64 couldn't wrap any unchanged programs in a tiled mode. There were window emulators which could multitask very simple BASIC programs in a single framebuffer, without any changes.  Any useful program would have to be rewritten from the ground up to use a tiled framebuffer.  

There aren't many programs which could have used a virtual desktop for anything they didn't already do.  Most programs had scrollbars to scroll in the document.  It would manely be for running multiple programs simultaneously, but there wasn't enough RAM to really do that.  There were bank switchers which could run BASIC programs in a dedicated screen, simultaneously.