DEC Rainbow 100 as a museum piece in Citilab
|Operating system||CP/M, MS-DOS, UCSD p-System, Concurrent CP/M, Venix|
|CPU||Zilog Z80 @ 4.012 MHz and Intel 8088 @ 4.815 MHz|
|Memory||64 - 896 kB|
The Rainbow 100 was a microcomputer introduced by Digital Equipment Corporation (DEC) in 1982. This desktop unit had the video-terminal display circuitry from the VT102, a video monitor similar to the VT220 in a dual-CPU box with both 4 MHz Zilog Z80 and 4.81 MHz Intel 8088 CPUs. The Rainbow 100 was a triple-use machine: VT102 mode, 8-bit CP/M mode (using the Z80), and 16-bit CP/M-86 or MS-DOS mode using the 8088.
The Rainbow came in three models, the 100A, 100B and 100+. The "A" model was the first released, followed later by the "B" model. The most noticeable differences between the two models were the firmware and slight hardware changes. The systems were referred to with model numbers PC-100A and PC-100B respectively; later "B" models were also designated PC-100B2.
The "A" model was the first produced by Digital. The distinguishing characteristic of the "A" model from an end-user perspective was that the earlier firmware did not support booting from a hard disk. Other distinguishing hardware features included the three 2764 ROM chips holding the system firmware and the case fan/power supply combinations. Versions of the 100A shipped outside the USA included a user-changeable ROM chip in a special casing. The user changed the built-in ROM for this one to support their keyboard layout and language of the boot screen.
The "B" model followed the "A" model, and introduced a number of changes. The "B" model featured the ability to boot from a hard disk (referred to as the Winchester drive) via the boot menu due to updated firmware. The hardware changes included bigger firmware stored on two 27128 ROMs (16 kB) and an improved case fan/power supply.
The "100+" model was actually a marketing designation signifying that the system shipped with a hard drive installed; the "100+" and "B" models were identical in all other respects. When a hard-disk option was installed on the Rainbow, the kit included the 100+ emblem for the computer's case.
When not executing 8-bit code, the Zilog Z80 was used for floppy disk access. The 8088 bus was used for control of all other subsystems, including graphics, hard disk access, and communications. While it may have been theoretically possible to load Z80 binary code into the Rainbow to execute alongside 8088 code, this procedure has never been demonstrated.
The 100A model shipped with 64 kB memory on the motherboard, while the 100B had 128 KB memory on the motherboard. Daughterboards were available from Digital Equipment Corporation that could increase system memory with up to an additional 768 kB.
Floppy disk drives 
The floppy disk drives, known as the RX50, accepted 400 kB single-sided, quad-density 5¼-inch diskettes. Initial versions of the operating systems on the Rainbow did not allow for low-level formatting, requiring users to purchase RX50 media from Digital Equipment Corporation. However, later versions of MS-DOS and CP/M allowed formatting of diskettes.
Of note was the single motor used to drive both disk drives via a common spindle, which were arranged one on top of the other. That meant that one disk went underneath the first but inserted upside-down. This earned the diskette drive the nickname "toaster". The unusual orientation confused many first-time users, who would complain that the machine would not read the disk.
Hard disks 
Digital Equipment Corporation produced a Winchester disk controller for the Rainbow capable of controlling hard disks compatible with the ST-506 interface. The controller, however, was limited to a single drive with up to and including 8 heads and 1024 cylinders, limiting storage to a maximum of 67 MB.
Third-party hard-disk controllers were also available.
The base Rainbow system was capable of displaying text in 80×24- or 132×24-character format in monochrome only. The system could apply attributes to text including bolding, double-width, and double-height-double-width.
The graphics option was a user-installable module that added graphics and color display capabilities to the Rainbow system. The Graphic module was based on a NEC 7220 graphic display controller (GDC) and a 8×64 KB DRAM video memory.
Due to the design of the graphics system, the Rainbow was capable of controlling two monitors simultaneously, one displaying graphics and another displaying text.
The base Rainbow system generates a TTL composite-video signal in monochrome mode. With the inclusion of the graphics option, the Rainbow could also output sync-on-green RGB video signals at TTL levels. The Rainbow was most often coupled with the 12-inch VR201 monochrome monitor or the 13-inch VR241 color monitor, both produced by Digital Equipment Corporation.
|This section does not cite any references or sources. (March 2010)|
The Rainbow 100 and the other two microcomputers which DEC announced at the same time (DECmate II and Pro-350) had two quirks that annoyed conservative users. The LK201 keyboard used a new layout that made some ASR33 and VT100 users unhappy. However, the VT220 style of this keyboard can clearly be seen in the layout of the enhanced 101-key keyboard adopted by IBM in 1987.
Third-party upgrades were also available, including an 80286 (286) processor upgrade (Turbow-286), a 3.5-inch disk adapter kit (IDrive), and a battery-backed clock chip (ClikClok), all from Suitable Solutions.
In 1984, the first computer support for Native American languages began with the Rainbow 100. Rock Point Community School on the Navajo reservation in Arizona commissioned a ROM chip for the Navajo language, enabling the school to create bilingual computer programs.
A benefit of the Rainbow was that it could continue to run 8-bit CP/M software as users moved into the 16-bit world of MS-DOS. The disadvantages were that little DOS software was released on Rainbow media, and there were subtle differences between Rainbow's MS-DOS implementation and MS-DOS (or PC-DOS) running on true IBM PC compatibles. Towards the end of its life, Rainbow users were able to run IBM PC-compatible MS-DOS software using an emulation application called Code Blue.
MS-DOS compatibility was added late in the design, so hardware interrupts and MS-DOS software interrupts overlapped. One DEC documentation pack for developers included a listing of Microsoft assembly code to handle this. The theory was that hardware interrupts would interrupt again but software interrupts would only happen once.
- Windows/Linux/Mac:: M.E.S.S. Emulator
In popular culture 
A television advertisement for the DEC Rainbow appears in The Philadelphia Experiment (film).
- Ryan, Chris. "Digital Rainbow 100". Old-Computers.com. Retrieved 4 January 2010.
- Klein, Erik S. "DEC Rainbow 100". The Vintage Computer. Retrieved 4 January 2010.
- Convert Rainbow's from A to B (contained in zip file).
- Digital Equipment Corporation. Illustrated Parts Breakdown: PC100 Rainbow 100 System Unit (Part #EK-SB100-IP-003) 1985. p. 11/12, 25/26.
- Digital Equipment Corporation. Illustrated Parts Breakdown: PC100 Rainbow 100 System Unit (Part #EK-SB100-IP-003) 1985. p. 15/16, 32.
- Digital Equipment Corporation. uu.se - Illustrated Parts Breakdown: PC100 Rainbow 100 System Unit (Part #EK-SB100-IP-003) 1985. p. A-21, A-23/24.
- Digital Equipment Corporation. Rainbow 100 Technical Manual. 1st ed. May 1984. p. 4-2.
- Digital Equipment Corporation. Rainbow 100 Technical Manual. 1st ed. May 1984. p. 4-1.
- In the context of semiconductor memory, 1 kilobyte = 1,024 bytes.
- In the context of floppy disks, 1 KB = 1,000 bytes or 1,024 bytes.
- WUTIL Users Manual (Contained in archive)
- Hartley, R.B. "Dual Monitors on a Rainbow." Within the RBGIF distribution
- Pictures of the Turbow-286 Rainbow Accelerator
- Christal, Mark. "Virtual Museum Projects for Culturally Responsive Teaching in American Indian Education." Dissertation. 2003: 
- Digital Equipment Corporation. Rainbow 100 Technical Manual. 1st ed. May 1984. Print and PDF online.
- Uppsala University Update Computer Club Rainbow archives
- Vintage-Computer page on the DEC Rainbow 100
- Rainbow 100 Frequently Asked Questions