Rainbow 100

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.[1] 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 16-bit CP/M-86 or MS-DOS mode using the 8088.[1][2]

Rainbow 100
DEC Rainbow 100 as a museum piece in Citilab
TypePersonal computer
Release date1982 (1982)
Operating systemCP/M, MS-DOS, UCSD p-System, Concurrent CP/M, Venix, QNX
CPUZilog Z80 @ 4.012 MHz and Intel 8088 @ 4.815 MHz
Memory64 - 896 kB
SuccessorVAXmate
Rainbow 100 floor model and software packages

Models

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 system included a user-changeable ROM chip in a special casing to support their keyboard layout and language of the boot screen. On the 100A, the ROMs only supported three languages. The Rainbow did not have an ISA bus, so the typical 640kB RAM limit didn't apply, with both models supporting a maximum RAM of over 800kB.

PC-100A

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[3] and the case fan/power supply combinations.[4] 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 256kB of RAM total, but the limitation in the memory expansion slot was later worked around with a special adapter card, thought the maximum was limited to 828kB.

PC-100B

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)[3] and an improved case fan/power supply.[5] 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 892kB.

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.[6]

Hardware

CPUs

The Rainbow contained two separate data buses controlled by the Zilog Z80 and the Intel 8088 respectively.[7] The buses exchanged information via a shared 62 kB memory.[8]

When not executing 8-bit code, the Zilog Z80 was used for floppy disk access.[8] The 8088 bus was used for control of all other subsystems, including graphics, hard disk access, and communications.[7] 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 be upgraded to the faster NEC V20 chip. This gave about 10-15% speed improvement, but required a two-byte change to the system's ROMs to fix two timing loops.

Memory

The 100A model shipped with 64 kB[9] 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.

Floppy disk drives

The floppy disk drives, known as the RX50, accepted proprietary 400 kB[10] 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.

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.[11]

Third-party hard-disk controllers were also available, including a dual winchester support from CHS[12]

Graphics

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 an 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.[13]

Display

The base Rainbow system generates a TTL 15kHz composite-video signal compatible with RS-170 (NTSC) 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.

Keyboard

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 Teletype Model 33 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 1985.[14]

Third-party

Third-party upgrades were also available, including an 80286 (286) processor upgrade (Turbow-286),[15] 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.[16]

Univation produced a number of products for the Rainbow as well. They offered add-in memory cards, hard disk controllers and LAN cards. The Univation disk interface was SASI/SCSI-1, but not software compatible with DEC's Winchester Disk option. It was based on a design by Xebec.[17][18] [19]

C.H.S. Created a dual-Winchester controller for the DEC Rainbow as well. It was compatible enough with the DEC's disk controller one could boot off it on the 100B/100+/190. Like DEC's offering, it was based on Western Digital's WD1010 chip. However, additional drivers were needed to access the second hard drive.[20]

REC of Switzerland created a SCSI card for the Rainbow.[21]

DEC Option Table

Here's the various options you could get for the Rainbow that were hardware. Country kits not yet listed.

Option NumberBoard NumberDescription
standard54-15482RX-50 Diskette Controller
PC-100A54-15486CPU ASSEMBLY PC100A
PC-1XX-AA54-15490-AA64KB MEMORY EXPANSION PC-100A only
PC-1XX-AB54-15490-AB192KB MEMORY EXPANSION PC-100A only
PC-1XX-BA54-15688COLOR GRAPHICS OPTION
PC-1XX-BB54-15703EXT COMMS OPTION
PC-1XX-DA54-16019RD51 CONTROLLER MODULE
PC-100B, PC-100+, PC-19054-16206PC100B SYSTEM BOARD
PC-1XX-EA54-165358087 CO-PROCESSOR BOARD
PC-1XX-AC54-15961-AC64k byte memory module (socketed) PC-100B or PC-100A with adapter
PC-1XX-AD54-15961-AD256k byte memory module (socketed) PC-100B or PC-100A with adapter
PC-1XX-AKAdapter to allow PC-1XX-AC and PC-1XX-AD to be used in 100A
PC-1XX-AZ9 x 256kb static ram chips
PC-1XX-FATechnical Character Set ROM 100A
PC-1XX-FBTechnical Character Set ROM 100B
RCD31-BA20MB half height disk and controller 100A
RCD31-BB20MB half height disk and controller 100B
RD31-BAReplacement drive for RD-51
PC-XXF-BAFloor stand Unit

