The AT&T 3B2/400 was a small, multi-user UNIX computer developed by AT&T in 1985. It was part of the larger 3B family of UNIX computers based on the Western Electric WE32000 and WE32100 series of CPUs and peripherals. What makes the 3B2 historically interesting was its use as the primary porting platform for AT&T UNIX System V Release 3.
This emulator is part of the SIMH simulation framework, and emulates a standard desktop 3B2/400 with 4MB of system memory and a 72MB MFM hard disk drive.
Since internals documentation for the 3B2 series are not readily available, the emulator was made possible through a reverse-engineering effort, studying the System V Release 3 source code, and lots of caffeine.
This emulator is not yet finished and should be considered beta quality software. There are a few rough edges, and there may be bugs!
The following outstanding issues are not yet addressed:
- Dual hard-disk support is currently broken. There are some subtle behavior issues of the hard disk controller that were incorrectly emulated, causing dual disk setups to experience frequent recalibrations. This is a high priority to fix.
- Only the Console and CONTTY serial ports are emulated so far. Support for an 8-line PORTS serial card is coming soon.
- No network card is emulated yet.
Getting the Emulator
|3b2||786,816 bytes||GNU/Linux x86_64 executable
|3B2.exe||603,648 bytes||Windows XP/7/10 32-bit executable
Compiling from Source on GNU/Linux
The SIMH source repository is here:
If you would like to build the emulator on GNU/Linux yourself:
- Clone the SIMH repository above
- cd into the
The binary will be built into the
Exiting the Emulator
To stop SIMH at any time, type the control sequence
Control-E. This will return you to the SIMH
sim>), where you can type
Simulator IDLE Support
The simulator will use 100% of your free CPU time, unless you enable idling with the command:
sim> set cpu idle
If you do so, after about 20 seconds of running the simulator will start to use much less of your CPU time.
Hard Disk and NVRAM Images
There are several hard disk images to choose from, as well as a pre-generated NVRAM image that you can use.
||1.4 MB||Base System V Release 3 files only (Floppy disks 1 through 6 of SVR3.2)|
||2.6 MB||Above, plus terminfo, editing utilities, sysadmin utilities, and user utilities (Floppy disks 1 through 15 of SVR3.2)|
||4.3 MB||Above, plus Software Generation and C Programming utilities (Floppy disks 1 through 26 of SVR3.2)|
||4KB||Non-Volatile RAM image (optional)|
Download the file you want, uncompress it, and attach it to the running simulator with the command:
sim> attach id0 <filename>
Additionally, an NVRAM file is provided. You don't really need this, you can use a new blank file instead, but it's here as a convenience.
To boot the simulator, type:
sim> attach nvram nvram.bin sim> attach id0 hd_32_full.img sim> boot cpu
You will see the message:
SELF-CHECK DIAGNOSTICS FAILED SYSTEM FAILURE: CONSULT YOUR SYSTEM ADMINISTRATION UTILITIES GUIDE
Note that if you see the message "NVRAM SANITY FAILURE...",
it just means you didn't attach the NVRAM image. That's
fine. A real 3B2 does the same thing when the battery has
gone bad and the NVRAM contents are empty. A new NVRAM is
initialized for you with default vales and the next time you
boot with the
nvram.bin file, you should not
see that message again.
The "SYSTEM FAILURE" line is actually an invisible password prompt!
Type the password
mcp and press Enter.
When prompted with
Enter name of program to execute [ ]:
unix and press enter.
When prompted for which option and slot to load unix from,
1 and press enter. Now UNIX will boot.
root user has no password, so have fun.
Some Things To Be Aware Of
If your only experience with UNIX-like systems is through modern Linux, you should be aware of a few things.
First, SVR3 is not loaded with fancy utilities like Linux. The base 3B2 installation doesn't even come with man pages (there isn't really room for them on a 72MB disk, anyway)
Second, you don't (by default) get a backspace character. That's not a problem with the emulator, that's really how SVR3.2 works. If you want to delete a character, you have to type the pound / hash symbol (#). And if you want to delete the whole line and start again, you have to press the at symbol (@).
Don't forget to shut down cleanly. Type:
# shutdown -i0 -g0 -y
Installing SVR3.2 From Scratch
If you're feeling particularly adventurous, you can create a new blank hard drive image and low-level format it using the IDTOOLS floppy, then proceed to install SVR3.2 from scratch.
The IDTOOLS floppy image is here:
||720 KB||IDTOOLS (Integrated Disk Utils) and DGMON (Diagnostic Monitor)|
Instead of attaching the hard drive image above, just attach a new file. A blank hard drive image will be created by SIMH.
Then, boot off of the
sim> attach id0 new_blank_hd.img sim> attach if0 idtools.img sim> attach nvram nvram.bin sim> boot cpu
At the "SYSTEM FAILURE" prompt, enter the
mcp and press enter.
Then at the
Enter name of program to execute [ ]: prompt,
idtools, then select the floppy
Once idtools is running, you'll see the following menu:
--------------------- IDTOOLS --------------------- Floppy diskette formatter - type formflop Hard disk formatter - type formhard Hard disk verify - type verify Disk to disk copy high speed - type ddhs Disk to disk copy by sector - type dd Disk <--> mem copy - type d-m Defect table builder - type defect Write sanity track - type fixdisk Change boot defaults - type chgboot Quit - type q Command?
formhard, then select disk 0
For parameters, enter the following:
Current config table values: Drive Id: 2 - ? 5 Number cylinders: 306 - ? 925 Number tracks/cyl: 4 - ? 9 Number sectors/track: 18 - ? 18 Number bytes/sector: 512 - ? 512
You can really just skip all the annoying bad block stuff. You'll have to press Enter a lot.
Format entire disk - type 1
The disk image will be low-level formatted and verified, and a sanity track will be written.
I will largely leave this as an exercise for the
reader. The basic procedure is to boot
from the first floppy disk, and then follow the prompts to
install the Essential Utilities floppy disks 1
– 6. After the Essential Utilities are installed, you
can reboot off the hard disk
id0 and proceed to
install additional products with the
All of the SVR3.2 floppy images can be found here.
||720 KB||Essential Utilities (Disk 1)|
||720 KB||Essential Utilities (Disk 2)|
||720 KB||Essential Utilities (Disk 3)|
||720 KB||Essential Utilities (Disk 4)|
||720 KB||Essential Utilities (Disk 5)|
||720 KB||Essential Utilities (Disk 6)|
||720 KB||Directory and File Management Utilities|
||720 KB||User Environment Utilities|
||720 KB||System Administration Utilities|
||720 KB||Terminal Info Utilities (Disk 1)|
||720 KB||Terminal Info Utilities (Disk 2)|
||720 KB||Editing Utilities|
||720 KB||Basic Networking Utilities UUCP (Disk 1)|
||720 KB||Basic Networking Utilities UUCP (Disk 2)|
||720 KB||System Header Files|
||720 KB||Software Generation Utilities (Disk 1)|
||720 KB||Software Generation Utilities (Disk 2)|
||720 KB||Software Generation Utilities (Disk 3)|
||720 KB||Software Generation Utilities (Disk 4)|
||720 KB||Software Generation Utilities (Disk 5)|
||720 KB||Software Generation Utilities (Disk 6)|
||720 KB||Extended Software Generation Utilities|
||720 KB||C Programming Language Utilities (Disk 1)|
||720 KB||C Programming Language Utilities (Disk 2)|
||720 KB||Advanced C Utilities|
||720 KB||Source Code Control Utilities|
The files below include everything required to get your AT&T 3B2 online. The Network Service Utilities are required before installing the Wollongong TCP/IP driver stack.
NOTE: These files do NOT work with the emulator (yet!) because the emulator does not emulate an NI ethernet card (yet!). They're here in case they're useful for your real 3B2.
|ni.img||720 KB||NI Ethernet Card Driver Version 1.1 Diskette|
|nsu_11.img||720 KB||Network Service Utilities Version 1.1 Diskette (note: for use with SVR 3.0 only)|
|nsu_32.img||720 KB||Network Service Utilities Version 3.2 Diskette (note: for use with SVR 3.2 and 3.2.2 only)|
|tcp_1.img||720 KB||Wollongong Integrated Networking WIN/3B (TCP/IP) Release 3.0.1, Disk 1|
|tcp_2.img||720 KB||Wollongong Integrated Networking WIN/3B (TCP/IP) Release 3.0.1, Disk 2|
|tcp_3.img||720 KB||Wollongong Integrated Networking WIN/3B (TCP/IP) Release 3.0.1, Disk 3|
|tcp_4.img||720 KB||Wollongong Integrated Networking WIN/3B (TCP/IP) Release 3.0.1, Disk 4|
|tcp_5.img||720 KB||Wollongong Integrated Networking WIN/3B (TCP/IP) Release 3.0.1, Disk 5|
|tcp_6.img||720 KB||Wollongong Integrated Networking WIN/3B (TCP/IP) Release 3.0.1, Disk 6|