RGB Graphics On A DEC Rainbow With Reverse-Engineered Monitor

One of the delights of the boring pre-VGA era is that you get to express your creativity when it comes to making a random color CRT work with an equally exciting dual CPU computer like the DEC Rainbow 100. This is the situation that the folk over at Usagi Electric found themselves in with a recent project. The Rainbow 100 is an interesting computer in that it can boot not only DOS with its 8088 processor, but also CP/M on the Z80 processor. Although generally used in monochrome mode, it supports a color graphic card to output RGB signals via its male DB15 connector.

DEC Rainbow 100 to Princeton Ultrasync adapter. With strain-relief zip tie.
DEC Rainbow 100 to Princeton Ultrasync adapter. With strain-relief zip tie.

Unfortunately, the target monitor – a Princeton Ultrasync – featured a female DB25 connector that obviously wasn’t going to connect directly, thus requiring a spot of reverse engineering. Making this very easy, the PCB containing the input connector had the traces clearly marked with the intended signal, which just left the mapping of the two connectors. One complication here was with the Rainbow 100 outputting an RGB signal with sync-on-green, whereas the monitor expected a separate synchronization signal.

Fortunately, most analog monitors aren’t particularly fussy so long as they get the expected signal somewhere in the input, which just left the final issue, of the Rainbow 100 outputting the monochrome signal on a special monochrome pin. This allowed everything to work as it should, and leaving those of us who joined the computing era in the 90s appreciative of standard VGA cables, other than for those weird Sun and Apple systems with their proprietary connectors.

11 thoughts on “RGB Graphics On A DEC Rainbow With Reverse-Engineered Monitor

  1. “The Rainbow 100 is an interesting computer in that it can boot not only DOS with its 8088 processor, but also CP/M on the Z80 processor.”

    I heard of the Rainbow before, but I wonder if it’s possible to replace that 8088 by a NEV V20 here (on IBM PC platform, some BIOS revisions are V20/V30 incompatible since they use one of those ~3 rare intel instructions not supported, so they require patching).

    Because, the V20 has 8080 emulation mode, which some CP/M emulators for DOS can use.
    It would be interesting to see if this could be useful in conjunction with the Z80 here.
    The Z80 is a super set of the 8080 itself.

    And if both CPUs are active simultaneously on same bus, the basic 8080 instructions could be understood by both of them.

      1. Hi there! From what I remember, Z80 was binary compatible with 8080, too.
        Due to copyright issues, Zilog had to use different names for their mnemonics in the manuals/documents, also (LD vs MOV etc).

        Many users/developers switched from using 8080 to using Z80 soon after the Z80 was introduced. Intel then introduced the 8085 to compete with Z80.

        The 8086/8088 was source compatible with 8080 only, the machine code was different.
        NEC fixed this issue by providing a special compatibility mode in its own processors.

        The NEC V20/30 and others do have an ‘8080 emulation mode’, which doesn’t encapsulate new Z80 instructions. It can be controlled by BRKEM, RETI and RETEM, CALLN instructions, AFAIK.

        Some CP/M emulators on DOS or CP/M-86 made use of this feature (V20-80 CPeMulator/ZRUN, 22NICE etc) to increase performance. On an sleepy 4,77 MHz PC/XT, this increased performance by three or more times.

        Unfortunately, many later CP/M programs like Borland Turbo Pascal nolonger ran on a plain 8080, so a full processor emulation (of a Z80 or higher) in software made more sense.

        Afaik, there also was a Z80+V30 hybrid CPU called the NEC µPD9002.
        But it was very rare.

      1. Hey, thanks for your reply! Glad to hear it worked for you! 😃
        I assume the error message is okay, it’s because the V20 is slightly faster in general (and maybe noticeably faster in memory operations).

        What’s also cool, the V20 gave you new 80186 instructions (aka 80286 Real-Mode instructions). So most applications written with PC ATs in mind were now compatible, as far as the processor was considered. That’s handy, because many DOS applications introduced in the 90s have had a /286 compiler switch set during their creation. The V20 owners thus usually didn’t need to patch such programs.

  2. Add SGI to the list of weird video connectors. Almost, but not quite Sun-style 25 pin with 3 coax inserts. Luckily, someone came up with a VGA/EGA adapter…because SGI monitors are a lot scarcer than Sun monitors…

    1. SGI used 13W3 on their pre-1995 machines just like Sun. Notably, the Indy, Indigo² and Octane all featured 13W3. The O2 was DE15HD (VGA-compatible). Unlike Sun, which used composite sync, SGI used Sync-on-Green for most of these. (Although Octane with Impact graphics could output composite sync too.)

  3. I now wish I held on to my DEC Rainbow…But it is somewhere in the landfill many years ago…. It was my first PC which I used for college. Through the college we got them ‘half’ price … which was still quite pricey for the time. Turbo Pascal came out in about the same time frame which allowed me to do a lot of homework on it, rather than fight for a terminal up at the college. Upload via modem. Thanks for the ‘memories’ . Remember the green screen well. Also remember the overnight run to generate the Mandelbrot set… Those were the days.

  4. Maybe HAD can do a piece on the different sizes of D-Subminiature connectors. Then maybe we can stop calling the D-Sub E-Shell connector (VGA, 9 pin RS232, Atari Joystick) a “DB” Connector (25 pin parallel printer, 25-pin RS232 or 25-pin SCSI).

    VGA is a DE15HD.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.