Scene productions

Three PETSCII pieces

I've recently developed an interest in making PETSCII art. Here are three examples, along with some information about the PETSCII character set.

Tenbo

Tenbo is Swahili for elephant. I sumbitted this picture to the Plain PETSCII Competition at CSDb, in October 2017. There were 60 entries in the competition, and Tenbo ended up on 26th place.

Description of the medium

Very briefly, these are the restrictions:

  • A PETSCII picture consists of 40x25 characters.
  • There are 128 characters to choose from, each 8x8 pixels in size.
  • The foreground colour of each character, and the global background colour, can be selected from a fixed palette of 16 colours.
  • Reverse video can be enabled or disabled for each individual character.

These 128 characters are available:

A note on character codes

PETSCII (PET Standard Code of Information Interchange) is the default character set used in all 8-bit computers from Commodore. It is partially compatible with ASCII.

Now, PETSCII art is actually a misleading term, because PETSCII is just the mapping from numbers to abstract glyphs. But the PETSCII artist relies heavily on how those 128 glyphs are represented, at the level of individual pixels, in the default C64 font.

On a technical sidenote, we are actually representing the characters using C64 screen codes, which is a different way of assigning numbers to the characters. In this representation, the eighth bit is used to select between the regular and the reversed version of each character: Code 01 represents the letter A, and code 81 (in hexadecimal) represents the inverted letter A. The way it works on the C64, is that there are actually 256 entries in the ROM table that contains the font. The second half of the table is just like the first, but with all bits inverted.

The Reckoning

This was my second entry in the Plain PETSCII Competition, where it reached a shared 8th place. Yay, top ten!

If I were to redo this picture, I would consider picking orange for my global background colour, instead of black. That would allow me to add more swirly details to the flames. On the other hand, it would force me to surround the figure and parts of the skyline with an orange halo.

Quirks in the PETSCII charset

65

74

The default C64 font is peculiar in that it contains some duplicate characters. Screen codes 65 and 74, for instance, are identical. That's because the C64 font was designed to deliver readable text over composite video, at the breathtaking resolution of 320x200 pixels. High-resolution details in the horizontal direction would bleed into the colour part of the signal, and create undesired artefacts on the screen. So while the original PET (monochrome display) and the VIC-20 (176x184 pixels) could have separate screen codes for thin vertical lines and thick vertical lines, those characters ended up being identical when the font was adapted for the C64.

5C

68

Other quirks are less readily explained. For instance, consider the half-shaded screen code 5C. The left half is a checkerboard of the foreground and background colours, and the right half is a solid block of background colour. The character can be inverted, of course, in case you want the foreground colour in the right half of the character. But there is no corresponding character with a checkerboard pattern in the right half. Likewise, screen code 68 is shaded in the bottom half, but there is no character that is shaded in the top half. So if you can draw a figure with graphical characters, you may not be able to draw its reflection.

The Real Party Is Down Under

I sent this as a remote entry to the Syntax party (November 2017) in Melbourne, Australia, where it ended up on 11th place in the PETSCII compo.

The seahorse is an example of a detail that cannot be flipped horizontally, because of the half-shaded character making up the back of its head, and the comma on top. But the little critter has to face the rest of the image, in order to make the picture coherent and draw the viewer's eye towards the main action. Therefore it has to be located in the right half of the screen, and consequently the small fish and the human in the boat have to be on the left-hand side.

In this way, small-scale quirks in the character set can influence large-scale decisions in the composition. The PETSCII artist must learn to work with the restrictions rather than against them. And that's what makes it fun!

Downloads

While you can already see the images at full resolution above, you might want to download them as C64 programs in order to view them on the real thing.

Posted Thursday 1-Mar-2018 19:54

Discuss this page

There are no comments here yet.