One weekend last summer, my wife and I drove to a remote shopping center in search of a particular lamp shop. When we pulled into the parking lot, we found a massive “flea market” spread across the asphault with hundreds of people peddling table after table of what was basically junk. I noticed some old game consoles among the junk and thought I had best dig about for a bit in case something interesting or rare was lurking there, waiting for me. While I didn’t find anything good, I did notice a fellow selling old PCs out the back of a large cargo truck. When I got closer I saw that among the stacks of PCs were a few old, large Sun servers and a slab-shaped machine, of which I could only see the rear. The longer I tried to identify the slab-shaped machine, the more I felt I recognized it. After a few moments I realized it was an HP 9000 712 “Gecko,” which I had seen reviewed in an early-90’s NeXTWORLD magazine. (I was impressed with myself at having identified a machine I had never seen in real life, and from its rear interface configuration alone. My wife was simply scared.) I asked the gentleman what he wanted for it and soon I was walking off $20 poorer with a machine that I knew would run NeXTSTEP over twice as fast as my current slab.
The machine I brought home that day was an HP 9000 712/60, also known by HP’s codename, “Gecko.” The Gecko is a workstation based on the PA-RISC processor that normally runs HP/UX, HP’s flavor of UNIX. The Gecko is unique in several ways. First, it is one of the few non-NeXT platforms that can run the NeXTSTEP operating systems (another UNIX). In early ’94 I had purchased a 486 66 that was specially fabricated to run NeXTSTEP for Intel. (It was even black!) Around the same time that NeXT ported its operating system to the Intel architecture, NeXTSTEP was also made to run on certain HP PA-RISC machines as well as several models of Suns. NeXTSTEP saw real performance gains running on these new RISC workstatons above NeXT’s native 68040-based CISC hardware. Beyond performance, however, there is another detail that sets the Gecko apart.
NeXTSTEP had a graphical user interface with a capital ‘G’. Its interface was lush and vibrant. It looked best on true color video hardware with a 32-bit framebuffer which used 24-bit color (16.8 million) + 8-bits transparency info, but back then the required video hardware was extremely expensive. NeXTSTEP also supported more affordable 16-bit framebuffers, using 12-bit color (4096 colors) + 4-bit transparency. In this mode, NeXTSTEP still looked amazing, but dithering had to be employed and was noticeable. The Gecko features a technology known as Color Recovery that employs an extremely unusual 8-bit framebuffer to achieve true color video output, with the help of a DSP, akin to what would be expected with a 32-bit framebuffer. The following is a clip from an HP Journal article by Anthony C. Barkans, publushed in 1995, that describes how Color Recovery works:
- The simplest explanation of HP Color Recovery is that it performs the task your eye is asked to do with an ordinary dithered system. In essence, an HP Color Recovery system takes 24-bit true color data generated by an application and dithers it down to eight bits for storage in the frame buffer. Then as the frame buffer data is scanned from the frame buffer to the display, it passes through specialized digital signal processing (DSP) hardware where the work of producing millions of colors is performed. The output of the DSP hardware is sent to the display where millions of colors can be viewed. It is important to recognize that since the data stored in the HP Color Recovery frame buffer is dithered, thousands of applications can work with it. It is also important to recognize that these applications will run at full performance in an interactive windowed environment. In other words, applications do not need to be changed to take advantage of HP Color Recovery.
When I read NeXTWORLD’s brief rundown of Color Recovery, I could not understand how such a system could effectively generate a true color display—I could not picture what the output would look like. It wasn’t until here, 10 years later, when I finished setting installing NeXTSTEP on this Gecko, that I saw it with my own eyes. And I must say…the result is amazing. The best way I can describe it is to say that the display looks like a screenshot of a true color desktop, saved as a JPEG with medium/high compression. The tradeoff of this 8-bit true color is mild artifacting, but despite this, the display is without question preferable to the dithered, 4096-color desktop generated by standard NeXT boxes and other 16-bit framebuffer platforms. A most unique workstation, indeed.
See some photos of my Gecko setup in my gallery, here.
The following is another excerpt from the HP Journal article by Anthony C. Barkans. The full article [PDF] goes in minute detail as to how this process works, from start to finish.
- HP Color Recovery is a two-part process. First, true color information generated by the application is dithered and then stored in the frame buffer. The type of application generating the true color information is immaterial. For example, true color data can be generated by a CAD application program or as part of a video sequence. The dithering may be done in a software device driver or in the hardware of a graphics controller. It is very important to note that each pixel is treated independently. This pixel independence is key to the ability to work within an interactive windowed environment. The second part of the HP Color Recovery process is to filter the dithered data. The filter is placed between the output of the frame buffer and the DACs that drive the monitor. Fig. 3 shows the HP Color Recovery process starting from when an application generates true color data to when the image appears on the screen. Note that “application” refers to any program that generates true color data for display.
After the application generates the data, it is sent to the device driver. The function of the driver is to isolate the application from hardware dependencies. The driver is supplied by HP. It causes hardware dithering to be used when possible. However, there are times when the driver must perform the dither in software. It is important to note that compared to other dithered systems, there is no performance penalty suffered by an application using HP Color Recovery dither.The frame buffer stores the image data. Note that in most current systems the output of the dithered frame buffer is sent to the display, resulting in the common patterned appearance in the image. However, with HP Color Recovery, as the frame buffer data is scanned, it is sent through a specialized digital signal processing (DSP) circuit. The DSP is a sophisticated circuit that removes the patterning from the dithered image stored in the frame buffer. This circuit performs over nine billion operations per second. Despite this enormous amount of processing the circuit is surprisingly small. It is this small size that makes HP Color Recovery inexpensive enough to be considered for inclusion in lowend graphics systems.