On 11/18/2003 01:23 AM -0600, Tom Jennings <tomj(a)wps.com> wrote:
Tom wrote lots of good things...
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.
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.
DECnet-DOS was developed in the DECnet group inspite of the Rainbow group
at first. Their marketeer felt that Corvus Omninet was going to be the big
thing. Only later did we integrate when they got into LAN Manager support.
Our first target was the IBM XT with a 3Com 3C501 Ethernet board, and the
Rainbow running DDCMP on the serial port. We weren't going to wait for
the Rainbow-150 which would be a more industry compatible system. When the
IBM AT appeared, that scotched the RB-150 and lead, eventually... to the
VAXmate. (Thank KO for the delays)
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.
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.
Dave (has two HP16Cs and runs the wprn program)