Jump to content

Composite artifact colors

From Wikipedia, the free encyclopedia

Orange artifact color, generated from white and black pixels, on the TRS-80 Color Computer
Example of artwork created with the intent of having individual pixel values horizontally averaged over composite video

Composite artifact colors is a technique commonly used to address several graphic modes of some 1970s and 1980s home computers. With some machines, when connected to an NTSC TV or monitor over composite video outputs, the video signal encoding allowed for extra colors to be displayed, by manipulating the pixel position on screen, not being limited by each machine's hardware color palette.[1][2][3]

This mode was used mainly for games, since it limits the display's effective horizontal resolution. It was most common on the IBM PC (with CGA graphics),[4] TRS-80 Color Computer,[5] Apple II[6] and Atari 8-bit computers,[1] and used by the Ultima role-playing video games.[6] Software titles (such as King's Quest for the IBM PC) usually provided an option to select between "RGB mode" and "Color Composite mode".[7]

On PAL displays the effect is also present, but generates more limited colors.[8][9] Depending on the exact PAL system used results will vary (if PAL-M or PAL-N are used, color artifacts similar to NTSC might be possible).

Although related, artifact colors are not the same as horizontal blurring. Blurring is a general effect of using a composite connection, that simply creates new colors due to a mix of adjacent horizontal pixel values. The exact mix will depend on the saturation and specific colors of the original pixels. Nevertheless, this effect can be exploited by using dither patterns, generating new intermediate palette colors[10] on machines with a sufficiently high resolution display, like the ZX Spectrum,[11] Mega Drive/Genesis,[12][13] NES/Famicom[14] or Amiga.

Technical details

[edit]

In the NTSC color system as used in broadcasting, the color subcarrier frequency is exactly 227.5 times the line frequency, i.e., each line contains 227.5 color subcarrier cycles. This causes the apparent phase of the subcarrier to be reversed every line, which results in solid colors being displayed as a checkerboard-like pattern when viewed on a monochrome display that does not filter out the color information.[15]

Computers such as the Apple II[16] and the CGA[17][18] video card for the IBM PC, output a signal that is an approximation of the broadcast standard. In both the Apple II and the CGA, each line is elongated to full 228 cycles of the color subcarrier. This is within the tolerances of most displays, so the image is displayed clearly, but the pattern generated by solid colors becomes straight vertical stripes instead. Each horizontal position within any line has constant phase relationship to the color subcarrier under this system, so lighting up a pixel at each specific horizontal index always has the same effect on the color information as interpreted by the display.

It is also typical for these types of display adapters to have pixel clocks that are a multiple of the NTSC subcarrier frequency. Both the Apple II and the CGA use the pixel clock of 14.318 MHz, four times the color subcarrier. For a broadcast-quality signal, that would mean 910 pixel cycles per each line (as opposed to 858 as later standardized by the ITU-R Recommendation BT.601), with about 750 of them occupying the visible portion of the screen. With the stretched lines of these early computers, each line was actually 912 pixel cycles long, and only a portion of the visible area was used - 560 pixels in case of Apple II (although not individually addressable without an 80 column expansion card[19]), 640 in case of CGA. Each pixel could have one of the 4 predefined phase relationships to the color burst, so a "fake" subcarrier that will be interpreted as color by the display, can be constructed by outputting specific pixel patterns.[20]

In case of adapters that also have native color capabilities, such as the CGA, this technique can be further expanded by forming patterns out of the built-in colors - this way, the "real" subcarrier generated by the hardware will interfere with the "fake" one residing within the pixel patterns, causing the display to interpret the result as new, unique colors.[21]

In the PAL system, the phase of the subcarrier is interpreted differently from line to line, and the phase of the color burst is strictly required to change on alternate lines. This makes the tricks described above infeasible. SECAM uses frequency modulation, so generating artifact colors would require timing far more precise than synchronizing the pixel clock to the subcarrier frequency of either NTSC or PAL. For these reasons, artifact colors were generally only used with the NTSC color system. They are theoretically possible in any of them, due to the fact that in every analog television system, color information resides within the same bandwidth as luminance information.

