• Please review our updated Terms and Rules here

Bruce Culbertson NS32016 design

NobodyIsHere

Veteran Member
Joined
Dec 21, 2006
Messages
2,403
Hi
Is anyone familiar with the background on the Bruce Culbertson NS32016 single board computer?

Was this a "one off" build or was it commonly available at some point? Were PCBs ever made or is this project wire-wrap only?

ftp://ftp.funet.fi/pub/misc/pc532/Culbertson/

It is mixed in with the PC532 design information but appears to be a completely separate board. Unfortunately, only the netlist and partlist documents remain plus the PAL JEDEC files and various software. No photos or schematics that I know about.

Does anyone remember this system? Is it related to the Symmetric 375 in some fashion?

Thanks, Andrew Lynch
 
Hi
David Fry and myself have decided to attempt to recreate this vintage home brew computer project as a modern recreation in KiCAD. The plan is to capture a schematic from the netlist and partlist files and then create a PCB.

Neither David nor I have any experience with NS32K so this is quite an adventure so far. I like the NS32K because from a hardware perspective it is similar to the 8086 design and is too much to be a coincidence. Almost like they are close relatives or share common heritage in some fashion. From a software perspective I've seen it described as "VAX-like" and similar to 68K ISA. I am not familiar with it so I'll leave it to others comments.
 
Hi
From a software perspective I've seen it described as "VAX-like" and similar to 68K ISA. I am not familiar with it so I'll leave it to others comments.

Yes, the 32K is a very regular architecture that does remind me of the Vax. Very easy to write an assembler for, and it looks like I still have the source for one from 1988 that assembles to a listing, but it doesn't produce an object file. I used it to improve my Yacc and Lex skills.
 
David and I have created an NS32016-BC schematic and PCB layout. If you are interested in this project please post here or let me know. PCB is MicroATX form factor designed to use a commodity ATX case & power supply. Thanks, Andrew Lynch
 
Andrew disconnected himself from the online vintage community years ago. He raised a big stink here that he couldn't delete all of his prior posts on this forum (not account, but posts and threads like those above). In doing so, he burned more bridges on top of the previous meltdown act over N8VEM - insisting those involved in the project release the name (his HAM call-sign), immediately migrate the wiki and mailing list to some other name, and never use N8VEM in reference to it's namesake project ever again despite thousands of on-line references. I have a pretty rip opinion of him. But I'll keep that to myself.

I don't have any of the collateral for the NS32016 design. But I did recapture the Scolaro/Rand designed PC532 motherboard in Eagle 7.x from some Gerbers Andrew found; including complete forward/back annotation with the schematic. I can share that if anyone is interested.
 
Hi

I do have some additional background on the Bruce Culbertson NS32016 project. Apparently, it was done in the mid 1980's and posted in 1989. It ran Minix and included sources for drivers, etc. to get it running and some tools. Also, the schematics and PCB layouts never existed since Bruce only posted the netlist and parts list with the intent that people would use them along with a "high quality prototyping board" to wire-wrap the whole thing. OK, that explains the missing schematic and PCB layout files -- they never existed.

What I did was recreate a schematic and PCB layout in KiCAD. The schematic is a line-by-line reconstruct from the netlist and parts list going through again and again until it made sense and passed ERC. The actual design must have used a bench power supply since there was no power interface to speak of. As for PCB layout, that was wide open to interpretation, so I used a Micro-ATX layout with mounting holes. I added an ATX power supply circuit to supply 5V, +12V, -12V, ground, power switch and power LED. Also added a small patch area for fixes during build and test assuming they come up.

The PCB is 9.6"x9.6" as per standard Micro-ATX format. It passes DRC cleanly, and I used some "poetic interpretation" to fill in the gaps. The board contains a standard NS32016 chipset (CPU, MMU, FPU, TCU, ICU plus a DMA and DRAM memory controller). Actually, in some ways it looks like a National Semiconductor marketing sample reference chipset. Back in the day, chip companies used to give away chip samples to engineers, so I suspect that's where this originated. It is clear from the reference material that Bruce Culbertson worked at HP labs, so it supports my theory. Based on its size and information in the file set, it will almost certainly require a 4-layer PCB. BTW, a Micro-ATX board is about 600 cm2 in area so it is a large board -- twice the size of an S-100 board. It will not be cheap to purchase PCBs. Of course, the NS32K parts aren't exactly inexpensive either.

