Home Computer Graphic Character Sets Compared

8-bit microcomputer graphics were, compared to the graphics cards and chips we mostly use today, pretty limited. While machines like the Commodore 64 and Atari 800 allowed for a fully programmable display, not all devices of the age provided for that.

One solution was what I am told is now called semigraphics, which means using generic characters that are pre-defined by the system in combination with each other, piecing together larger images from symbolic building blocks.

ASCII Art, that fading art form created to make imagines on terminal displays, is a form of semigraphic. The IBM PC character set supported semigraphics mostly through its famous Code Page 437, which provided a variety of line-drawing characters , but looking at it it’s evident that it wasn’t intended for general graphic use.

Different platforms from the time varied widely in their support for graphic characters. Let’s take a quick look at what the options were.

Apple

The base Apple II had a very limited character set:

Images in this post taken from Wikipedia

The Apple II’s character offers little opportunity for graphic use. Of course the Apple II is a miracle through and through for being designed almost entirely by one person, Steve Wozniak, and that includes its character set. Note that it doesn’t neglect reverse video, and even has hardware support for flashing characters. Still though, not much you can do with it other than repurpose punctuation and letters.

PETSCII

The PET and successors, by contrast have an excellent character set for makeshift graphics. The image above is of the Commodore 64 version, but the same graphics are used on old PETs, the VIC-20, the Commodore 128, and even the TED-based machines, the Plus-4 and Commodore 16.

While they’re not reflected in the above image, the whole character set can be reversed too. These machines reverse characters by, simply, duplicating the whole set in ROM as negative images.

PETSCII contains:

  • Four playing card suit glyphs
  • A decent set of line-drawing characters, with all intersections both sharp-edged and curved corners
  • Diagonal slopes, diagonal lines and crossed diagonals
  • Horizontal and vertical lines at different places in the character cells
  • Frame corners, which combined with the lines can make decent rectangles
  • Horizontal and vertical bars at several different widths
  • Half-tone checkerboards and half-character checkerboards (on PET systems these have a single-pixel grain, but on later machines the checkerboard squares are 2×2 blocks)
  • 4×4 blocks in enough combinations that, combined with their reverse versions, can be used to approximate a 80×50 pixel display with plain characters
  • Symbols for English pound and Pi

PETSCII is one of the most versatile character sets from the time, and you can do a ton with it with some thought and ingenuity. There used to be a Twitter account (in the days before the Muskening) that posted images of robots made out of PETSCII characters. And because the character set is included in ROM, one doesn’t have to create their own character graphics, using up 8K of system RAM to hold them, to have rudimentary graphics. (In fact, the original PET didn’t even support redefining the character set, so PETSCII was all you got.)

ATASCII

Did Atari consciously follow the naming of PETSCII, with their own self-branded ATASCII? Both are riffing off of ASCII, which stands for American Standard Code for Information Interchange. So I guess PETSCII, going by Commodore’s own claimed meaning for PET, means “Personal Electronic Transactor Standard Code for Information Interchange,” which is pretty terrible. But the ATA in ATASCII makes even less sense, since ATA obviously is just the first three letters in Atari.

While it has nowhere near the sheer number of graphic characters that PETSCII has, it had a decent number, including line drawing, slopes and diagonal lines and playing card suits. Of particular note is that the Clubs symbol has the same hole in its middle that it does in PETSCII.

TRS-80

Wikipedia doesn’t offer a screenshot chart of all the symbols of the TRS-80 set, but it does an HTML Table display, which the above is excerpted from. The only graphic characters it has are these off 2×3 cells, which are like the 2×2 blocks in the Commodore set but with an extra row. This gives its screen slightly finer resolution.

The TRS-80 had fairly basic graphics, it seems: those characters appear to have been it as far as graphics goes. The page I saw that described its capabilities even had a name for those blocks: squots. I think that’s a perfectly fine name for these kinds of boxes, whether it’s on a TRS-80, Commodore 64 or other machine.

Sinclair ZX-81

The ZX-81 had a very limited character set. While it has checkerboard and 4×4 block characters, their inclusion comes at the cost of an apostrophe, an at-sign, and even an exclamation point.

The following Spectrum removed the checkerboards, but added the exclamation point and apostrophe, as well as a lowercase alphabet. Still no @ though.

DOS Code Page 437

This is the one that most of you probably already know. It has its own version of squots, but they’re incomplete: it doesn’t have quarter-box or squot-grained checkerboard characters, tlhough it does have three forms of half-tone, a rather extra assortment of double-lined box characters, playing card suit glyphs, and a number of unusual characters up above that will be very familiar to anyone who played PC Rogue.

