[comp.arch] National 32000 UNIX history

russell@labtam.oz (Russell McDonell) (05/30/90)

uunet!dunike!onecom!hansr (Johann Ruegg) writes:
>There has been some recent speculation about the history of National's
>32000 chip.  We did the official AT&T Unix port for National way back
>when, so we thought we'd add our 2 cents worth.
	This port was the basis of Labtam Limited's Unix boxes for
several years - before we switch to 386's and 486's. It was a good
port. In fact I believe another Australian company (Osirus?) is still
using it as the basis of their NS32532 unix boxes. Labtam switched
because we lost faith in National's ability to come up with the goods
in time. They brought out the NS32332 later than we would have liked.
In fact we were finally able to ship NS32332 systems at same point in
time that we had hoped to ship NS32532 systems. The 386 looked like it
would beat the NS32532 to market by several months so we went with that.

>National already had a box running their Berkeley port.  The box was 
>called the SYS16 (later re-named SYS32) and their Berkeley port was
>called Genix.  Anyway, we already had a fairly stable hardware design
>and we decided to use Genix as our host system.
	Labtam had a SYS32 system "on-loan" to help us port Genix to
our hardware. The SYS32 wasn't a bad system. Labtam ended up naming
our Unix product Genix because we couldn't licence the name "Unix".
That naming problem, plus the fact that no one ported anything to the
NS32x32 for less than an arm, two legs and the pound of flesh nearest
your heart, contributed to us choosing to dump the NS32x32 product.

>One mistake National did make with the architecture was the idea of
>modules and external references which went through the module tables.
>This let you link to ROM code easily.  The Genix compiler actually
>used this for C, but it was so slow that we took it out for the PCC
>port.  (I believe National also abandoned it later for Genix).
	Sure did.
>There were still a few chip bugs however.  Two in particular caused
>problems:

>	1) Divide didn't always give the correct result.  This was
>fixed in the next rev.  What was amazing was that the Genix people hadn't
>found this bug previously.  Perhaps because National was still using
>VAX's as their host machines internally, while we were using our port.
	In fact as far as we could determine National never got around
to using their own Unix product in-house. We found lots of bugs in
commands which could not have gone unnoticed if the product had been
in daily use. And we were able to trace most of these to the fact that
the binaries had been compiled in a cross environment!

>	2) Page table entries that were marked as modified but were not
>writable didn't work right.  Writes trapped in such a situation, but
>AFTER the write was already done.  The workaround was to use a different
>bit to mark pages which were modified.
	Labtam got an early version where this fix had not been implemented.
Fortunately the port was so well organized and structured that it was very
easy all occurances of "X" and change them to "Y". I know - I had to do it.
It was easy - thanks Johann