Pixeling in the Retrosphere

Creating a Comic Book on 1980s Hardware

Pixel Art Comic Project by Marin Balabanov


III. The Art Software

NEOChrome as the Chosen One

I chose to produce the artwork in NEOChrome, one of the simpler paint applications on the Atari ST.

NEOchrome was the first paint program developed for the Atari ST line of computers. While it is primitive by nowadays standards, NEOChrome offers many features that were not common at the time. Today we would classify it as a bitmap graphics editor for editing "raster" or "bitmap" images, i.e. images made of pixels as opposed to vector graphics that are made of lines and curves.

NEOChrome Master

Figure 20: NEOChrome on the Atari ST features many of the same tools as MacPaint e.g. line and pencil tools, copy and paste tools, and a text tool. Moreover, it provides powerful rastered color palette (middle) and basic animation tools. (Source: Marin Balabanov)

The Atari ST offered an overall palette of 512 colors. However, in its low-resolution mode of 320x200, only 16 of these colors could be displayed on-screen at the same time. At 640x200, its medium-resolution, only four colors could be used and only monochrome black and white in high-resolution at 640x400. I decided to use the low-resolution mode with its 16 colors, because this was the standard maximum. This is quite a challenge, considering that the human eye can distinguish millions of colors.

NEOChrome was developed at the Atari Corporation as a tool to create graphics during the initial development of the Atari ST. It was written by Dave Staugas, a programmer at Atari and co-author of the ST's operating system. Early versions of NEOChrome introduced a nifty animation feature called color-cycling. Cycling through the colors of a part of the palette would look like limited animation.

NEOChrome adhered to some of the established user interface elements of Apple's MacPaint, which had been introduced in 1984 on the original Apple Macintosh. It does have a slight resemblance to MacPaint by using icons for the tools and the mouse to draw with.

The user interface of NEOChrome provides many of the same tools as paint applications of the time. You could draw freehand, draw lines and shapes, fill areas, you could copy and paste, and you could add rudimentary text. By today's standards, these are very pedestrian features that had been established by MacPaint a year prior and arguably by paint applications on 8-bit computers like Koala Painter on the Apple II and Commodore 64. NEOChrome did deviate from the MacPaint-paradigm in one key aspect: the tools area occupied the lower half of the screen and permanently showed a magnification zoom at the tip of the drawing tool while it traversed the canvas (more on this below).

The advanced version, called NEOChrome Master, which also allowed for simple page flip animation could rotate copied screen areas in small increments and play chiptune music in the background during a user's long drawing sessions.

The Zoomed View

It is important to remember NEOChrome was a color paint program and the image background was black by default as opposed to the white canvas of MacPaint. In NEOChrome, you could only see the top half of the painting canvas, while the bottom half was occupied by the color palette and the tools. At the first sight, this might seem like a big disadvantage considering the small screen, but the bottom part of the screen also provided two ingenious features.

Whenever the user moved the mouse cursor onto the painting canvas, a part of the bottom half of the screen turned into a magnifying glass that showed each pixel in the area of the cursor. This zoomed view updates in real-time and follows the cursor everywhere it went, so that the user could at all times see exactly which pixels they were working on.

Color Picker

Whenever the mouse cursor returned to the lower half of the screen, then the magnifying area reverts to a palette of colors. Now, this is where things get complicated. On a bare technical level, the original Atari ST can only simultaneously display 16 colors on the screen from an overall choice of 512 colors, but in NEOChrome, you can actually see many more colors and pick which hue to add to your palette from 195 colors that are displayed in 13 by 15 color boxes the tools area. You can move the focus of the color selection field to show different colors from the full total of 512.

The extended NEOChrome Master

Atari Corporation distributed NEOChrome to Atari ST owners for free. This meant that Dave Staugas did not receive the royalties from actual commercial sales. So, he decided to no longer develop the application. Staugas had hidden some of the features he was not yet satisfied with, particularly the animation feature. Though he did leave a way to enable the albeit not bug free feature for more adventurous users. In the meantime, many pixel artists had adopted NEOChrome as their favorite paint application because of its speed and the permanent onscreen zoom.

In the early 1990s, programmers from the German demo group Delta Force disassembled NEOChrome's binaries to get the source code and, even though they were working in unfamiliar code, they started extending the functionalities. They reintroduced the hidden animation feature, added some more drawing tools, and improved the rotation feature to rotate objects by single degree increments as opposed to the previous 90-degree steps.

By then, the new Atari STE that had slightly extended capabilities had been released. The new machine was still straddled by the 16 color limitation, but the overall available colors had been increased to 4096, which meant that color ramps and gradients were much smoother. The new programmers from Delta Force now adapted NEOChrome to take advantage of the STE's extended colors.

What do all the Bits mean?

The Atari ST and Atari STE used a Motorola 68000 central processing unit (CPU). This was generally described as a 16-bit processor. The machine's architecture was 16-bit and the processor communicated with the memory and all other chips using 16-bit lanes. Internally, the Motorola 68000 had a 32-bit architecture. This meant that the general purpose registers were 32 bits wide and most arithmetic instructions supported 32-bit arithmetic. Potentially, a computer using a 68000 CPU could address a maximum of 16 megabytes of RAM, though in practice, the Atari ST/STE could only be upgraded to 4 MB by default.

