Dec Rainbow prehistory

From: Tom Jennings <tomj_at_wps.com>
Date: Wed Nov 19 18:09:52 2003

On Tue, 2003-11-18 at 22:29, Dave Mitton wrote:

> >Some BOZO designer had, I assume arrogantly, put all the video
> >interrupts (vert, horiz retrace, etc) starting at 00020h, which everyone
> >knows is where MSDOS has it's software interrupts. They were in a PAL or
> >something, and could not be moved.
>
> Well, I won't defend the quirks of the Rainbow... (more later)
> But you're forgetting that the Rainbow 100A design pre-dates the IBM PC, it
> was first designed as a CP/M machine. MS-DOS came later.

My apologies to the engineer, I should not have insulted him/her even
from afar, I have no idea what their criteria might have been, but I
still maintain it was very short sighted. I assume it was decreed from
'above'.

Whether MSDOS 'winning' (sic) the OS war of the time (vs. CP/M-86) was
obvious or not, MSDOS was in no way ignorable. The 8088 card added to
the Rainbow design post-dates MSDOS (and certainly post dates 86DOS,
which MSDOS 1.25 is, bought from Seattle Computer Products (man I wish I
had saved those 86DOS 0.86 and 1.x manuals!), which *someone* at DEC
must have known about. And if they didn't they weren't paying attention.
It's hard to imagine they chose interrupts 0020h - 002fh by accident;
it's just Good Practice to avoid all possible conflicts, especially when
the cost is essentially zero to do so.

> And IBM put interrupts on the PC in places that Intel's data sheets
> documented as RESERVED! IBM did not pay attention to Intel's
> recommendations and violated a few of their support device allocations.

Yeah, they were stupid too. I've got two words for the IBM PC ROM code:
ug lee. The biggest steamroller wins.


> I remember the MHFU watchdog and the Vertical Retrace Interupt. The DECnet
> kernel basically ran as an interrupt driven background TSR. On the IBM PC
> we easily shelled off the 1C clock tick, but on the Rainbow, we had to
> build "clever" reentrancy shells around several interrupts to avoid some
> wierd stack overflow or reentrancy into the video BIOS.

Ahh... now I get it. I wasn't told even this much back then!!

I do recall some severe stack-depth problem, I had to switch stack
pointers in the I/O drivers somewhere I recall. I think. Wish I had the
code!

> The Rainbow at least had a decent UART with a multicharacter FIFO. I had
> no problem doing 19.2kbs using C routines. That stupid XT UART could
> barely do 9600 with an optimized state driven assembly routine. UART FIFOs
> didn't appear until the IBM PS/2 Model 50.

Yes, when DEC applied themselves without weird non-functional agendas
they made really nice stuff. It made a nice Fido bulletin board (umm but
not the 100A's... :-(
Received on Wed Nov 19 2003 - 18:09:52 GMT

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:36:20 BST