The Rainbow 100 was a microcomputer introduced by Digital Equipment Corporation (DEC) in 1982. This desktop unit had a 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: VT100 mode (industry standard terminal for interacting with DEC's own VAX), 8-bit CP/M mode (using the Z80), and 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 "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 (8 KB) ROM chips holding the system firmware and the case fan/power supply combinations. In addition, the 100A was unable to move its hardware interrupt vectors to avoid the conflict with MS-DOS soft INT 21, etc. DOS had to take unusual actions to distinguish between the hard and soft vectors. The Rainbow 100A initially only supported 256 KB of RAM total, but the limitation in the memory expansion slot was later worked around with a special adapter card, though the maximum was limited to 828 KB.
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 (16 KB) ROMs and an improved case fan/power supply. The firmware allowed selection of the boot screen language and keyboard layout, eliminating the need to switch ROM. The "B" model also allowed remapping of hardware interrupts to be more compatible with MS-DOS. The B model also improved the memory expansion slot to allow a maximum configuration of 892 KB.
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.
The Rainbow contained two separate data buses controlled by the Zilog Z80 and the Intel 8088 respectively. The buses exchanged information via a shared 62 KB memory. 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 8088 could also be upgraded with an NEC V-20 chip, resulting in about 10-15% speed improvement, but it involved either doing an E-PROM hack (published) or manually selecting the boot mode each time. (It was due to the V-20 being so much faster, and the post used a step/increment timing sequence, the system would respond faster than the number of clock cycles it was told to wait until looking for a response.)
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 for a total 892 KB for the 100B or 828 KB for the 100A. The difference in max memory was due to the difference in initial memory configuration.
The system was triple boot (in BIOS, and could be set for automatic default boot preference on 100+) and booted in either CP/M, DOS, or VT100 mode. When booted in DOS, the Z-80 acted as an I/O co-processor for the 8088 side, and visa-versa for CP/M mode.
The floppy disk drives, known as the RX50, accepted proprietary 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. The high cost of media ($5 per disk) led to accusations of vendor "lock-in" against Digital. 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. This was remedied later by placing a red arrow on the diskette slots and on the top of the diskettes to indicate which side of the diskette to be inserted into each diskette drive.
Disks formatted for the Rainbow 100 could not be read or written to by other PC computers, even though materially they were the same type of 5'' disk.
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 (which was used in the NEC APC among others) and an 8×64 KB DRAM video memory. It enables high resolution color display:
- 400x240 resolution, with 16 colors from a pallette of 4096.
- 800x240 resolution, with 4 colors from a pallette of 4096.
Due to the design of the graphics system, the Rainbow was capable of controlling two monitors simultaneously, one displaying graphics and another displaying text.
Contributors: Chris Ryan, Wikipedia.