Artifact colors should not the confused with the more common horizontal blurring effect. Horizontal blurring is an effect of using a composite video connection, where new colors are created by averaging individual pixel values. This is mainly due to the limited bandwidth of luminance and specially chrominance on analog systems. Contrary to artifact colors that are arbitrary, these new colors are completely dependent on the original values of adjacent pixels. Horizontal blurring is more pronounced at higher display resolutions and when saturated colors are used (specially blue and red). This effect was exploited by game artists on some machines (specially those capable of generating higher resolution graphics but having a limited color palette) through the use of dithering patterns.[11][12][13][14][22][23]

Machines

[edit]

PC compatibles with CGA graphic cards

[edit]

When using IBM's Color Graphics Adapter (CGA) with a NTSC TV as a composite monitor, the separation between luminance and chrominance is imperfect, yielding cross-color artifacts. This is especially a problem with 80-column text.

It is for this reason that each of the text and graphics modes described above exists twice: Once as the normal "color" version and once as a "monochrome" version. The "monochrome" version of each mode turns off the NTSC color decoding in the viewing monitor completely, resulting in a black-and-white picture, but also no color bleeding, hence, a sharper picture. On RGBI monitors, the two versions of each mode are identical, with the exception of the 320×200 graphics mode, where the "monochrome" version produces the third palette.

However, programmers learned that this flaw could be turned into an asset, as distinct patterns of high-resolution dots would turn into consistent areas of solid colors, thus allowing the display of completely new colors. Since these new colors are the result of cross-color artifacting, they are often called "artifact colors". Both the standard 320×200 four-color and the 640×200 color-on-black graphics modes could be used with this technique.

Early efforts resulted on a usable resolution of 160×200 with 16 colors.[24] Actual colors depend on the base palette and resolution used, as shown on the gallery below:

Later demonstrations by enthusiasts have increased the maximum number of colors the CGA can display at the same time to 1024. This technique involves a text mode tweak which quadruples the number of text rows. Certain ASCII characters such as U and ‼ are then used to produce the necessary patterns, which result in non-dithered images with an effective resolution of 80×100 on a composite monitor.[25]

Software support

[edit]

Many of the more high-profile game titles offers graphics optimized for composite color monitors.[26] Ultima II, the first game in the game series to be ported to IBM PC, uses CGA composite graphics. King's Quest I was also innovative in its use of 16-color graphics. Other titles include Microsoft Decathlon, King's Quest II and King's Quest III.

TRS-80 Color Computer

[edit]

The TRS-80 Color Computer (also known as Coco) two color 256×192 graphic mode allows the display of four colors by exploiting NTSC artifacts. It is not possible to reliably display 256 dots across the screen due to the limitations of the NTSC signal and the phase relationship between the graphics chip clock and colorburst frequency. Using the first color set, alternating columns of green and black pixels are not distinct and appear as a muddy green color. However, switching to a white and black color set, instead of a muddy gray as expected, the result is either orange or blue. Reversing the order of the alternating dots will give the opposite color. In effect, the 256x192 two color mode becomes a 128×192 four color mode with black, orange, blue, and white available. Most CoCo games used this mode as it generates more useful colors than the ones provided by the native four color modes.

TRS-80 Color Computer 128x192 artifact four color palette
Black Blue Orange White

The graphics chip internally can power up on either the rising or falling edge of the clock, so the bit patterns that represent orange and blue are not predictable. Most CoCo games start with a title screen and asks the user to press the reset button until the colors are correct.

Readers of The Rainbow[27][28] or HOT CoCo[29] magazine learned that they can use some POKE commands to switch the Motorola 6847 graphics chip into one of the artifact modes, while Extended Color BASIC continues to operate as though it were still displaying one of the 128x192 four-color modes. Thus, the entire set of Extended Color BASIC graphics commands can be used with the artifact colors. Some users developed a set of 16 artifact colors[how?] using a 4×2 pixel matrix. Use of POKE commands also make these colors available to the graphics commands, although the colors have to be drawn one horizontal line at a time. Some interesting artworks were produced from these effects, especially since the CoCo Max art package provides them in its palette of colors.[30]

The resulting 16 color palette is (approximate colors for illustration purposes only):

TRS-80 Color Computer 128x192 artifact sixteen color palette
Black Dark Blue Purple Light Gray Dark Cyan Azure Light Blue Blue-White
Brick Red Olive Green Orange Pink-White Light Violet Brown Yellow White

The CoCo 3 fixes the clock-edge problem so it is always the same; the user holds the F1 key during reset to alternate the color set. On this computer games can be patched to use a new 128×192 four color mode provided by the Graphics Interrupt Memory Enhancer (GIME) chip, with hardware colors mapped to the required values.