DOS Code Page 437 was in many ways the end of the venerable tradition of character set graphics. Neither the Atari ST nor Amiga had much use for general purpose character graphics, instead choosing to use their sets’ spare capacity for international characters, a noble offering, but less useful for graphic use.

It is worth noting some of the characters in the ST’s set, though:

Some miscellaneous glyphs like arrows, an X mark and checkbox, a bell and musical note, the Atari logo in two characters, a bunch of digital readout numbers, and four characters that seem to form a face. Here, I’ll piece it together for you:

Who might this handsome person be? It’s a little hard to make out at this scale, but it’s intended to be a pixel-art representation of “Bob” Dobbs, icon and symbol of the Church of the Subgenius!

It’s not a good set of squots, but it’s not bad.

Sundry Sunday: Umi the Cat in Super Mario Galaxy

Sundry Sunday is our weekly feature of fun gaming culture finds and videos, from across the years and even decades.

Someone edited some footage of Super Mario Galaxy, but superimposed their cat into it, and it turned out really well, and here it is. It’s like only a minute long. You’ll enjoy it. I mean why wouldn’t you? It’s a kittycat!

An Ad From Compute Magazine #001

This is an ad, on the first page of the first issue of Compute Magazine, for “the pet program” from “softside software,” names all in lowercase. I have no idea if any copies of these programs remains in existence in our universe, but two places to look would be zimmers.net’s FTP archive and the Silicon PET Archive, and even in this era of the internet there are a fair number of PET software archives remaining.

Softside was far from the only company to put out its hopeful shingle through the pages of early computer magazines. At the time, magazine publishing worked with a lead time of several months. It is possible that Softside Software had gone under even by the time this ad saw print, but then again maybe not. A forum thread on AtariAge mentions several BASIC games sold by a “SoftSide,” apparently an Atari 8-bit magazine-on-disk, but they were based in New Hampshire, and the Softside of the ad was in New York.

Notes on the programs proffered:

  1. Graphics Pac 2: I’m not sure what they mean, as the reference I’ve found claims the PET didn’t have a bitmapped display, but there were several models, and further add-on cards that added bitmapped displays, an 80-column mode, and even (gasp) color. A simple “Microsette” itself would not be enough. We are near the end of the PET’s reign as Commdore’s core product though.
  2. Assembler 2001: It is easy to laugh this off nowadays when assemblers are mostly free software (and thank frog for that), but this was before that, and before the internet. $16 is a great price for an assembler from that time.
  3. Bike. Apparently it was a Hammurabi/Lemonade Stand style game, where you made business decisions through simple menus and entering figures. Maybe someday someone will write such a game about running Commodore. You might scoff at the warning that “Bike is dangerously addictive,” but standards were lower then. It was 1979; Wizardry wouldn’t be published until 1981. “Worth a million in fun, we’ll offer Bike at $9.95.” I admire their chutzpah.
  4. Pinball. “Dynamic usage of the PET’s graphics features” would have meant using its hardcoded, unchangable ROM graphics character set, with no sprites. “With sound!” That would mean its simple piezoelectric speaker. Don’t expect Raul Julia’s voice, or even Gorgar’s, to talk to you from the machine.
  5. Super Doodle. Certainly of no relation to Omni Software’s popular Commodore paint program. Super Doodle lets you use any number of colors so long as they’re black or green, and a resolution of 40×25 characters. “Why waste any more paper.” Well probably because loading your notes off of tape would take too long.
  6. Driving Ace. Offers two games for $9.95. The description doesn’t give a good sense of what they were like, but there are essentially only three kinds of racing game: scrolling in one direction (Monaco GP style), one screen or scrolling all around (Sprint style), and 3D (Pole Position through to Ridge Racer to F-Zero). I presume one of these is like Sprint and the other is like Monaco GP; I don’t think the PET was capable of even a slight approximation of 3D, but then, Pole Position’s hardware shouldn’t have been capable of what it could do either.

The ad is from Compute Magazine, most often stylized as COMPUTE! with an exclamation point, grew out of The PET Gazette in 1979. That former publication centered around the computing devices from Commodore International’s subsidiary, Commodore Business Machines. CBM had been around for over two decades up to that point as a maker of typewriters, adding machines and calculators, but in a maverick move by its co-founder and president Jack Tramiel, they bought MOS Technologies, which had just startled the nascent computing world by creating an ultra low cost microprocessor, the 6502. Tramiel had learned from a bit of a bastard move by Texas Instruments, who used their ownership of much of their supply chain to release a line of calculators that sold for less than Commodore’s production costs. Now, Tramiel owned the company that produced the chip that would soon launch the personal computing revolution, and could make other chips too, and Commodore was set to soon pull off Texas Instruments’ trick on the home computer industry with the VIC-20 and Commodore 64.