The CPU is not the only area, that bits come into play. We have discussed the graphics limitations of 16 colors out of a total palette of 512 colors. The Atari ST's display hardware had a Digital-to-Analog Converter that used 3-bits for each color. This means that eight levels for each RGB channel (red, green, and blue) could be displayed. So, the overall RGB palette of 512 colors had 9-bits. The STE models had a Digital-to-Analog Converter with 4-bits, i.e. sixteen levels per RGB channel, this made a 12-bit RGB palette with 4096 colors possible.

But enough about bits, lets discuss the actual colors.

512 Colors vs. 4096 Colors

When Atari released the very first STE model of their line-up in 1987, it was a bit of a disappointment. The "E" in STE stood for enhanced. It was supposed to compete better with the Commodore Amiga with its advanced graphics and sound using Commodore's custom chips. The STE's enhancements were not sufficiently competitive, so they were not widely adopted by developers of games and other applications. While the regular ST had a palette of 512 colors with a limit of 16 colors on-screen at the same time, the enhanced STE had an overall palette of 4096 colors which allowed for finer gradients and shading, but it was still limited to the same 16 colors on-screen at a resolution of 320 x 200 pixels. Compare that to the Commodore Amiga that was release two years prior to the enhanced Atari STE.

In the most common color graphics mode at 320 x 200, the Amiga could display 32 colors from its palette of 4096. Once you started to use the less standard modes, you could display 64 colors in "half-brite" mode, where a user defines 32 colors and the Amiga automatically provided the same colors in half their brightness. This might sound a bit cumbersome because a user could not arbitrarily choose all colors in the 64 color palette, but the halfbrite colors could be used for much smoother shading.

Color Comparison 1

Color Comparison 2