Apple II

[edit]
Fragment of an Apple II computer screen, showing the actual pixel data composed of vertical stripes (top) and the resulting colors when seen on an NTSC TV (bottom)

Color graphics on the Apple II uses a quirk of the NTSC television signal standard, which made color display relatively easy and inexpensive to implement.[31]

The Apple II display provides two pixels per NTSC subcarrier cycle. When the color burst reference signal is on and the computer attached to a color display, it can display green by showing one alternating pattern of pixels, magenta with an opposite pattern of alternating pixels, and white by placing two pixels next to each other. Later, blue and orange became available by tweaking the offset of the pixels by half a pixel-width in relation to the color-burst signal. The high-resolution display offers more colors simply by compressing more, narrower pixels into each subcarrier cycle.[32]

The coarse, low-resolution graphics display mode works differently, as it can output a pattern of dots per pixel to offer more color options. These patterns are stored in the character generator ROM and replaces the text character bit patterns when the computer is switched to low-res graphics mode. The text mode and low-res graphics mode uses the same memory region and the same circuitry is used for both.[32]

Apple II artifact sixteen color palette
Black Dark Gray Dark Blue Magenta Red Orange Pink Yellow
Light Gray Dark Green Brown Green Light Green Blue Light Blue White

An example of full usage of artifact colors on the Apple II is the Dazzle Draw paint program. If seen in monochrome the image is composed of black and white vertical dither patterns,[33] but when seen on NTSC colors appear.[34][35]

Atari 8-bit

[edit]
Atari 8 bit Moiré pattern in 320 horizontal pixel graphics mode. The colors are artifacts of displaying hi-res pixels which are half the size of the NTSC color clock.

Graphics 8 mode on early Atari 8-bit computers with the Color Television Interface Adaptor (CTIA) chip displayed black or white images at a resolution of 320×192.

Programmers quickly discovered that the odd or even patterns of adjacent black and white pixels in this mode would generate one of two additional colors (blue/brown or olive/pink)[36] and software such as On-Line Systems' The Wizard and the Princess used this side-effect to display up to four colors at maximum resolution. This technique and its technical underpinnings were documented in Appendix D of De Re Atari.[1]

Games such as Lode Runner, Flight Simulator II, and the Ultima series took advantage of this effect to display extra colors.[37]

Atari 8-bit artifact color palette
Variation A Black Olive Pink White
Variation B Black Brown Blue White

When Atari began shipping computers with the improved Graphic Television Interface Adaptor (GTIA), users found that such programs displayed incorrect colors and required an updated version of the software.[38] In fact, artifact colors were inconsistent across the entire Atari 8-bit product line complicating playfield design but only affected a handful of titles that used this graphics mode. These color differences can be simulated within Altirra-based emulators.

All models with RF or composite output connected to televisions exhibited this effect while those such as the original Atari 800 or later XE series with built-in chroma/luma support additionally displayed images without artifacts when connected to a computer monitor with chroma/luma inputs such as the Commodore 1701 .

For some undocumented reason known only to Atari, they did not enable the chroma pin on the monitor jack of the 800XL although several modifications have been published to incorporate this support.

Other machines

[edit]

Many first generation MSX computer games use horizontal blurring and dither to generate a palette of 125 simultaneous colors. Companies like Konami, Hal Laboratory or Ponyca used this technique regularly. Sony's Graphic Master Lab[39] paint program allowed these 125 colors to be used in user-created drawings.

Home computers like the Atari ST also have graphics prepared with dithering techniques to take advantage of composite TV connections.

The Mega Drive/Genesis takes advantage of composite video horizontal blurring of vertical dither patterns to simulate transparency effects on many games.[13][22][23] William Kier (the artist on Eternal Champions) stated performing manual dither for the graphics on that game, and that it's likely most games dithered in the same fashion.[40] This effect was used so widely used that it can be simulated on modern hardware clones like the Mega Sg.[41]

The Commodore Amiga, when connected over composite video, suffered from noticeable horizonal blurring, specially affecting colored pixels and smoothing out dithered transitions.[42] This technique was used on most titles. Pixel artist Henk Nieborg mentions using dithering on the 1992 Amiga game Lionheart in order to create additional colors.[40] The technique was also used frequently by British software house The Bitmap Brothers.[40] The special Hold-And-Modify is particularly suited for displaying "high color" TV-like images, taking full advantage of horizontal blurring.

