1–2/2017 WiderScreen 20 (1–2)

Unplanned Blocky Puzzles – Creating PETSCII for the Commodore 64


PETSCII (PET Standard Code of Information Interchange) equals to Commodore ASCII graphics mode. In this short article I will focus on Commodore 64 PETSCII that has its own characteristics.

Tommi Musturi
comic artist

Commodore 64, demoscene, PETSCII art

Tommi Musturi
comic artist

Viittaaminen / How to cite: Musturi, Tommi. 2017. ”Unplanned Blocky Puzzles – Creating PETSCII for the Commodore 64”. WiderScreen 20 (1-2). http://widerscreen.fi/numerot/2017-1-2/unplanned-blocky-puzzles-creating-petscii-for-the-commodore-64/

Printable PDF version

PETSCII (PET Standard Code of Information Interchange) equals to Commodore ASCII graphics mode. While PETSCII was born for the PET machines of the late 70s, in this short article I will focus on Commodore 64 PETSCII that has its own characteristics. C-64 PETSCII is also relevant to focus on because of the recent boom of PETSCII images and demos. However, a lot of points made in this article concern other ASCII formats, too.Why to work with a 35-year old graphic mode is of course a good question. One reason is the fact that C-64 PETSCII was never a well examined graphics mode. It was mostly used for floppy disk directory art, BBS graphics and BASIC programmes by beginners. In other words, PETSCII was not seen as a competetive craft until the past few years. The other reason is the fact that with its significant limitations PETSCII actually gets you closer to creativity – the artist becomes as much a thinker as a creator. If I had to describe C-64 PETSCII in few words I would say it is ’an old puzzle with multiple solutions’.

C-64 PETSCII offers artist two colours per character. One colour is global while the other one can be selected individually for each 8 x 8 pixel character position. The colours are selected from the C-64’s fixed palette of 16 colours. The C-64 screen (not including the border area) is 320 x 200 pixels with 40 x 25 characters of 8 x 8 pixels. The basic C-64 PETSCII character set provides 256 different symbols to choose from. In comparison to other 80s’ home computer platforms, the C-64’s 16-colour palette is indeed very competitive. This is mainly because of the bearable colour intensity that makes it possible to create a great variety of colour slides by using any dark, any mid-tone and any light colour next to each other. The palette also provides enough cold and warm colours in different tones.

The C-64 basic character set includes 128 different symbols that can be divided into grotesque letters with glyphs and unique graphic symbols that are included to support low-end graphics. These symbols may have been created for beginners that wanted to have some kind of graphics in their first C-64 BASIC language programmes. The other 128 characters are inverse versions of the first half. How the C-64 symbols ended up being as they are rather follows from the creative work of a few designers rather than particularly good planning for a graphic symbol set. An experienced PETSCII artist would most probably recreate most of them. However, despite its weaknesses C-64 PETSCII gives an artist a lot of opportunities to explore. The key issue is that those 256 characters already provide an almost endless amount of possibilities, while the limitations of the graphics mode provide the necessary challenge. Limitations tend to focus creative work, as there are not too many ways to go. In a way, PETSCII can be seen as a very functional graphic mode. Even more so because of the fact it is a highly compressed format. When working with only 64 kB of memory (minus the operating system) that is still a valid issue.

What the artist has to think of beforehand is the global colour, as it will affect the whole image. Instead of the usual choice of black on the background, it might be better to think about the whole through the global colour. A mid-tone makes it possible to have one darker and one lighter colour ’around’ the global one without any problems. In other words: the artist can draw with light and shadow. This is of course just one approach, but it already gets rid of a lot of problems.

The PETSCII character set is relatively bold with practically no one-pixel thick letters or symbols. This already gives all PETSCII visuals a certain clear look. In low-end computer graphics with limited resolutions and amount of colours, manual dithering has always been the main way to mix colours. With the bold PETSCII graphics dithering is almost impossible to do, so such mixing of colours is either not used or it is done by adding more ’noise’ to make the colour clashes vanish. Many PETSCII artists also prefer styles where colour clashes are visible on purpose. Colour clashing refers to a problem in visuals where the colour limitations appear in an unwanted way. This, too, is one of the key issues for a creative artist – to be able to turn disadvantages into advantages. Using visible colour clashes usually leads to a more comic-like appearance. PETSCII visuals are typically not very detailed because of the limitations, or at least creating something detailed takes a lot of time and talent. All in all, the characteristics of PETSCII graphics can be defined as bold, colourful, clear and functional.

