The AT&T 3B2 series of computers are historically significant, being the main porting platform for System V Release 3 UNIX. Unfortunately, the documentation for these computers has been nearly lost to the sands of time. They are, however, architecturally interesting machines, and [Seth Morabito] has been working for some time on reverse engineering them. Now, [Seth] is calling it: his AT&T 3B2/400 emulator is almost complete, resurrecting an ancient machine from the dead by studying UNIX source code.
The architecture of this computer is unlike anything you’ve seen before, but well-suited to a UNIX machine. The chipset is built around the WE32100 manufactured by Western Electric, and includes a WE32101 MMU for all the fancy memory-mapped I/O. The implementation of this computer is fairly complex, with oodles of glue logic, over a dozen PALs, and various support chips for a PLL and DRAM controllers. This is computer architecture the way it was intended: inscrutable, baroque, and with a lot of fancy custom chips.
The emulator for this system is a bit simpler: you can just download and run it with simh. This emulator simulates 1, 2, or 4MB of system memory, one 720KB floppy diskette, and either one or two 30MB, 72MB, or 161MB MFM hard disk drives. Not everything is implemented so far — [Seth] is still working on an 8-port serial card and a network card — but this is a minimum viable system for developing and analyzing the history of UNIX.
I know where there are still a pair in production running the voice mail provisioning for over 30,000 offices…
VCF (http://vcfed.org/wp/vcf-museum – in Wall, NJ, @ InfoAge) has at least 1 3B2/310, they may have others as well.
It was a very nice machine. One of my favorites.
I think they got a lot of space in Byte at the time. A desktop and a laptop were in there at the time. Jerry Pournelle probably had one, unless there was another model of similar number.
It was the age of Unix as something to drool over, the software either unavailable, or the hardware too expensive. But we kept reading about Unix, and there was a steady stream of reviews for machines that were capable enough, just too expensive for us.
Jerry Pournelle died a while back. I was thinking bout how he claimed he just wanted a good system to write on, but got sidetracked with endless machines to review and write about. An he’d get the top end machines, this Unix one and 68000 systems and so on.
So much better than whit most of us ran at the time. And now so very obsolete.
I’ve just moved to a refurbished second generation i7, quad core at 3.4GHz with 8 gigs of RAM. So empty, and I’m underusing it, but so much better than this AT&T machine or anything Jerry Pournelle wrote about in Byte.
Michael
If you could just go back and visit your grandfather you might grab an IBM 5100;
you could even fix the 2038 bug though maybe only in a Berenstein timeline.
It worked(will work??) for John Titor. https://en.wikipedia.org/wiki/John_Titor
“This is computer architecture the way it was intended: inscrutable, baroque, and with a lot of fancy custom chips.”
And only one person understands the whole mess.
If you’re lucky.
Sounds like Apple.
Spoken like a true Windows fanboy. Take a look at the MacOS docs sometime. It’s a UNIX certified core with a GUI on top, running on X64 hardware. You can’t get much more standard and well documented.
oh sweeney you made my day, the idea that anyone might be a windows fan boy in this day and age. you’re still mad aout things that happened 20 years ago.
Quite the contrary. I make a living coding on Windows. I use MacOS at home due to it being generally less hassle. I’m fairly system neutral, but I get hacked off when people try to cast aspersions without basing them on fact. Both systems have flaws and weaknesses, but lack of documentation isn’t one of them.
Pengunistas tend to know better (being based on a UNIX-like core), so by default the OP must be a Windows fanboy.
“UNIX Certified” is marketing bullshit. OS X is a mishmash of Mach, BSD, and proprietary Apple components.
Call it what you want, but it meets and complies with the UNIX 03 specification and is registered with the UNIX open group. https://www.opengroup.org/openbrand/register/
GUI programming natively is proprietary (but well documented), or you can run an X11 client. Now back under your bridge!
I was in AT&T Computer Systems ’84-’91 and actually a lot more than one person understood the whole 3B2 “mess”.
In ’91 when CSD was shutting down there was a employee fire sale and some employees purchased 3B2’s, PC6300’s, printers etc for very little. The documentation was mostly put into dumpsters. The company software was transferred onto tape and supposedly was stored/archived for a period. There after the old Computer Systems Center in Lisle was used by other divs of AT@T.
I found it pretty interesting that the WE33100 chipset was made by Western Electric due to my dad worked for Western Electric when they were in business. If I had known about this when he was there, I’d probably have asked him if he could have gotten me some papers involving any information.
I wouldn’t call it baroque … it was a pretty generic CISC machine of the time, designed by people who liked the vax (think 68020, NS320xx etc) – the only really weird stuff is the hardware context switch/call gate instructions (think 80386 which came later)
(Strangely AT&T paid me to port Unix to it ….)
I and my officemate ran the first (as far as we knew) stack of 3B2’s networked with this new-fangled “ethernet” thing and sharing files using RFS. We called it the beehive, and it provided insights into distributed computing that have stayed with me ever since. AT&T had no head for style, sadly. Everything they made looked like it wanted to be locked away in a closet.
I have a /400 still operational. It was a great machine in its day.
It was a powerful and fast machine for the time. I did system test on them at the AT&T facility in Illinois. They were very reliable and very expensive. The Air Force bought many of them and we heard stories of them surviving being dropped off trucks and still working. In the pre-GUI days, we could have a dozen or more people logged into one. Working on those was an early and great experience in my career.
The first unix machine i used in college was a 3b2. We also had some at&t 630 windowing terminals attached to it.
My mother got one of these, when a friend of hers bought it for $10, and then asked me how to use it…. sigh. It hung around for years until I finally decided I would never have the time to dig into it.
I was one of those Air Force IT folks that was sent for training and administered the AT&T 3b2. I had been an Apple ] [ then turned PC programmer at the time and was completely amazed at this thing called Unix.
Unfortunately that machine came out just as PC networking (Novell Netware) just started it’s period of dominance and focus shifted away from Unix when implementing LAN technologies.
It still holds a place in my heart and was pleasantly surprised to see this article bubble up in my feed.
Getting the Air Force contract was a big deal for the Computer Systems division. The project to develop the bid and the customized version was called Falcon. I got into trouble once when giving a tour I accidentally showed the guests the room where we were developing and testing the systems.
Did anyone else notice the Space Invaders (“aliens”) and Pacman games in the libcurses source code? I got aliens to run correctly on 4.3BSD via SIMH/VAX and pacman mostly working again so far (it freezes from time to time). Ultimately I want to get those two games running on SysVR3 too. The aliens game originated at Cornell according to the comments. The CSRG four CDROM set has binaries only for aliens and pacman and then only for 4.1a BSD; they crash on 4.3BSD with ‘invalid system call’. IIRC they were removed from BSD distributions due to infringement issues. I could have gone drilling for the pre-SysV versions of the source code instead of back-porting from SysV to BSD but it was an fun exercise in porting and I found a bug in 4.3BSD sysv compatibility tmpnam.c (while porting /bin/ed since building sysv libcurses uses sysv ed scripts) where they should have gone “if (dir && strlen(dir) && !stat(dir, &buf) &&”.
This has a very TIS-100 feel to it for some reason. Filed away for future exploration in (somewhat unlikely) case I’m bored.