PAL system

[edit]

Using a composite connection with the PAL TV system also generates new colors, but their number is limited and the results unreliable.[8][9]

Apple II

[edit]

The Apple II can be modified to output a 50 Hz signal for use in PAL and SECAM regions. However, when connected directly to a display, it results in a black and white picture. "Eurocolor" expansion cards were available that essentially decode NTSC artifacts and re-encode them as PAL or SECAM.[43]

Atari 8-bit

[edit]

Atari 8-bit machines are capable of generating artifact colors (red, yellow, violet and green) on monochrome modes taking advantage of PAL artifacts.[8] A pinball table called Das Uboat, for Atari 800XL Pinball Construction Set, displays artifact colors when viewed on a PAL TV.[44][45] Another example is Runaround II.[46][47]

Commodore 64

[edit]

On PAL versions of the Commodore 64, the delay line in the monitor or TV which averages the color hue, but not the brightness, of consecutive screen lines can be used to create seven nonstandard colors by alternating screen lines showing two colors of identical brightness.[48][49][50][51] This is used in the game Mayhem in Monsterland,[52] released in 1993 by Apex Computer Productions, and in Parallaxian.[53]

TRS-80 Color Computer

[edit]

TRS-80 Color Computer users in PAL countries only see green and purple stripes instead of solid red and blue colors.

ZX Spectrum

[edit]
Chromatrons Attack, a 2013 homebrew game using composite artifact colors on a PAL ZX Spectrum.

The ZX Spectrum resolution is high enough to allow the generation of artifact colors, but the effect was not explored during its commercial lifetime. The 2013 homebrew game Chromatrons Attack demonstrates the effect.[9][54]

References