Data compiled from a number of sources including [22][23][24] [25]

Software

The Rainbow runs the CP/M 86/80 operating system, which detects whether software is written for 8-bit CP/M and 16-bit CP/M-86 and runs it on the appropriate processor.[26] DEC later released MS-DOS, but little DOS software was released on Rainbow media. While it provided the same MS-DOS functions that IBM's PC DOS did, it lacked the IBM PC's video and keyboard interface which most software used limiting the commercial software that would run. Towards the end of its life, Rainbow users were able to run some IBM PC-compatible MS-DOS software using an emulation application called Code Blue, though it only emulated the IBM PC's BIOS, and only some of the hardware, so programs that accessed the video cards directly would not work very well.

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. The Rainbow 100B fixed this overlap in hardware by changes to the board design that allowed the OS to move the hardware interrupts. This means that the MS-DOS 3.10b version for the Rainbow can only run on the Rainbow 100B.

DEC itself ported Microsoft Windows 1.0 to the Rainbow. There was also a third-party upgrade that included a 286 processor board and a modified version of Windows 3.0.

Software bundled with DEC Rainbow floor model included:

  • Microsoft MBasic-86 BASIC interpreter for Rainbow 100
  • WordStar developed by Micro Pro for Rainbow 100

Documentation

  • Rainbow 100 Technical Manual
  • Getting Started with Rainbow 100
  • MBasic-86 User's Guide Digital Equipment Corporation Distributed
  • WordStar User's Guide for Rainbow 100
  • License and Software Product Description

These documents come in booklets contained inside two hard case boxes, with the DEC logo.

Problems

The Rainbow was MS-DOS compatible, but not completely software- or hardware-compatible with the IBM PC. At the time this seemed reasonable, with the expectation being that the interface that programs would target would be MS-DOS, not the underlying hardware. However, many significant commercial software products were written directly to the hardware, for a variety of reasons including performance. Very soon the market expectation was that all MS-DOS computers would be fully IBM PC compatible. While "Code Blue" did a good job at emulating the IBM BIOS, its inability to trap references to the video and other hardware limited what would run on the Rainbow. The FOSSIL TSR allowed several terminal programs and editors to run on the IBM-PC, Rainbow and other early 8088/8086 computers, but its limited adoption limited its usefulness. Various other hacks allowed popular programs like Turbo Pascal, Turbo C to run, while patches circulated for a while, but new releases made this difficult to keep up with and over time these hacks dried up (the online archives have very little new after 1991 or 1992, although some of that may be due to the RABIT TSR which solved the problem generically for all Borland products).

The DEC Rainbow 100 MS-DOS did support FAT formatted floppies. They were FAT12 format on 80-track, single-sided, quad-density 5.25" drives. The first two tracks were reserved for the boot loader, but didn't contain an MBR nor a BPB (MS-DOS used a static in-memory BPB instead). The boot sector (track 0, side 0, sector 1) was Z80 code beginning with DI 0xF3. The 8088 bootstrap was loaded by the Z80. Track 1, side 0, sector 2 starts with the Media/FAT ID byte 0xFA. Unformatted disks use 0xE5 instead. The file system starts on track 2, side 0, sector 1. There are 2 copies of the FAT and 96 entries in the root directory. In addition, there is a physical to logical track mapping to effect a 2:1 sector interleaving. The disks were formatted with the physical sectors in order numbered 1 to 10 on each track after the reserved tracks, but the logical sectors from 1 to 10 were stored in physical sectors 1, 6, 2, 7, 3, 8, 4, 9, 5, 10.[27] This makes is hard to create Rainbow disk images since all existing tools assume there will be an MBR with a BPB, and required various hacks to make up for the lack of on-disk BPB.

The DEC Rainbow 100 had no general expansion bus. Instead, it had a number of expansion slots that could be used for a single purpose only: extra memory, graphics, rx-50 floppy controller. One slot was originally designed for a DMA enabled serial card, but hard disk controllers were used there instead because DEC bet wrong on which was more important. Univation produced an Ethernet card that could boot the Rainbow over the network for that slot, but most users preferred to have a hard drive instead. While the software incompatibilities were bad, the lack of expansion hardware flexibility was worse, and the inability to use ISA cards, despite their flaws at the time, played a significant role in the Rainbow fading from the scene more quickly than the original IBM-PC.

Legacy

