May be fun and interesting: inspired by the intro sequence of the “Space Invader” game for the Sharp MZ-80, I attempted something similar for the Commodre PET. While the original inspiration achieved this by a series of static slides, this is about rendering a spherical projection in realtime, on the 6502 and in PETSCII quarter-block characters.
In the end, it’s really about organizing the data suitably and choosing rendering dimensions that work well with 8-bit offsets. (The solution, I came up with, reminds me – while unrelated –somewhat of the one-hot encoding used by transformers to select a row in a matrix.) – Thanks to this, our little globe spins surprisingly well.
The result is available as a stand-alone demo (click the link with the file icon to download it as a PRG file), and will run on any 40-columns PET with at least 8K of RAM.
And you can give it a try in online emulation, as well: masswerk.at/pet/?prg=pet-globe.
(While you can set an 80-columns PET to a 40-characters-per-line mode, this won’t change the double-height character dimensions. So, while it will run technically with the appropriate POKE applied, it won’t look like much.)
Here’s a write-up: