The 9845C

9845C LogoThe 9845C, first mentioned in the sales brochure from January 1980, introduced in the December 1980 issue of the HP Journal and with first appearance in the HP Catalog from 1981, was the top-of-the-line model of the 9845 series, and it was the very first HP computer supporting color. Simply said, the 9845C brought color into the 9845 series.

Like with the whole 9845 design, HP's engineers did a rather complete job. They not only added a precise color display, but also soft-keys and a light pen for ergonomic software design. Maybe the design was a bit too complete, because the overall complexity reached a degree which was not only expensive, but also minimizes the probability to discover a fully operating 9845C today.

9845C Shuttle

But never mind, despite of - or better just because - of its complexity, the 9845C really had everything a workstation needs. It provided a high-power 16-bit dual-processor system with at least 128 KBytes firmware in ROM, up to 1.5 MByte RAM, integrated tape mass storage, full-size keyboard with numeric keypad and function keys, full-width quiet thermo printer, a wide range of peripherals, connectivity to mainframes as well as to other workstations, and a clear, hardware accelerated graphics display with up to 4,913 colors.

The 9845C was designed for best-possible compatibility to the 9845B, in fact, the 9845C was basically a 9845T with revised graphics firmware, color coded special function keys and a color display. And it was the 98770A color display which made the difference. It included a separate power supply, a vector generator based on the AMD2900 bit-slice architecture, graphics memory with three planes of 32 KBytes each, a connection interface to the mainframe, and a light-pen logic. The display front showed eight soft keys on the lower end of the screen, and 39 alignment controllers behind a door which could be used to fine-tune the color convergence of the display.

Without doubt, the color display was the faster computer than the 9845 mainframe itself. And it drew even more power from the line, the combined input power consumption of mainframe and power display could reach almost 1,000 Watts.

Obviously, the bit-slice processor design of the color display inspired the 9845 system designers to perform later another step and replace the old hybrid language processor completely by a AMD2900 bit slice system, known as the 9845 model 200. For certain calculations, this accelerated computation by a factor of 7, which made the 9845 even more performant.

The Color Principle

The 9845C used three planes of one bit per pixel each. Each graphics pixel was composed by three bits, one from each plane, which then were converted into eight primary colors (black, red, green, blue, magenta, cyan, yellow and white).

The mapping between memory planes and colors could be changed through the so-called "musical memory", a 9-bit wide register (3 bits for each plane), which assigned one of the 8 colors to each plane. The values were switched by the bits in the memory planes and or'ed together for the final color. The register could be programmed in BASIC with the MEMORY instruction. By default the assignment was RED for the first plane, GREEN for the second and BLUE for the third plane, so that all 8 colors could be produced according to the following scheme:

Color Red Plane Green Plane Blue Plane
BLACK 0 0 0
MAGENTA 1 0 1
RED 1 0 0
YELLOW 1 1 0
GREEN 0 1 0
CYAN 0 1 1
BLUE 0 0 1
WHITE 1 1 1

For changing the color mapping, just the musical memory register had to be changed (the memory planes did not have to be rewritten). Unfortunately, the HP engineers missed the final step creating a real 8-entry look-up table with intermediate colors, so whatever mapping you define, no other than the 8 primary colors can be produced. With a real palette table, even image processing would have been possible.

All line drawing and fill operations were specified with color information either as a HSL triple (hue, saturation, luminosity), or as a RGB triple (red, green, blue intensity). Actually, lines could only produced with one of the 8 primary colors, but for fill operations the color shades were generated by a simple cell dithering algorithm with a dominant and a non-dominant color in a 4x4 pixel cell. Since in a 16 dot cell there are 17 dithering patterns with different average intensity, up to 17² = 4,913 eye-avaraged color shades were possible. This technique saved expensive graphics memory and was perfect for technical applications like CAD, however somewhat impractical for image processing (there was no scanner peripheral device anyway, although it was good practice to modify a plotter into a scanning device).

Color Cube Color Cylinder

RGB Color Cube and HSL Color Cylinder

Both line drawing and polygon fill operations were hardware accelerated, there was a special vector generator for that purpose, which worked independend of the mainframes processing units.

As a result of the engineering efforts, definition, sharpness and saturation of color were of outstanding quality. Looking to the IBM PC, a comparable system was available with the EGA graphics in 1984, which was four years later.

Jupiter  Chip Yield

Sample Screen Shots (Jupiter Red Spot and Die Production Yield)

The colors could be directly accessed in BASIC via the special function keys k8 to k15, which were color coded. The desired color could be activated by pressing the CONTROL key simultaneously with the appropriate special function key. Apart from the logo, the color coded keys are the only visible difference between the 9845B and the 9845C mainframe.

Color Coded Keys

Color Coded Special Function Keys on the 9845C

The same effect can be achieved by using the character codes (decimal) 136 to 143 within PRINT statements (e.g. PRINT CHR$(137);"HELLO" prints the word "HELLO" in red), or alternatively by using the escape sequence ESC+"&d" with one of the characters 'H' to 'O':

Color Character Code Escape Code
WHITE 136 ESC+"&dH"
RED 137 ESC+"&dI"
YELLOW 138 ESC+"&dJ"
GREEN 139 ESC+"&dK"
CYAN 140 ESC+"&dL"
BLUE 141 ESC+"&dM"
MAGENTA 142 ESC+"&dN"
BLACK 143 ESC+"&dO"

It is not possible to mix different colors for foreground and background of characters.

There was a special unit avaliable, which could be used to mount a camera in front of the CRT in order to produce high-quality screen shots. In the early 80's, the 9845C was a quite popular source for technical and scientific illustrations. You can identify those illustrations either through the dithering scheme or through the unique HP screen character font. And if you ever saw the 1983 "War Games" movie, all those large-scale NORAD monitors were feeded with computer graphics generated by a 9845C.

War Games Screens

Some Screenshots from the original War Games movie, produced with a 9845C

See the Screen Art section for more details (especially the 9845C demo is a 'must-see').

Pointer Types and Human Interaction

One of the success factors was that HP asked their customers before they moved to the drawing board. The 9845C is an early example, how human interaction and ergonomy was implemented in that time. Graphical user interfaces with eye-hand coordination were still in the research phase, however the 9845C already implemented priciples like softkeys for screen menues, screen pointing with light-pen and hand-move control with graphics tablets.

Light-pen Digitizer Graphics Tablet

Standard Pointer Devices (Light-Pen, Digitizer, Graphics Tablet)

Soft-Keys

Soft-Key Menu

In several aspects, the computer mouse was and still is a simpler device. A grapics tablet is much better suited for precision input and aspect ratio, the soft-keys were more intuitive and the light-pen perfectly implemented the pointing principle (just like modern touch screens).

The HPGL subsystem was independend of the actual graphics hardware. So any pointing device could be connected and used in a very similar way. And graphics outout could be directed to any HPGL device, including CRT screen, plotter and printer. If mouse or joystick control for the 9845 would be desired, only a suitable driver has to be developed. This unified approach was light-years away from the later IBM PC solutions.

In addition to the pointer devices, the 9845C introduced a user-friendly menu system, based on eight soft-keys built into the monitor and software controlled soft-key labels on the bottom lines of the screen. For this purpose, the original 25 lines were extended to 28 lines (the original 25 lines plus one separating line and two label lines).

 

9845C EGS

Graphics Firmware

The 9845C requires a pair of special PPU system ROMs and an enhanced graphics option ROM. The system ROMs which are 9845C specific are the ROMs which cover the address range of octal 000000-017777 (position CE1-LB and CE1-UB on the PPU RAM/ROM assembly). They have the Part No. 1818-1208 and 1818-1209 for the standard configuration and 1818-1591 and 1818-1592 for the use with 512 KByte RAM expansion boards.

The required option ROM is either a 98770-65501 Color Graphics ROM or a 98780-65501 Enhanced Graphics ROM (the latter works also with a fast monochrome display). Both option ROMs extend the basic graphics instruction set of the 09845-66517 standard Graphics ROM by 35 additional graphics commands.

Some new commands are:

ALPHA, AREA COLOR, AREA INTENSITY, CONVERGE, DEGAUSS, EXIT ALPHA, GRAPHICS INPUT IS, GRAPHICS INPUT ... IS ON, GRAPHICS INPUT ... IS OFF, GSTAT, KEY LABELS, LABEL KEY #, LABEL KEYS, LAXES, LGRID, MAT AIPLOT, MAT APLOT, MAT ARPLOT, MAT IPLOT, MAT PLOT, MAT RPLOT, MAT SYMBOL, MEMORY, ON GKEY, OFF GKEY, POLYGON, RECTANGLE, TRACK ... IS ON, TRACK ... IS OFF

Completely new are

And the new ROM provides support for the fast BASIC processing of object lists via matrix operations (useful for the fast vector generator).

The 98780-65501 Enhanced Graphics ROM adds support for the fast monochrome CRT display plus rubber banding, fast tracking and fast alpha. If used in a 9845C, fast erasing, arcs and circles and rubber banding with no background loss won't work. However rubber banding on a 9845C may be emulated in software with the RUBBND binary program which is included with the System 45C Utilities package. Programs STORE'd with one ROM can be run with the other with some minor exceptions.

All firmware changes are documented in the HP 9845 BASIC Programming Manual of September 1981 (see the reference tables in the appendix).

Technical Specifiations

CPU Type: Opt. 1xx:
2 x 16-bit (LPU, PPU) 3-chip hybrid processor with BPC, IOC and EMC
Opt. 2xx:
1 x bit-slice processor (LPU)
1 x 16-bit hybrid (PPU)
CPU Clock Frequency: 11.4 MHz (5.7 MHz internal)
Read/Write Memory:

Opt. 001: 64 KBytes (56,080 bytes available)
Standard: 192 KBytes (188,904 bytes available)
Opt. 205: 320 KBytes (317,820 bytes available)
Opt. 206: 448 kBytes (448,700 bytes available)
Max. 1,600 kBytes (3 x 98407A)

Tape Cartridge Capacity: 217 KBytes
Tape Access: Directory, file by name
Tape Search Speed: 2,286 mm/sec (90 in./sec)
Tape Average Transfer Rate: 1,440 bytes/sec
Tape Cartridge Dimensions: 63.5 x 82.5 x 12.7 mm (2.5 x 3.25 x 0.5 in.)
Termal Line Printer Print Speed: up to 480 lines/min
Thermal Line Printer Plot Speed: Normal mode: 25.4 mm/sec (1 in./sec)
CRT transfer: 3.5 - 25 mm/sec (0.14 - 1 in./sec)
Thermal Printer Character Matrix: 5 x 7 dots (7 x 12 field)
Thermal Printer Line Width: 560 dots, 80 characters
Thermal Printer Paper Width: English: 216 mm (8.5 in.)
Metric: 210 mm (8.27 in.)
Thermal Printer Paper Type: Thermal, black or blue print, perforated or continuous roll
Thermal Printer Noise Level: 9 hr 100% duty cycle 68 dBA (max)
0.5 hr 100% duty cycle: 55 dBA (avg.)
Thermal Printer Paper Feed: Automatic load
Operating Temperature: 5°C to 40°C
Storage Temperature: -40°C to +65°C
Relative Humidity: 5% to 80% at 40°C
System Dimensions: HWD 546 x 482,5 x 762 mm (21.5 x 19 x 30 in.)
Net Weight: Standard mainframe: 18.6 kg (41 lb.)
Standard CRT: 29.5 kg (65 lb.)
Second tape drive: 0.9 kg (2 lb.)
Opt. thermal printer: 5.22 kg (11.5 lb.)
Shipping Weight: Minimum: 75.4 kg (166 lb.)
Standard: 81.8 kg (180 lb.)
Cube: 0.2 m³ (7.09 ft³)
   
Screen Size: 330 mm (13 in.) in diagonal
Screen Brightness: 12-40 ft.-lamberts (adjustable)
X-ray Emission: <0.5 mR/hr.
Refresh Rate: 60 Hz (independend of line frequency)
Tube Phosphor: P22
Maximum Altitude: 4,572 m (15,000 feet)
Dot Size: 0.343 mm (0.0135 in.)
Screen Capacity: 30 lines x 80 chracters (only 28 lines used = 2,240 characters total)
Alpha Buffer Size: 2 kWords / 4 kBytes
Alpha Raster Scan Size: 247 x 154 mm (9.72 in x 6.06 in.)
Character Generation: 7 x 9 character font in a 9 x 15 character cell
Standard Character Set: 128 ASCII characters
Optional Character Sets: French, Spanish and German
Cursor: Blinking underline
Graphics Array Size: 560 x 455 dots
Graphics Buffer Size: 3 x 16 kWords = 48 kWords / 96 kBytes
Graphics Raster Size: 192 x 156 mm (7.5 in x 6.1 in.)
Graphics Cursor: Full screen or blinking crosshair in plotting mode, blinking underline in letter mode, overstrike in letter mode during character editing
Graphics Display Speed (vectors/sec,
overlapped and not clipped):
Opt. 1xx / 2xx
For/Next: ~95 / ~145
Matrix Plot: ~200 / ~240
Abolute Plot: ~5,000 / ~5,000
Circles/s not clipped: ~2 / ~5
Graphics Linearity: <2 % full screen
Graphics Memory: 48 kWords / 96 kBytes (3 planes of 16 kWords each)
Number of Colors: 8 (black, red, green, blue, cyan, magenta, yellow, white)
Number of Fill Colors: 4.913 (with 4x4 cell dithering)
Number of Line Styles: 10
Light Pen Dimensions: 20.2 mm (0.8 in) diameter by 157 mm (6.18 in) long
Light Pen Weight: 125 g (4.4 oz.)
Light Pen Tracking Sampling Rate: 60 Hz
Light Pen Cursor Positioning Accuracy: 1 pixel
Light Pen Minimum Intensity for Pick of Single Pixel: 10 foot-lamberts (white, blue or green)
Power Source: 110 or 220 VAC (selected by rear panel switch) +15%/-20%
Line Frequency: 48 to 66 Hz
Power Consumption: Mainframe: 275 W (max.)
CRT display: 550 W (max.)
Powerline Susceptibility: Withstands +/- 400 VAC pulse (800 ns duration, 1 ns risetime, 60 Hz repetition rate)
Base Price U.S.A.: $39.500
   

More Information

Basic sales information about the 9845C can be found in the 9845C brochure from January 1980. The 9845C was introduced in the December 1980 issue of the HP Journal. Most internal information about the 9845C mainframe is identical to that of the 9845B and can be derived from the installation and operation manuals, the 9845B/C service manual and the CE handbook. The most important source for technical backgrounds are the December 1980 HP Journal, the 98770A service manual, the 98770A CE handbook and the US patent no. 4367465 for the light-pen. See the Documents section for further details.

9845C Electronic Design