Subject: Re: OFFTOPIC: MicroVax I
To: None <"port-vax@netbsd.org"@vbormc.vbo.dec.com>
From: Lasciate ogni speranza, voi ch'entrate! 11-Feb-1998 1104 +0000 <carlini@marvin.enet.dec.com>
List: port-vax
Date: 02/11/1998 12:52:16
"John.C.Hayward@wheaton.edu" "John C. Hayward" wrote:

>I came up with a simple example of how it failed and contacted digital.
>I assumed that if some of the packed decimal instructions were `micro
>coded' wrong that COBOL users would be hosed.  While we had one of the
>earlier MVIIs I could not understand why this had not been detected
>before.  When I talked to the support person after he came up with a patch
>for the OS relative to the `micro code' I asked him why this had not 
>impacted VMS users of COBOL.  He explained that the Ultrix and VMS people
>developed their own `micro code' independently (I was shocked - but I
>guess I should not have been) and VMS people had gotten that one right
>while the Ultrix people had not.
>

One of the articles in the Digital Technical Journal describes how the
emulation code was written and largely debugged before the uVAX II was even
built. Basically the FP ucode for a VAX-11/730 was ditched and the space used
to make an 11/730 look like a uVAX II as far as emulated instructions were
concerned. The article describes how the code was written and debugged for VMS
and how it was then further debugged when Ultrix showed up some errors in
code-paths that VMS did not use.

And since we are way off topic, I should mention that most VAXes since the
MicroVAX II emulate at least some of the instructions (I believe that the full
listing of what emulates what is some where in the Architecture Manual). The
KA655 Tech Manual indicates that the following were in the microcode assist
category: decimal string, CRC, EDITPC and char string (except MOVCx, CMPCx,
LOCC, SCANC, SKPC and SPANC). Octaword instructions are not assisted at all and
have to be handled entirely by macrocode. Since the uVAX 3100-10(e) and the
VAXstation 3100-30/38 are all based on the same CVAX chip as the KA655, they
will have the instruction implementation. So try an EDITPC or CRC on one of
those and see if NetBSD handles it. (On a UVAX II MOVC5, CMPCx, LOCC, SCANC,
SKPC and SPANC all had to be emulated, so try one of those).


Antonio

Antonio Carlini                            Mail: carlini@marvin.enet.dec.com
DECnet-Plus for OpenVMS Engineering
Digital Equipment Corporation              Worton Grange, Reading, England