I have a Nabu 1600.
Several of us at University of Waterloo bought Nabu 1600s about 1983 when (some of?) Nabu was being liquidated by an Ottawa company call Fulcrum. No software came with it but there was a pirated copy of Xenix around.
I left Waterloo a little later and joined HCR in Toronto. They had done the Xenix port to the Nabu.
We did some hacking on the 1600:
- We doubled the RAM.
- We replaced the i8086 with a NEC V30. This required hacking the Xenix kernel a little.
- We modified the C compiler to exploit some of the V30's features
- We modified the Kernel and the hardware so the system would trap references to 0 and to unallocated memory in userland code
Some recollections:
I had an 8" floppy drive in a NABU case but I had no use for 8" drives so I gave it away.
The NABU 1600 was very noisy. I'm glad I no longer work in a room with it.
The NABU 1600 had four serial ports. I configured one for a modem and put my NABU on the UUCP network (usenet). I was then plugged into usenet email, long before "the internet" became available in Canada.
For a terminal, I initially use a Volker Craig 2100. This was a prototype clone of a DEC VT100. Volker Craig got into financial trouble and was combined with some other companies to form NABU. I got the VC2100 (and an Altair 8080a) cheap from a VC garage sale during some of the uproar. The VC2100 project was cancelled, partly because the product was unreliable.
Eventually I used an Atari ST as a terminal. Sounds odd: the Atari was quite a bit more powerful than the NABU. The NABU ran UNIX which was much more useful to me than the ST's GEM/TOS system.
Our NABUs used quad-density floppy drives. The WD floppy controller chip was incapable of supporting the higher density drives that were introduced with the IBM PC/AT. Quad density was a real rarity.
I went through several ST506-style drives. I don't have any that work now. Each time you changed the model of drive, you had to change the Xenix kernel since the drive geometry was wired-in.
The MMU was a wonder: a board of TTL etc. That was the key feature that made the NABU interesting to me: you could run a UNIX without danger of a userland process clobbering the RAM of another process or the kernel. This would not have been needed if the processor were an Intel 286 but that didn't yet exist.
Our hack to catch bad memory references really helped when debugging software.
The version of XENIX was basicly 7th Edition UNIX. The C compiler was a version of the Ritchie C compiler (one would have expected it to be a version of Johnson's PCC). Most of the porting work had been done for ALTOS (perhaps by Microsoft). HCR took that code and ported it to the NABU 1600.
The NABU didn't really need 512k of RAM. Each userland process used at most 64k for code and 64k for data; most used less. So I used half of the RAM as a RAMDISK.
The 8086 processor had a bug (I discovered this the hard way): the specifications said that a shift would set the flags to reflect the result. It turned out that a shift by 0 did not. I had to fix the C compiler to avoid this bug. I also bugged Intel and they decided it was easier to change the manual. Too bad: all subsequent implementation did set the flags on a shift by zero but the manual leaves it undefined.
I use a text editor called JOVE. It is a pleasant subset of EMACS. Its code just fit in 64K. It was so tight that a couple of times when I added features to the editor, I had to add peephole optimizations to the C compiler.
I had a lot of stuff on quad density floppies and 9-track tapes (the 9-track drives were for HCR's VAX that ran UNIX System V). They are probably unreadable now.
Trivia: Tom Wheeler was the last President of NABU Networks. He later became the chair of the US FCC. https://en.wikipedia.org/wiki/Tom_Wheeler