Creating a PETSCII image is very much about making observations and improvising based on them – one looks at the image, tries different characters and colours, and finds a bearable solution after a while. This is also something I personally like very much – finding a combination of characters and colours that really work and fit the purpose is often hard work, sometimes pure luck. Somehow it all reminds me of playing with a random Lego set where the pieces were not really made to fit together.

What makes PETSCII art differ from ’normal’ Commodore 64 visuals is that it is less technique-oriented. An experienced PETSCII artist may have a handful of tricks that help him/her on the way, but in the end most of it is created, thought or improvised along the way. Meanwhile, to create a somehow good image using normal C-64 graphics modes already requires much more knowledge on pixeling techniques. Condsidering this, in a way, PETSCII is a more creative way of creating visuals for the C-64. In addition, it is an easier approach for beginners.

The current PETSCII boom of the still very active C-64 demoscene is yet another example of the power of tools. During the 80s or 90s there were almost no tools for creating PETSCII with. Generating images in pure BASIC language or machine code is very tricky indeed and does not support the creativity of an artist at all. During the late 80s there were a few graphic editors devoted to BBS graphics, but all of them lacked in usability and, therefore, made it impossible to do the testing and improvising that PETSCII requires. The lack of good editors largely fed the view that PETSCII was not a usable graphic format. However, the current trend is totally opposite. The post-millennium C-64 demoscene has been more and more interested in the real ’core’ of their computer.

When Markku “Marq” Reunanen from the demoscene group Fit released his PETSCII editor (that also supports other 80s’ platforms), there was finally a decent tool that met the current standards of graphic artists. Suddenly PETSCII was available to everyone, which created a flood of visuals – seemed that everyone in the demoscene was testing this challenging ’new’ format. In the end Marq’s editor affected the aesthetics of the whole C-64 demoscene. After the release of the editor, PETSCII competitions have become a common thing at demoscene parties, demos have started to use PETSCII as a normal graphic format, and even games have been made by using only PETSCII. Benjamin Franklin’s well-known quote Man is a “tool-making animal” fits this case as well. Download Marq’s editor for free at: http://www.kameli.net/marq/?page_id=2717.

After working randomly every now and then with PETSCII for the past few years, I came to a conclusion that with few modifications most C-64 graphics could have been done with PETSCII. In the graphic mode itself there are still lots of secrets to be found – and they will be found as after its 35 years of existence the C-64 demoscene is still hungry for new things. There will be more revised PETSCIIs for specific uses, even though not every stone yet has been turned with the original one either.

Next I will shortly explain a few graphic ideas behind some of my images. The images shown are made as a hobby and often as well as a test of a specific technique. I do not consider these in the art context, but rather as illustrations. Most of them are doodled for fun without much thought for the actual motives. As PETSCII was new for me when I started with Marq’s editor, many of the works I have done have been merely tests on simple things like materials, dithering, color clashes and so on.

Beaver Shot
The image uses horizontal, vertical and diagonal angles as most of the PETSCII symbols support that. The global colour in this case is yellow. I wanted to try out simpler use of colours as well.
This image was made for a demo ’Total’ by Extend. The idea was to animate the PETSCII diamond with code by revising the character set in real time. An idea that we will most likely develop in our futher productions. See the demo at: https://www.youtube.com/watch?v=4OZpcqmHk-A&t=87s
A portrait of John Coltrane and an example where the global colour is set as a mid-tone (dark grey), and lighter and darker areas are drawn around it. This is indeed an image I am very satisfied with. This because Coltrane is still recognizable. It is, of course, clear that such a limited mode as PETSCII is not at its best with realism. My later tests with portraits have not been as successful.
Another try at a more realistic image with dark gray as the global colour again. The colour clashes are left visible on the face of the character on purpose. Some noise is added to mix it a bit.
Pipe of Picard
Another stylistic test where I actually tried to use dithering for PETSCII. It seems that dithering works all right with PETSCII, but in smaller portions. The global colour is orange.
Planet of Zoo
Yet another face made for the Zoo party 2017. A test on how PETSCII could support something ’furry’. The global colour is set to black.
Six Shots
In this image I wanted to try out making metallic gleams with PETSCII. Horizontal and vertical forms are supported well by the mode. The global colour in this image is black.
Another technical approach. With the global colour set to black I have tried to hide the colour clashes by using lots of noise. The motive is very simple, which supports the technique as fine details would have vanished among the noise.
Smoke King
This must have been my first post-millennium PETSCII image. I did not try to hide any of the colour clashing or focus on a specific style while creating it. The global colour is blue, which sets the overall colour of the piece.