This article is part of a series exploring the reverse engineered inner workings of Downland, a game for the Tandy Color Computer, released in 1983, written by Michael Aichlmayr.
If you look at the game’s video memory, internally Downland is actually a 1 bit game. The graphics are effectively black and white.

But the game actually has color. How does that work? Notice the spacing between the pixels on the floor and the diamond. The game draws its graphics in such a way to take advantage of CRT artifacting effects. These effects helps the game simulate a limited set of colors. This was a common technique used at the time, as seen on other computers like the Apple II.
Colors
Because of how the NTSC television signal works, different pixel patterns determine which color will be displayed and how it blends with other colors.
On the CoCo’s 256×192 graphics mode, each pixel is represented by a single bit. The artifacting in this mode interprets pairs of bits like so:
- 00 will be black
- 01 will appear blue
- 10 will appear orange
- 11 will be white
- A blue pixel next to an orange pixel (01 10) will also be white
The Tandy Color Computer also has a quirk where the blue and orange colors can be swapped when it powers on.


(To me, the blue version is the canonical version.)
The above is a very horribly simplified explanation of the Coco’s CRT artifacting. A much deeper dive on how all this works can be found in this great Coco Town YouTube video:
But in practical terms, the graphics mode effectively gives a 4 color 128×192 screen.
This “effective” resolution explains what I was saying about drop placement in the previous Downland Unearthed article. The game logic works at 128×192 while the graphics are drawn at twice the horizontal resolution. This counts for both the background and sprite drawing.
Another way of saying it is sprites need to move horizontally every two pixels, to maintain color stability when going across the screen. Otherwise the pixel colors would cycle like a (really limited) rainbow.
Here’s a capture of a hacked version of Downland_C simulating the player and the ball being placed every pixel instead of every two:

One-Bit Shapes
What I find interesting is the way the sprites have been drawn to take advantage of the CRT artifact effect. Here’s are side-by-side comparisons of the 1-bit graphics and the color graphics. The color versions were produced using the XRoar emulator in the the 5-bit LUT Composite rendering mode.


If you stare at the player sprite too long, you start to notice that he’s got blue AND orange hair and you can’t tell what the orange and blue parts of his face are supposed to be. Is that a blue eye at the lower half of his face? He has identically sized mustache and eyebrows? Also, he has ridiculously long arms and his shirt either has a single button or he’s just showing off his nipples. It’s hard to tell as this resolution. And who knows what the white pixel under his hand is supposed to represent!


Without color, Downland’s iconic bouncing enemy of doom is finally revealed to be just a killer walnut.


For a diamond, it’s drawn pretty plain, isn’t it? Still, this orange upside-down triangle gives 400 points! (more or less…)


M is for money, obviously. I like how the stray pixels add a kind of fringe around the top of the money bag.


Dithering makes straight lines? *mind blown*


I never know what the shapes on the doors are supposed to represent. A porthole and a wheel? Are they actually doors from a submarine? Is Downland actually set underwater?
Rom Storage
All the sprites in the game are stored with these patterns, as seen here using a raw pixel viewer to look at the rom’s contents:

(Notice how some of the sprites like standing left and right are perfectly mirrored but some, like the jump, aren’t.)
The one exception to this is the game’s font. It’s stored without effects. I couldn’t get the viewer to align the characters perfectly, but you can see that they’re made up of solid pixels.

Each character is 8 bits wide and 7 rows tall. The character drawing function draws each row while applying (and’ing) a bitmask (01010101) on top to turn off every other bit. This causes the character to appear blue.
I wonder why the mask wasn’t pre-applied. The game could’ve saved a few cycles when updating the timer and score to the screen. Maybe the author wanted to keep the font pristine for easy edits, not minding the performance hit. Or maybe he started with white text and then changed his mind.
Half The Battle
So that’s how Downland takes advantage of CRT artifacts to generate its graphics. One obvious unanswered question is how the graphics are actually drawn on screen. The graphics are 1-bit per pixel but writing to memory is done eight bits at a time as a byte. I hope to explain how Downland draws it sprites in the future.


