The design includes fairly robust IO including a SCSI-1 interface (NCR5380), a floppy drive (Intel 82072), and dual serial ports (16450s with 1488/1489 drivers). The SCSI-1 seems to be less of an issue that I originally feared. There are SCSI-1 emulators available like these (apparently derived from SCSI2SD):



I am not going to publicly post my schematic or PCB layout files because I don't want to introduce errors into a rather "fragile" file set regarding the Bruce Culbertson design. However, if you are interested in the Bruce Culbertson NS32016 computer, please contact me off forum by DM or email to discuss. The schematic and PCB layout certainly could use another set of experienced eyes to review and verify them. Also, I think the NS32K footprint library for KiCAD have been used very little so likely contain errors of their own. Comparing the schematic against the component datasheets would help flush out bugs. I've done that already, but another set of independent eyeballs will very likely see things I am missing.

PS, one more thing. The Bruce Culbertson design is quite clever in that it supports up to 8MB of onboard DRAM. It does this by extending the DP8419 DRAM controller to support 1MB DRAM chips which it otherwise would not do. Actually, the design I have uses 1MBx4 bit wide DRAMs to pack in 8MB in only 16, 20 pin DRAM ZIPs.
 
Last edited:
It definitely is an interesting read. But now that I see how the design was distributed—as a set of text files posted to the usenet—I am guessing that there was a schematic, but he simply had no easy way to post it back in 1988. I wouldn't even be surprised if he'd had access to some sort of CAD system from which he could export that netlist; generating it by hand from a schematic would certainly be quite error-prone!
 
Yes, that is how the story goes. No EDA tools used. Literally a wire-wrap design on a prototyping board and a *hand recorded* netlist. Apparently manually typed in one connection at a time. What you see represents a whole lot of work by Bruce Culbertson. Nothing was automated. I am very impressed he got this to work and work well enough to port Minix.

Yes, it is error prone but so is anything handmade. Regardless, it is an amazing piece of work preserved like a time capsule from "back in the day".
 
  • Like
Reactions: cjs
Yes, that is truly impressive, and though doing something that size without even a hand-drawn schematic seems unlikely, I'm willing to believe it's possible. After all, I do (much) smaller projects than that straight on to protoboard without a schematic, so it's surely possible for someone with a much better memory than mine to keep a large project like that in his head.

That said, I think that putting your work up on GitHub or GitLab or wherever (with of course a big warning that it may have errors in it) would be a pretty valuable thing to do. For a start, it's not too hard to include reliable copies of the original files, that others could then more reliably get from there rather than having to do their own chasing-down of that usenet post and extracting the files from it.

And then that opens up opportunities for help from other people who perhaps don't want to bother you (or are just shy). For example, it is probably not too hard to write a program that does an automated check of the original netlist against the KiCad netlist. (The KiCad schematic file is a text file containing S-expressions, so I think it should be pretty easy to read the netlist straight out of it. Or, alternatively, KiCad can export a netlist IIRC.)
 
The NS32016-BC PCB is in trace routing. I experimented with a 2-layer board just to see if it would route, and it did solve on its own which is a good sign. However, with the board being so physically large and with some high-speed signals, it probably has to be 4-layer for stability and signal quality. I know that drives cost but I think a successful 2-layer board with these characteristics is rather unlikely. I have the PCB trace routing as a 4-layer board to see what kind of results it produces.
 
Just a reminder : the design for the Ceres-1, a NS32032 machine with 1000x800 display, running the Oberon system, is out there, including all schematics, software, PAL equations for EP610's used.
Designed by ateam under the lead of Niklaus Wirth, who just passed away last month.

The followup Ceres-3, using the NS32gx32, is particular nice with a low total component count.
 
Back
Top