The Multi Emulator Super System can run the Rainbow-specific Windows 1.0.

The Rainbow 100 plays a small but important role in the creation of the FidoNet system. A computer club in St. Louis was in the process of setting up a BBS system using CBBS on CP/M when they learned that DEC would be giving the club a Rainbow 100 for free. The group planned on starting the BBS on this machine as soon as it arrived; but, when it did, they found that the Z80 did not have access to the serial ports. Casting about for a new BBS platform that ran on DOS, they learned of FidoBBS and arranged to have its developer port the serial drivers to the Rainbow platform. This ran up considerable phone bills sending emails and file transfers between St. Louis and the developer in San Francisco, and the developer produced FidoNet as a method of automating exchanges late at night when phone rates were lower.[28]

Piers Anthony wrote many of his books from the '80s on his DEC Rainbow.[29]

The DEC Rainbow can be seen in the films Ghostbusters, Beverly Hills Cop, and Firestarter.

Michael Paré watches a TV commercial for "The Rainbow" in The Philadelphia Experiment.

References

  1. Ryan, Chris. "Digital Rainbow 100". Old-Computers.com. Retrieved 4 January 2010.
  2. Klein, Erik S. "DEC Rainbow 100". The Vintage Computer. Retrieved 4 January 2010.
  3. Convert Rainbows from A to B (contained in zip file Archived 2011-08-25 at the Wayback Machine).
  4. "Illustrated Parts Breakdown: PC100 Rainbow 100 System Unit" (PDF). Digital Equipment Corporation. 1985. pp. 11–12, 25–26. EK-SB100-IP-003.
  5. EK-SB100-IP-003 1985, pp. 15–16,32
  6. EK-SB100-IP-003 1985, pp. A-21, A-23–24
  7. EK-PC100-TM-001 1984, p. 4-2
  8. EK-PC100-TM-001 1984, p. 4-1
  9. In the context of semiconductor memory, 1 kilobyte = 1,024 bytes.
  10. In the case of a RX50 floppy disks, 1 KB = 1,024 bytes.
  11. WUTIL Users Manual (Contained in archive Archived 2011-08-25 at the Wayback Machine)
  12. BSW Venix Announcement, mod.newprod
  13. Hartley, R.B. "Dual Monitors on a Rainbow." Within the RBGIF distribution Archived 2011-08-25 at the Wayback Machine
  14. "The Grapevine". Washington Area Rainbow User's Group. WARUG. October 1986. p. 36.
  15. Pictures of the Turbow-286 Rainbow Accelerator
  16. Christal, Mark (2003). Virtual museum projects for culturally responsive teaching in American Indian education (PhD). University of Texas. hdl:2152/509.
  17. "Communications Tools in Spotlight at Dexpo West '87". Computer World. December 17, 1984. p. 9.
  18. Gavan, Peggy (November 11, 1986). "PC Updates". PC Magazine. p. 46.
  19. Solutions, Suitable (1988). HARD DISK SUBSYSTEMS for the DEC Rainbow Installation Guide. Santa Clara, CA. p. 1.
  20. Solutions, Suitable (1988). HARD DISK SUBSYSTEMS for the DEC Rainbow Installation Guide. Santa Clara, CA. pp. 22–29.
  21. Solutions, Suitable (1988). HARD DISK SUBSYSTEMS for the DEC Rainbow Installation Guide. Santa Clara, CA. p. 1.
  22. "§7.2 Personal Computers: Rainbox Options and Software". PDP-11 Systems and Options Catalog (PDF). Digital Equipment Corporation. July–December 1988. p. PDF 365.
  23. PDP-11 Systems and Options Catalog (PDF). Digital Equipment Corporation. October–December 1983. pp. 5-3–5-5 (PDF 142–144).
  24. RB-100 Technical Reference Manual
  25. EK-SB100-IP-003 1985
  26. Snyder, John J. Ph.D. (June 1983). "A DEC on Every Desk?". BYTE. pp. 104–106. Retrieved 5 February 2015.
  27. Digital Equipment Corporation. Rainbow 100 MS-DOS 2.01 Technical Documentation Volume 1 (QV025-GZ), Microsoft MS-DOS Operating System BIOS Listing (AA-X432A-TV), Universal Disk Driver, Page 1-17. 1983.
  28. Baker, Ben (2 May 1987). "Fidonet History".
  29. http://www.hipiers.com/02dec.html
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.