[edit]
  1. ^ a b c Crawford, Chris (1982). "De Re Atari - APPENDIX D - TELEVISION ARTIFACTS".
  2. ^ "Engine — ScummVM Documentation documentation". docs.scummvm.org.
  3. ^ "Composite Video: Why it was good then, and why you might even use it today!". nicole.express. 6 May 2021.
  4. ^ "Exodus Project / Wiki / CGA Composite". Sourceforge.net. Retrieved 7 August 2016.
  5. ^ "256 color mode (composite mode artifacting) - The TRS-80/Tandy Color Computer COCO SuperSite!". Coco3.com. Retrieved 7 August 2016.
  6. ^ a b "Nerdly Pleasures: The Overlooked Artifact Color Capabilities of non-Apple II Computers". Nerdlypleasures.blogspot.pt. 24 September 2013. Retrieved 7 August 2016.
  7. ^ "Kings Quest RGB / Composite monitor selection screen".
  8. ^ a b c Goodwin, Joel (October 1991). "Artefacting" (PDF). New Atari User (52).
  9. ^ a b c "Chromatrons Attack at Spectrum Computing - Sinclair ZX Spectrum games, software and hardware". Spectrum Computing.
  10. ^ Hartnell, Tim (1983). 49 Explosive Games for the ZX Spectrum. Interface. p. 270. ISBN 9780907563532.
  11. ^ a b "Rainbird at Spectrum Computing - Sinclair ZX Spectrum games, software and hardware". Spectrum Computing.
  12. ^ a b "SGENPT-MIX - Sega Genesis Pseudo Transparency Mixer shader". Libretro Forums. 4 November 2020.
  13. ^ a b c "Transparency – Raster Scroll Books".
  14. ^ a b "RGB Composite Screenshot Comparison". www.chrismcovell.com.
  15. ^ Pemberton, Alan. "World Analogue Television Standards and Waveforms - Colour Standards - Choice of Subcarrier Frequency (fSC)". Pember's Ponderings. Archived from the original on 16 July 2016.
  16. ^ Gayler, Winston D. (1983), The Apple II Circuit Description (PDF), Indianapolis, IN: Howard W. Sams & Co., Inc., p. 30, retrieved 3 May 2021
  17. ^ IBM, IBM Color/Graphics Monitor Adapter (Personal Computer Hardware Reference Library) (PDF), p. 17, retrieved 3 May 2021
  18. ^ Motorola, MC6845 CRT Controller (PDF), pp. 4–465, retrieved 3 May 2021
  19. ^ Lukazi (25 March 2017). "Double High Resolution Graphics (DHGR) - Pushing Limits". Apple II Projects. Archived from the original on 26 January 2021.
  20. ^ Munafo, Robert P. (26 March 2020). "Apple ][ Colors". MROB. Archived from the original on 9 September 2020.
  21. ^ VileR (15 April 2015). "CGA in 1024 Colors - a New Mode: the Illustrated Guide". int10h.org. Archived from the original on 24 March 2021.
  22. ^ a b "Dithering on the Sega Genesis with Composite Video". 27 July 2018 – via www.youtube.com.
  23. ^ a b "RGB Composite Screenshot Comparison". www.chrismcovell.com.
  24. ^ "Colour Graphics Adapter Notes". Seasip.info. 6 December 2006. Retrieved 7 August 2016.
  25. ^ "CGA in 1024 Colors - a New Mode: the Illustrated Guide". A blog entry by the creators of the demo "8088 MPH" explaining this technique.
  26. ^ "Nerdly Pleasures: IBM PC Color Composite Graphics". Nerdlypleasures.blogspot.pt. 2 November 2013. Retrieved 7 August 2016.
  27. ^ Ellers, Ed (July 1984). "In Search Of Artifacts". The Rainbow. Vol. 3, no. 12. p. 190.
  28. ^ "The Rainbow Vol.02 No.12 - July 1984". archive.org.
  29. ^ MARTIN, DENNIS (July 1983). "MORE COLORS IN PMODE 4" (PDF). HOT CoCo. pp. 64–73.
  30. ^ "CoCoMax for TRS-80 Color Computer 2". 8 November 2012 – via www.youtube.com.
  31. ^ "HIRES Graphics on Apple II". XtoF’s Lair. 14 December 2016.
  32. ^ a b "Shadertoy". www.shadertoy.com.
  33. ^ "An edited Dazzle Draw screen, this time captured without color".
  34. ^ "Dazzle Draw for the Apple II [Part 01\02]". 14 November 2010 – via www.youtube.com.
  35. ^ "Some kind of pattern image displaying in Dazzle Draw".
  36. ^ "Lr-atari800, 5200, artifacting, BASIC, and other guidance". 28 May 2019.
  37. ^ "lr-atari800, 5200, artifacting, BASIC, and other guidance". RetroPie Forum. 28 May 2019. Retrieved 3 November 2022.
  38. ^ Small, David; Small, Sandy; Blank, George, eds. (1983). "The Wizard, the Princess, and the Atari". The Creative Atari. Creative Computing Press. ISBN 0916688348.
  39. ^ "Graphic Master Lab (1985, MSX, HAL Laboratory) | Releases | Generation MSX".
  40. ^ a b c "Dithering for Pixel Artists". Pixel Parmesan. 18 January 2021.
  41. ^ "Analogue Mega Sg review: the best Mega Drive clone for flat panel TVs". Eurogamer. 31 March 2019.
  42. ^ "Video Out | Connecting a Commodore Amiga 1200 to a Modern TV / Monitor". 17 August 2015 – via www.youtube.com.
  43. ^ Espinosa, Christopher (1979), Apple II Reference Manual, Cupertino, CA 95014: Apple Computer, Inc., p. 10, retrieved 3 May 2021{{citation}}: CS1 maint: location (link)
  44. ^ "Atari 400 800 XL XE U-Boot (Das) : scans, dump, download, screenshots, ads, videos, catalog, instructions, roms". www.atarimania.com.
  45. ^ "Image from atariage.com forum showing extra colors on the Das Uboat pinball table".
  46. ^ "Atari 400 800 XL XE Runaround II : scans, dump, download, screenshots, ads, videos, catalog, instructions, roms". www.atarimania.com.
  47. ^ "Screen shot showing artifact color adjustment".
  48. ^ Woods, Jon (20 May 2021). "Luma-driven graphics on the Commodore 64". kodiak64.com.
  49. ^ Martin, Michael (19 April 2015). "Variable Screen Placement: The VIC-II's Forbidden Technique".
  50. ^ "Old VIC-II Colors and Color Blending". 30 March 2016.
  51. ^ "accurately reproducing the Video Output of a Commodore C64".
  52. ^ "Mayhem Development Diary" (PDF).
  53. ^ Woods, Jon. "Parallaxian Promo Page (C64 game)". kodiak64.com.
  54. ^ "Guesser's explanation of how the game works".