Demo: Back to the PET

The Commodore 64 was not Commodore’s first home computer. It wasn’t even the VIC-20. Their first machines were the line of the PET, or “Personal Electronic Transactor,” as labored an acronym as any.

The PET was a decent machine, with integrated monochome monitor and a heavy metal case. Although it had no color, no sprites, only a basic speaker for sound and no synth, it had a number of things in common with the later C64, particularly the 6502 processor that lay at the core of half of the personal computers sold at the time.

There was something else, something fairly major, that the PET lacked: customizable graphics. No hi-res mode, and no programmable character sets. The graphics were encoded on a ROM that wasn’t even mapped to the CPU’s address space. The letter ‘A’ would forever look like a letter ‘A’. It couldn’t be changed to anything else, even a slightly different ‘A’. This greatly limited what PETs could display, and basically doomed it as a gaming computer.

Commodore tried to compensate for this feature by including “PETSCII,” a set of custom characters included in the upper 128 characters of its ROM intended for makeshift graphics. PETSCII would survive throughout the rest of the Commodore 8-bit line, even featuring on machines that had programmable graphics: the VIC-20, C64 and C128 all had it included too. (The Twitter account PETSCIIBOTS (now inactive) shows off its many graphical characters in making robots.)

On the later machines PETSCII graphic characters were a fun nicety. On the PET, they were all you had, all you would ever have. This is exactly the kind of limitation that demo authors love circumventing where they can, and taking advantage of when they can’t. Hence: Back To The PET, a demo, complete somehow with chiptunes, that runs on Commodore’s ancient machine:

Every character cell of every frame of this video is one of the PET’s 256 ROM-based characters. It had no hardware scrolling, so effects are all faked or done 8 characters at a time. Yet it’s still pretty slick! The PET had quite a better selection of graphics characters than even IBM’s code page 437, including lines of single pixel differences in thickness and horizontal and vertical position. Image what the ASCII artists of the 90s could have done with this selection! Luxurious!

RetroGamerNation Covers New VIC-20 Games For 2022

The Commodore VIC-20, Commodore’s first attempt at a budget color home computer, often gets lets out of the spotlight in favor of its more capable successor, the Commodore 64. Back at release it had significantly limited RAM even for the time, only 5K, and it also had only eight colors for general use, simple sound, and no hardware sprites. Even so, it did all right in the market, but was quickly overshadowed by Commodore’s more powerful followup.

But all of these factors mean that making substantial games for it is both a more interesting challenge, and a lot more impressive when it’s done well. Youtube channel RetroGamerNation did a roundup video of interesting VIC games made in 2022. Remember, when watching these videos, the VIC had no sprites. I personally like the look of Flood. Most of these games require significant RAM expansion to run (on the VIC-20, “significant” means at least 16 kilobytes), but many people who try them out will be running them on an emulator anyway, and one of the games actually runs on an unexpanded VIC.

RetroGamerNation: Commodore VIC-20 Games Roundup For 2022 (Youtube)

Commodore 64 Ads Retrospective

This is not a real ad, it’s a reimagining, but it’s pitch-perfect.

Bryan Lunduke has a collection of old ads for what is still the best-selling model of personal computer of all time, the Commodore 64. No doubt it retains that title today on the basis of a number of technicalities, like PCs are atomized among many different makes that still all run the same OS, and people not considering an iPhone to be a computer somehow.

I’d like to draw your attention in particular to the ad for GEOS on that page, the early C64 windowed operating system that breathed new life into the system. In the end it was probably doomed due to a number of factors: Apple’s head start and much better marketing, the fact GEOS had to be booted from disk while Mac OS was partly ROM-resident, and a bit of clunkiness. But you can do rather a lot with GEOS all by itself, and it comes with a capable word processor in GeoWrite. GEOS, and its weird legacy, probably deserves a post of its own eventually.

The image above is for a fake ad, but it’s based off of an iconic, and slightly disturbing, television ad from Austrailia, Keeping Up With The Commodore:

Commodore Basic 2.0 for Other Systems

Say what you will about Commodore BASIC 2.0, the built-in programming language and makeshift shell for the Commodore 64, written by Microsoft employees and descending from code written by Bill Gates himself, it’s certainly, um, basic. Nearly everything that takes advantage of that machine’s graphics or sound features involves POKEing values into memory at various locations, requiring a programmer to memorize a long list of important numbers.

Because it doesn’t interface with the system’s unique features to any great extent, it’s a very generic version of BASIC. But this means it can be ported to other systems without tremendous effort. Fancy-pants commands don’t have to be converted to another architecture’s norms, because there aren’t any! And lots of systems used the instruction set and general capabilities of the MOS 6502, upon which the Commodore 64 is based, so now we have versions of its BASIC that work on the Nintendo Entertainment System and the Atari 800. They’re both based off of Project 64, an annotated disassembly of the C64’s BASIC and Kernal ROM code.

The NES port should be able to run on actual hardware, but you’ll need the Family Keyboard that was made to work with the Famicom’s own official BASIC to use it, which was only released in Japan.

By the way, the reason that I write BASIC in all-caps is, it’s an acronym! It stands for Beginners’ All-purpose Symbolic Instruction Code.