2025-03-15

How Many Colors Is That?

Documenting the Video Mode Used By Games

Somewhat recently a new feature for PixelatedArcade has been quietly rolled out which is intended to document which video mode a game utilizes for supported hardware. For some platforms and games you'll now see this in the technical specs tab; for platforms such as the PC where there is a wide variety of hardware, the resolutions utilized are listed in the display hardware supported section — click the icon there to expand the section and show the list! Other platforms, such as the Commodore 64, are more uniform and don't have different display adapters available. In these cases the resolutions supported are listed at the bottom of the tech specs. And, as it turns out, there's actually a lot of complications in documenting this information; it wasn't unusual for hardware of the era to have some seemingly bizarre design decisions that resulted from the desire to improve the display quality at a cheaper cost, and no matter what the hardware was programmers at the time had some impressive skills that could make whatever the hardware was intended to do null and void by finding clever work arounds. All of this makes it not quite as easy to document something as simple as the resolution a game uses as it may sound. Still, I wanted to get this feature going, so the point of this post is to note a few of the quirks encountered and how they are listed at PixelatedArcade.

The Quirks of Documenting Video Modes

Ideally, it would be nice to simply state the pixel resolution and available colors in a common format such as 320 x 200 (16 colors), or something similar. But this can be misleading for many games; below, I'm listing some of the oddities I came across and how the site deals with it.

The Listed Resolution May Not Match a Hardware Video Mode

In most cases, the resolution you'll see listed for a game will match a video mode supported by the hardware. For example, if you see an EGA game listed as 320 x 200 (16 colors) then the game is setting bios mode 0Dh, which conveniently offers a pixel resolution of 320 x 200 with 16 colors at a time. There are, however, a few cases where this isn't quite true. A good example of this is MCGA 320 x 200 16 colors; MCGA graphics doesn't actually have a 16 color video mode, your choices are either 4 colors or 256 colors. However, using the 256 color mode with only 16 colors at a time was so common I thought that listing these games as 16 colors was both more descriptive of how the game looked and was also an interesting destinction that would be worth splitting from 256 colors games so it could be searched for. It additionally just looked odd to me that an MCGA game which looked identical to the EGA version was listed as 256 colors.

Games Don't Always Use a Singular Video Mode

Some games switch video modes depending on the screen or location in the game in order to take advantage of different display characteristics. As an example, this is common with CGA games where text based screens (such as menus) used a 16 color text mode to improve the colors and/or resolution available while graphics screens used the 320 x 200 graphics mode. Games where this happens list both modes and where possible have a note indicating what types of screens use each mode. In these cases the list isn't intended to imply that the game can be played in either text mode or graphics mode, but rather that the game uses both of these.

Games Support More Than One Mode For a Supported Adapter

The opposite of the above, some games allow you to select a preferred video mode for your adapter and monitor combination. To use CGA as an example once again, you could sometimes choose to play the game in either 320 x 200 4 color or 640 x 200 2 color mode depending on which you thought looked better. In these cases, each supported mode is listed. One limitation of the current site layout is it's difficult to discern whether a game lets you choose a preferred mode or itself switches modes from screen to screen; I'm hoping to come up with a better way to express the difference on the page layout in a future update.

More Than One Video Mode Can Be On-Screen At a Time

Some 80's hardware was quite flexible, and programmers of the era were especially crafty. Computers such as the Atari 8-bit series, Amstrad CPC, Apple IIgs, and more had hardware support for raster interrupts (also called display list interrupts by Atari) which allowed the programmer to switch to a different display mode in the middle of the screen. A common use case for this was to use a higher resolution with sharper text but fewer colors for a scoring or status area of the screen and then switch to a lower resolution with more colors for the main graphical area where the action took place. Even without hardware support, on rare occasions some programmers even implemented such a feature purely in software (see the IBM PCjr/Tandy version of Ghostbusters for an example). These odd split screens are marked here as a "mixed" mode, so you'll sometimes see something like Mode 0 / Mode 1 Mixed (160/320 x 200) to indicate the game splits the screen into different modes.

The Number of Colors On-Screen Can Be Greater Than in the Video Mode

Similar to the scenario above, raster interrupts and other programming tricks can be used to increase the number of colors onscreen beyond what the utilized video mode supports by switching the color palette mid screen. This was very common on the Amiga and Atari 8-bit computers due to having both hardware raster interrupt support and a large color palette; vertical gradients were a very popular trick here. Also see games supporting the CGA "More Color" mode for a version that appeared on the IBM PC from time to time. Games using this type of feature list what the actual video mode used supports as I found it both impractical to count how many colors a game uses (what if, say, there's more colors in a later part of a game I didn't reach so my count is innaccurate?) and it also led to too many attributes in the technical specs making it difficult to find games that were, in reality, similar. So if you see, for example, an Amiga game listed as using 32 colors, it's quite possible some game screens may have a few more colors than that due to mid-screen palette switches.

Composite Monitor Resolution is Vague