Figure 21: The regular Atari ST's 9-bit color palette (left),
compared to the Commodore Amiga's 12-Bit color palette (right)
(Source: https://en.wikipedia.org/wiki/List_of_monochrome_and_RGB_palettes )

The Amiga provided the ultimate mode for static images (i.e. not well suited for action games) called the Hold and Modify mode (HAM). This effectively abolished all color limitations, and images on the home computer could use 4096 colors at the same time. Coupled with the washed-out video displays of the day, this came close to photorealism.

The Atari STE's "enhanced" graphics did not quite provide the Commodore Amiga's features. You were limited to 16 colors out of an expanded palette. Given these graphics features, what was the point and was it important to pixel artists?

The main difference between a palette capable of 4096 colors and that of 512 colors are the finer graduations between colors. The minimum "steps" in intensity that the enhanced STE's 4-bits per RGB channel allow for, are smaller than the standard ST's 3-bits per RGB channel. While the limitation of 16 simultaneous colors is quite a constraint to work with, having a larger available palette to choose from allows an artist to work with finer shading.

Tangent: Overcoming the Atari ST's 16 Color Limitation

Some of the more perceptive readers of this document might rightfully ask: if the Atari ST can only display 16 colors on-screen at the same time, how can NEOChrome show 195 colors to pick from on the bottom half of the screen?

This is where palette-switching comes in. Dave Staugas, the developer of NEOChrome, used a software technique to traverse these hardware limitations. While it is true that an Atari ST screen can display 16 paletted colors, Staugas takes advantage of the way the screen builds an image. On a Cathode Ray Tube (CRT) monitor, the image is built line by line from top to bottom as the cathode ray traverses the width of the image. This happens so fast that a full screen is projected 50 times per second (in the European PAL TV standard) or 60 times per second (in the North American NTSC TV standard).

Staugas wrote the NEOChrome color palette in such a way that he took advantage of the precise timing that the individual scan lines need to display the full image. In the tools section, he switches the palette of the available 16 colors while the image was being built on the screen - every five or so pixels in the color picker section. This allowed him to overcome the hardware limitations of the Atari ST through clever programming.

Palette switching along every scanline

Figure 22: Illustration of the path of the electron beam on a CRT display (Source: Marin Balabanov)

Interrupts of the processor were occasionally used to swap out the 16 colors of the palette part way through drawing the screen. The most straightforward way was to do this at the start of every raster line. Then every line drawn on the screen had its own palette. Applications far more advanced than NEOChrome could change the palette in the middle of a line to achieve 48 colors per line. This method is much more computationally intensive and requires precise timing of the display hardware.

Alas, this programming trick was only used for the comfort of the user, so that they can select the right color for their 16 color palette instead of putting each individual hue together from its RGB values. This does not mean that pixel artists could actually paint in more than 16 colors on the screen.

There were other paint programs that used the same advanced programming techniques to transcend the original limits of the ST's hardware and enable pixel artists to use as many of the 512 colors available on the Atari ST in their pictures at the same time. The big disadvantage of these tricks is that the more colors you use beyond the limitation, the slower the application becomes. The Atari ST's Motorola 68000 CPU needs to put in the extra work to switch palettes at every scanline, or even multiple times per scanline. The most famous paint applications to use the palette-switching trick were Antic Software's Spectrum 512 (1987), GFA Systemtechnik's GFA Artist (1987), and Eidersoft's Quantum Paint (1988).

For the purposes of this project, we will focus on the Atari ST's native limitation of 16 colors.

The Right 16 Color Palette

Now that we have gone through all the technical aspects of colors on the Atari ST/STE, the next big decision was to select the right colors. The easiest method is to pick three main colors e.g. blue for the sky, a skin color, and green for the forest backgrounds and then simply create four or five shades (ramps) for each. If you account for white and black, this occupies all 16 colors.

I didn't want to use the easy method. This is limited and makes the resulting palette to miss the brown tones needed for the trees, as well as the grey tones needed for some of the other characters in the comic.

Putting together a versatile palette with only 16 or 32 colors has been the holy grail for many a pixel artist. Fortunately, the community at the pixel art platform called Pixel Joint (pixeljoint.com) has been slowly chipping away at this problem over the decades. There have been a number of strong and versatile palettes put together by community members, but the general consensus is that the best 16 color palette was put together by the user Dawnbringer. He has created three powerful palettes, one called DB8 with 8 colors, another with 16 colors called DB16, and DB32 with 32 colors that can be used on a Commodore Amiga. He has made the palette available on Github for general use at github.com/geoffb/dawnbringer-palettes DB16 is particularly well suited for the Atari STE because it uses only 16 colors, but requires 4-bit 4096 color palette.

Dawn Bringer 16 Color Palette

Figure 23: DawnBringer's DB16 color palette... yes, these are only 16 colors!
(Source: http://pixeljoint.com/forum/forum_posts.asp?TID=12795 )

Dawnbringer's DB16 colors do not use straightforward ramps for each of the "main" colors, rather, the colors occupy a very wide range of hues, while some colors provide different intensities. This allows them to be combined with each other, depending on whether a specific object should be shaded from light to dark or from one hue to another without any change in brightness.

Let's look at an example. DB16 has three widely different tones of blue, three grey tones, two brown tones, only two greens, orange, a Caucasian skin tone, and yellow. The brightest color is not white, but a bluish off-white. The darkest color is not pure black but an unbalanced dark grey with a nearly imperceptible blue tinge to it. This smart selection of colors enables an artist to ramp from dark to light in different combinations. Instead of using a light green and then make a gradient to slightly darker shades of green to end up in a dark green and black, the artist can set the two green tones in the middle of the intensity, but use dark brown and the dark off-gray for the darker gradients, while using yellow and the bright off-white for the lighter sections. This method can be used to create admittedly limited and perhaps not extremely smooth ramps for each of the colors, but it creates the impression that there are many more colors available.

I chose to adopt Dawnbringer's DB16 palette for the comic story.

Pixel Art Techniques

Before we jump into the actual creation process, I would like to describe two standard techniques in pixel art that I used for the comic art: Dithering and Anti-Aliasing.

Dithering

Even using the expanded Atari STE color palette, the perceptible differences in intensity between different tones is too great and jarring even if two related tones are used for large adjacent areas. They will then look like two distinctly colored areas. Dithering individual pixels between the two colored areas makes them blend together better.

Dithering demonstrated

Zoomed view of dithering

Figure 24: Dithering creates smoother gradients - left, as seen in the zoomed view of the interspersed pixels of alternating color - right. (Source: Marin Balabanov)

At the intersection between the two colors, the artist begins to color one pixel with a color and then the one next to it in the other color. They then continue to do this chess board style effect along the intersection between the colors

Anti-aliasing

The low resolution of the pixel art on the Atari ST creates jagged edges when drawing curves and circles, particularly when the contours have a very contrasting color to the background. These "jaggies" are called Aliasing. The edges can be counteracted by adding pixels of the intermittent colors between the jagged edge and the background.

Anti-aliasing demonstrated

Zoomed view of anti-aliasing

Figure 25: Placing shaded pixels between areas of high contrast diminishes the jagged steps between pixels and slightly offsets the low resolution (Source: Marin Balabanov)

Combining Images to Single Page

As a true pixel art application, NEOChrome restricts the available canvas size to the screen size and resolution. This means that I can only paint in 320 x 200, giving me a horizontally rectangular canvas. The objective of the project is to produce five comic pages. A regular printed page is vertically rectangular. I decided to solve this by painting half the printed page as a screen in NEOChrome. This means that for each printed page, I created two images at 320 x 200 each.

When I had completed all of the half-page images, I exported them in IFF format. Ironically, this is the Interchange File Format originally developed on the Atari ST's competitor Commodore Amiga. I needed to be able to maintain the expanded STE colors. This is not supported by the standard ".NEO" format of NEOChrome.

I then loaded up the image halves into another piece of art software on the Atari ST called Invision Elite Color. There, I combined the image pairs into single pages of 320 x 400.