But until then they made other computers. They made the KIM-1 “single board computer,” and the PET 2001 and other machines with the PET branding. The PET Gazette’s audience was originally those machines, but burgeoning success convinced them to publish a more generalized 6502-focused magazine, and that magazine was Compute.

I have more to come on Compute, which in many ways was the archetypal type-in program magazine. It was far from the only one; other magazines offering type-in software at the time, names now even more obscure than Compute’s, were Creative Computing, Family Computing, and Commodore’s own publications Commodore Magazine and Power Play. Compute would for a while languish somewhat in the shadow of its own sister publication, borrowing part of its name from its predecessor, Compute’s Gazette, which focused on Commodore’s computers, the VIC-20, the Commodore 64, and later the Commodore 128.

The PET Gazette was founded by Small System Services Inc., and was published out of a shop, the Corner Computer Store, in Greensboro, North Carolina. Presumably that changed as the subscription rolls increased. Eventually Compute would be sold to ABC Publishing, a subsidiary of the broadcast network, and it would continue happily for several years. When its fortunes began to wane it was sold, first to Penthouse Publishing (really!), where its logo was redone to resemble that of its own publication Omni, then later to Ziff-Davis, who only wanted its subscriber list anyway; I don’t think they ever published an issue. As it became clearer that the future would be MS-DOS and Mac, its focus shifted, but they kept up their small systems focus for surprisingly long. I don’t think the Penthouse era provided any coverage that wasn’t DOS, Windows or Mac, but it would take time to check. Corrections later, if necessary.

On PETSCII

We’ve brought up a couple of examples of Commodore PET software lately, which as I keep saying, is interesting because the PET has no way of doing bitmapped graphics, sprites, or even definable characters. Its characters are locked in ROM and cannot be changed. So, it includes a set of multi-purpose characters that was used throughout all the Commodore 8-bit line, even as late as the C64 and C128, which having definable graphics didn’t need these kinds of generic graphics characters, but they were still useful for people who didn’t want to create their own graphics.

The PETSCII characters, as used on the Commodore 64 (image, with some editing, from Wikipedia). The graphics set also includes reverse-video versions of each character.

Back on my Commodore coding days I became very familiar with these characters. I think they’re much more universally-applicable for graphic use than the IBM equivalent, the famous Code Page 437, although that’s mostly because PETSCII doesn’t bother defining supporting so many languages. Code Page 437 also uses a lot of its space for single and double-line versions of box-drawing characters, although on the other hand it doesn’t waste characters defining reverse-video versions of every glyph.

PETSCII has:

  • A space and reversed space, of course.
  • Line drawing characters for boxes of course: vertical and horizontal lines, corners, and three- and four-way intersections. There are also curved versions of the corners.
  • More line-drawing characters for borders.
  • Still more horizontal and vertical lines, at each pixel position within their box.
  • With the reverse-video versions, enough characters to effectively do a 80×50 pixel display, as if it had a super low-res mode.
  • Different thicknesses of horizontal and vertical lines too.
  • Diagonal lines, and a big ‘X’. Note that on the PET and Vic-20 these lines were all one pixel wide, but on later computers with both better resolution and color graphics they were made thicker, which means diagonal lines have “notches” between character cells.
  • Other miscellaneous symbols: playing card symbols, filled and hollow balls, and some checkerboards for shading. On the PET and Vic, the shading characters were finer, while on the other 8-bit computers they were made of 2×2 boxes.

There are resources that let you use PETSCII to create old-school computer art, like this PETSCII editor, Petmate and Playscii, and for a bunch of examples of what you can do with it you can browse through the Twitter account PETSCIIBots. And this blog post from 2016 both makes the case for PETSCII as a medium for art and provides some great examples of it.

Some robots from PETSCIIBots

PETSCII Bros

We love games made for unlikely hardware, and PETSCII Bros. fits that bill like a duck’s dentures. Like we explained in the post about that PET demo from a while ago, the PET didn’t have changeable graphics characters and no bitmap mode at all, and so it wasn’t what we’d consider a games machine. But it did come with a set of interesting graphics characters that, among other things, had a set of 16 characters that let programmers use the screen as a super-low-res 80×50 pixel display.

PETSCII Bros is a PET action game that uses those characters (long called “PETSCII” as a cheeky reference to ASCII) for an actual game, that plays similarly to Nintendo’s classic Mario Bros. arcade game. Of course you’ll need a PET, or an emulator (such as the one that comes with VICE) to play it. Or if you’re just passing interested, you could watch this video to see how it works:

PETSCII Bros. (for the Commodore PET, itch.io, $0)

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!