With a T.V. or composite monitor the actual resolution may be a little less than clear due to the color artifacts that appear. With CGA for example, it may be tempting to call it a mode with 4 bits per pixel which would give you a resolution of 160 x 200 with 16 colors (and some games do indeed treat their graphics that way), but there's a little more detail than that since really the display results are the color artifacts combined with a different resolution behind it. Depending on the colors that are adjacent to each other, parts of the screen can appear sharper than others due to how extensive (or not) color artifacts are. You'll especially see this with text; where in a true 160 x 200 mode on an RGB monitor the text would be quite blocky, with the text here it appears much sharper with some minor color fringes. Another example is on the Apple II, where a common trick could be used to provide a slight increase in resolution above and beyond the 140 x 192 pixels you essentially got on a color display. Sometimes called subpixel rendering, this trick took advantage of how white was displayed on a color monitor or t.v. With the Apple II having only black and white pixels and relying entirely on artifacting for color, it took two adjacent pixels turned on to get white. The catch was it didn't matter whether they were an even/odd pair, or an odd/even pair. Mix the two options together and your graphics would be sharper than initially seems possible! Due to all of the nuances of composite graphics, systems that relied on them list the underlying resolution with the number of artifact colors possible; so for CGA, you might find, for instance, 640 x 200 (Composite 16 colors).

That One Missing Color

The ZX Spectrum, MSX 1, and many other systems based around the Texas Instruments TMS9918 display controller could only display 15 colors at a time; this seems odd at first, as 16 colors would be more common as it's a nice power of 2. As it turns out, on all of these systems there actually are 16 attributes, but that 16th attribute doesn't give you an additional color. For the ZX Spectrum, there are eight colors plus high intensity versions of those eight colors. This might sound like 16 colors total, however, for whatever reason the high intensity version of black isn't grey as is often the case on other computers, but instead remains black. So with black repeated, that gives us only 15 possible colors. On the MSX 1 and other TMS9918 systems, the 16th attribute is actually “transparent”. This is used for sprites, text, and other graphics that aren't perfectly square to be placed on a background allowing it to show through. It can also be used with an external video signal to allow text and graphics to overlay the image, although this ability, while interesting, wasn't really used for games. Once again, the result of this transparent color is that visually only 15 colors are available.

Is That Text Mode Color or Not?

On the PC, color in text mode can be a weird thing that's less obvious than it may seem at first. Let's take 80-column text as an example; there are three BIOS modes for this — 02h (greyscale), 03h (color), and 07h (monochrome). The first two are only available on the Color/Graphics Adapter and compatibles, and the third on the MDA or compatible monochrome boards such as Hercules. However, if you have MDA any video mode that's set is automatically changed to mode 07h; if it's a graphics mode being set, this results in gibberish as the graphics data in no way makes meaningful text data. However, if it is one of the first two 80-column modes being set it will end up working on IBM MDA and Hercules adapters; the text data does translate correctly, and the colors selected for the color adapters will instead use the equivalent monochrome attributes (low intensity, high intensity, underlined, etc). So it's not unheard of for a game to only intentionally set mode 03h and select colors that are clear on both color and monochrome displays. Additionally, somewhat similar to mode 05h, mode 02h only has a visual difference on composite monitors; on an RGBi monitor, it will still appear with 16 colors and not greyscale. So for purposes of listing video resolutions on PixelatedArcade, I went with the following: game will list the text resolution as monochrome if it only uses black and white (high or low intensity) which essentially displays the same on color or monochrome systems or if the game includes a setting intended for monochrome displays (this may or may not use attributes that display as color on a color system). It's also possible games that only support color will actually be perfectly clear and playable on a monochome system, a happy accident which may have actually been the developer taking advantage of that hardware quirk...or may not have. There are a number of games where the colors chosen appear to be both for adding a splash of color so the game isn't completely monochrome while at the same time being playable with monochrome displays.

Some Games Had Poor Support

Just because a lot of colors were available doesn't mean games used them; A lot of 256 color VGA games in reality didn't have more than, say, 30 colors or so on screen at a time, or some CGA composite games didn't have much more than 4 or 5 colors on screen, and so on. So if you're checking out screenshots it could be disapointing to find a game doesn't look like there's 256 colors or 16 colors even if listed as such; unfortunately some games just didn't take full advantage of the hardware. There were multiple reasons for this; it could be a resource issue (more colors and detailed graphics could take more effort and money to create, more disk space to store, more memory, and/or need a faster CPU), or the game was ported from another platform that was more limited. Whatever the reason was, hardware wasn't utilized well all the time (especially on the PC).

The Resolution Summary

None of this mentioned will necessarily tell you how good a game will look or play; for instance precisely which 16 colors you had available could greatly affect the graphics quality not to mention the myriad of other system limitations and features that had an impact. And overall, this feature is very much a work in progress. There's some quirks, a few bugs, not all games are tagged yet, the UI and data may have room for improvement, and I haven't enabled the feature for all platforms yet. If it seems like some of my choices on how to tag games is arbitrary, then yeah, it sort of is! But I really wanted to get this feature started and not let perfect be the enemy of good, so I finally went with something that made the most sense to me and the point of this post is to note the thinking behind the feature. But even if it's not perfect it can successfully help you find games which used particular video modes pretty well, and find display tricks and other features that are in some way similar. So, if you happen to feel like finding a few games that used the rather uncommon 640 x 200 x 4 color graphics modes, now you can! Thanks for checking out PixelatedArcade, and have fun on your vintage game journey.

Demon Attack closeup