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

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.