Digital Equipment Corporation

Rainbow 100A

Rainbow 100A Make Digital Equipment Corporation Model Rainbow 100 Model Number PC100-A Serial Number WF54026 Processor Intel 8088 and Zilog Z80 Bus Release Date 1982 Cost New ? Acquired 2024-11-16 Configuration (as collected) Floor stand VR201. DEC’s failure in this market ultimately led to DEC’s demise. The Rainbow is based on the Z-80 and Intel 8088 CPUs, so it can run CP/M or MS-DOS. I was given this particular machine by someone in Ramsbottom, Lancashire. It came from the estate of a radio amateur in the Bury area, now a “Silent Key”. It came with a monitor, keyboard, an LA50 printer, various floppy disks and a set of manuals. This being the most basic A model, does not support a hard disk. Rainbow 100A as Received Minus the Floor Stand It came with the following manuals and software: AA-N575A-TV Rainbow 100 Getting Started EK-P100E-OM-001 Rainbow 100 Owner’s Manual EK-P10BR-IN-001 Rainbow 100 Installation Guide with Language ROM Change AA-P300A-TV Rainbow 100 User’s Guide EK-0LA50-UG-001 Installing and Using the LA50 Printer EK-0LA50-RM-002 LA50 Printer Programmer Reference Manual Rainbow 100 User Kit box, containing: EK-DECRB-IN-001 Floor Stand Installation Guide AA-N649A-TV Rainbow 100 Read Me First with Language ROM Change AA-P300A-TV Rainbow 100 User’s Guide Rainbow 100 CP/M-86-80 Operating System box, containing: AA-N575A-TV Rainbow 100 Getting Started Shipping protectors for RX50 Software box containing: BL-T309B-BV RAINBOW 100 DIAG DSK RX50 BL-N651A-BV SYSTEM OVERVIEW BIN RX50 BL-N648A-BV CP/M-86/80 V1.0 BIN RX50 Unofficial CP/M-86/80 Distribution Backup Software box containing: BG-P876B-BV Language ROM Sadly the VR201 monitor was suffering badly from screen “cataracts”. While loading the machine into my car one of the floppy disk doors came adrift. When I got it home I found that the pins holding it seem to be missing and likely got lost during the loading process. While there seemed to be some paint marks on the monitor and the keyboard cable, the inside of the machine itself was very clean. The machine powered on, flashing the keyboard and RX50 lights and turning the fans. The monitor came on but didnot display an image. The diagnostic LEDs on the back displayed 1110110. The online Owner’s Manual does not describe this code, but the paper copy that came with the machine indicated that this was a Video RAM fault. The clean interior of the Rainbow Rainbow System Board with Floppy Disk Controller for RX50 RX50 with damaged drive door (pins are missing) VR201 with cataracts VR201 with some dirt and paint marks Rainbow 100 manuals Rainbow 100 software box and language ROM I have since the restored the machine as detailed in the following blog post . Restoration History Date Details 2024-11-16 Visually examined power supply, the electrolytic capacitors showed no leaks or bulges. Tried to fix floppy door but found pins missing. 2024-11-24 Replaced E122 (Video RAM), now diagnostic LEDs indicate Main Board Video error. 2024-11-28 Fixed RX50 door with a new pin. 2024-12-01 Replaced QIKEJECT socket for E89 with normal socket. 2025-03-08 H7842 PSU failed, power entry module shorted, replaced PSU with a spare. 2025-03-16 Replaced E100 (line buffer static RAM) and the board started working. 2025-04-20 Replaced power entry module on the original H7842A Power Supply and reinstalled it. 2025-07-25 Fixed cataracts on VR201. 2025-07-28 Replaced some capacitors in the VR201. Repair Reference Information ROMs I have a partially annotated disassembled ROM here. The disassembly is incomplete and there is some embedded data in places, I don’t know if I have identified them all, so the disassembly may be incorrect in a few places. ROM 0: 23-176E4-00, part E89. Disassembly Logic Analyser Setup To capture addresses and data from the 8088 use a multiplex mode on the logic analyser. To get the address trigger on the negative edge of ALE. This is a good point to capture the IO/M signal on pin 28 as well. Complete the cycle to get the data from the bus by triggering on the positive edge of DEN, this is the point to capture the RD signal on pin 32 to distinguish reads and writes. Diagnostic LEDs Label D11 D10 D9 D6 D5 D4 D3 Bus bit 5 7 6 4 Diagnostic LED Mapping for 8088 Memory Map The tables below lists the locations that I have identified in the ROM code and their possible purpose: Address Description 0x0503 Video controller is OK if it matches the mask 0x2 0x0505 0x0506 Possibly pointer to a diagnostic message displayed on screen. It is the location in a table of pointers to the actual string. 0x252C Stores diagnostic LED values to be displayed 0x2530 DC012 Vertical interrupt counter. During self-test a temporary interrupt routine at 0x11E1 counts the number of interrupts. 0x2532 Printer status (MPSC). Bits are (starting at LSB): 0: The transmit buffer is empty 1: A character was received 2: Some kind of transmit error relating to SDLC 3: A character was received but there was an error 0x2533 Communications status (MPSC). Bits are (starting at LSB): 0: The transmit buffer is empty 1: A character was received 2: Some kind of transmit error relating to SDLC 3: A character was received but there was an error 0x2534 0x2535 Some kind of status byte for the video controller check. If it matches any bits out of the value 0x78 then the video controller is OK. Bits are (starting at LSB): 0: Keyboard TxEMPTY is set 1: Ready to transmit to the Communications port (MPSC) 2: Ready to transmit to the Printer port (MPSC) 3: 4: Vertical interrupts are being delivered 5: Something about finding FFFF in the ROM 7: Possibly used as a canary to spot RAM errors Upper byte Seems to count outstanding characters to transmitted or received (keyboard and MPSC channels). It is cleared with word operations on 0x2534. General Memory Locations For the keyboard control block Address Description 0x2536 Possibly a count of the number of times to send the keyboard transmit buffer character. 0x2537 Transmit buffer. 0x253A The last status read from the keyboard status register. 0x253B Read buffer Keyboard Control Block For the MPSC Communications Port Control Block Address Description 0x253C 0x253D DC012 vertical interrupt counter 0x253E Contents of RR0 from MPSC chip 0x253F Contents of RR1 from MPSC chip 0x2540 Read buffer MPSC Communications Port Control Block For the MPSC Printer Port Control Block Address Description 0x2541 0x2542 DC012 vertical interrupt counter 0x2543 Contents of RR0 from MPSC chip 0x2544 Contents of RR1 from MPSC chip 0x2545 Read buffer MPSC Printer Port Control Block

hardwareGen. 0

Galerie

La machine et sa ludothèque