This is work in progress. You can play around with it to humor yourself.
What it does:
* Sets up a continuous bitmap from the 4096 to 8495 memory area.
* Gives you a oversized screen of 200 pixels by 176 pixels with 6x8 bit characters for BASIC.
* Incorporates a command stack for handling the oversized screen without touching the 0-1024 memory area or breaking the display. Clearing the screen takes about 3 frames. Scrolling much more.
* PRINT works as "usual" to output to this new screen.
* LOAD of Basic programs should work as usual.
* Uses <20% CPU for the oversized bitmap.
Known bugs:
* Characters gets messed up at two parts of the screen due to missing character out pipeline (Especially at the top 4 lines). You will see that when it starts.
* Scrolling works, but virtual character map does not scroll. Last line (of virtual map) is filled with gibberish.
* Screen clear is messed up as it does not clear the virtual character map.
* Logical lines does not work as expected. So keep text within the 33 column boundary of the screen.
* Fast scrolling over multiple lines can crash it. Scroll a single line at a time.
* Currently an oversized bloated code for speed. Requires 24KBytes+ expansion. I could easily put it in unused memory areas but until it works I won't bother.
Future plans:
* Fix virtual character map
* A second command stack for handling shorter commands without messing up the continuous bitmap.
* Make it possible to POKE into the continuous bitmap without breaking it
All-in-all it is quite slow, so I would say a faster CPU would be required to make much sense of this. Scrolling by moving characters are much faster and one can use this for scrolling a bitmapped screen 8 bits at a time aswell. It requires some high-level remapping to keep track of the characters, so it would be a complete rewrite of all the code to make this work.
Download link.