simh-testsetgenerator/3B2
Seth Morabito 0c7bf366ae 3b2: Support for SVR 2.0.5 diagnostics
The CTC and PORTS pump code for System V Release 2.0.5 for the 3B2 is
different from the pump code used by SVR 3, leading to PORTS and CTC
diagnostics failing to pass when running SVR2. This change adds
support for the pump code used in SVR 2.
2021-12-27 15:09:20 -08:00
..
tests 3B2: Add DGMON SBD diagnostic tests 2021-07-31 12:22:27 -07:00
3b2_cpu.c 3B2: Interrupt Refactor and DEMON ROM 2021-08-24 06:35:49 -07:00
3b2_cpu.h 3B2: Interrupt Refactor and DEMON ROM 2021-08-24 06:35:49 -07:00
3b2_csr.h 3B2: Interrupt Refactor and DEMON ROM 2021-08-24 06:35:49 -07:00
3b2_ctc.c 3b2: Support for SVR 2.0.5 diagnostics 2021-12-27 15:09:20 -08:00
3b2_ctc.h 3B2: Header refactoring and cleanup 2021-08-11 19:43:51 -07:00
3b2_defs.h 3b2: Remove glibc-specific longjmp 2021-10-23 14:32:10 -07:00
3b2_dmac.c 3B2: Header refactoring and cleanup 2021-08-11 19:43:51 -07:00
3b2_dmac.h 3B2: Header refactoring and cleanup 2021-08-11 19:43:51 -07:00
3b2_id.c 3B2: Interrupt Refactor and DEMON ROM 2021-08-24 06:35:49 -07:00
3b2_id.h 3B2: Interrupt Refactor and DEMON ROM 2021-08-24 06:35:49 -07:00
3b2_if.c 3b2: Allow force interrupt if not attached 2021-10-05 08:50:01 -07:00
3b2_if.h 3B2: Interrupt Refactor and DEMON ROM 2021-08-24 06:35:49 -07:00
3b2_io.c 3B2: Interrupt Refactor and DEMON ROM 2021-08-24 06:35:49 -07:00
3b2_io.h 3B2: Interrupt Refactor and DEMON ROM 2021-08-24 06:35:49 -07:00
3b2_iu.c 3B2: Interrupt Refactor and DEMON ROM 2021-08-24 06:35:49 -07:00
3b2_iu.h 3B2: Header refactoring and cleanup 2021-08-11 19:43:51 -07:00
3b2_mau.h 3B2: Interrupt Refactor and DEMON ROM 2021-08-24 06:35:49 -07:00
3b2_mem.c 3B2: Interrupt Refactor and DEMON ROM 2021-08-24 06:35:49 -07:00
3b2_mem.h 3B2: Header refactoring and cleanup 2021-08-11 19:43:51 -07:00
3b2_mmu.h 3B2: Interrupt Refactor and DEMON ROM 2021-08-24 06:35:49 -07:00
3b2_ni.c 3B2: Interrupt Refactor and DEMON ROM 2021-08-24 06:35:49 -07:00
3b2_ni.h 3B2: Header refactoring and cleanup 2021-08-11 19:43:51 -07:00
3b2_ports.c 3b2: Support for SVR 2.0.5 diagnostics 2021-12-27 15:09:20 -08:00
3b2_ports.h 3B2: Header refactoring and cleanup 2021-08-11 19:43:51 -07:00
3b2_rev2_csr.c 3B2: Interrupt Refactor and DEMON ROM 2021-08-24 06:35:49 -07:00
3b2_rev2_csr.h 3B2: Header refactoring and cleanup 2021-08-11 19:43:51 -07:00
3b2_rev2_defs.h 3B2: Interrupt Refactor and DEMON ROM 2021-08-24 06:35:49 -07:00
3b2_rev2_mau.c 3B2: Interrupt Refactor and DEMON ROM 2021-08-24 06:35:49 -07:00
3b2_rev2_mau.h 3B2: Rename files in prep for Rev 3 support 2021-05-12 10:56:39 -07:00
3b2_rev2_mmu.c 3B2: Interrupt Refactor and DEMON ROM 2021-08-24 06:35:49 -07:00
3b2_rev2_mmu.h 3B2: Interrupt Refactor and DEMON ROM 2021-08-24 06:35:49 -07:00
3b2_rev2_sys.c 3B2: Interrupt Refactor and DEMON ROM 2021-08-24 06:35:49 -07:00
3b2_rev2_timer.c 3B2: Interrupt Refactor and DEMON ROM 2021-08-24 06:35:49 -07:00
3b2_rev2_timer.h 3B2: Interrupt Refactor and DEMON ROM 2021-08-24 06:35:49 -07:00
3b2_rev3_csr.c 3B2: Interrupt Refactor and DEMON ROM 2021-08-24 06:35:49 -07:00
3b2_rev3_csr.h 3B2: Header refactoring and cleanup 2021-08-11 19:43:51 -07:00
3b2_rev3_defs.h 3B2: Interrupt Refactor and DEMON ROM 2021-08-24 06:35:49 -07:00
3b2_rev3_mau.c 3B2: Rev 3 Development Base 2021-08-09 11:08:35 -07:00
3b2_rev3_mau.h 3B2: Rev 3 Development Base 2021-08-09 11:08:35 -07:00
3b2_rev3_mmu.c 3B2: Interrupt Refactor and DEMON ROM 2021-08-24 06:35:49 -07:00
3b2_rev3_mmu.h 3B2: Interrupt Refactor and DEMON ROM 2021-08-24 06:35:49 -07:00
3b2_rev3_sys.c 3B2: Interrupt Refactor and DEMON ROM 2021-08-24 06:35:49 -07:00
3b2_rev3_timer.c 3B2: Interrupt Refactor and DEMON ROM 2021-08-24 06:35:49 -07:00
3b2_rev3_timer.h 3B2: Interrupt Refactor and DEMON ROM 2021-08-24 06:35:49 -07:00
3b2_scsi.c 3B2: Interrupt Refactor and DEMON ROM 2021-08-24 06:35:49 -07:00
3b2_scsi.h 3B2: Header refactoring and cleanup 2021-08-11 19:43:51 -07:00
3b2_stddev.c 3B2: Interrupt Refactor and DEMON ROM 2021-08-24 06:35:49 -07:00
3b2_stddev.h 3B2: Interrupt Refactor and DEMON ROM 2021-08-24 06:35:49 -07:00
3b2_sys.c 3B2: Header refactoring and cleanup 2021-08-11 19:43:51 -07:00
3b2_sys.h 3B2: Interrupt Refactor and DEMON ROM 2021-08-24 06:35:49 -07:00
3b2_timer.h 3B2: Interrupt Refactor and DEMON ROM 2021-08-24 06:35:49 -07:00
README.md 3B2: Interrupt Refactor and DEMON ROM 2021-08-24 06:35:49 -07:00
rom_rev2.bin 3B2: Rename files in prep for Rev 3 support 2021-05-12 10:56:39 -07:00
rom_rev2_bin.h BuildROMs: Change name define logic to avoid conflicts 2021-08-23 13:36:04 -07:00
rom_rev2_demon.bin 3B2: Rename files in prep for Rev 3 support 2021-05-12 10:56:39 -07:00
rom_rev2_demon_bin.h BuildROMs: Change name define logic to avoid conflicts 2021-08-23 13:36:04 -07:00
rom_rev3.bin 3B2: Rename files in prep for Rev 3 support 2021-05-12 10:56:39 -07:00
rom_rev3_bin.h BuildROMs: Change name define logic to avoid conflicts 2021-08-23 13:36:04 -07:00

AT&T 3B2 Simulator

This module contains the source for two simulators:

  1. A simulator for the AT&T 3B2 Model 400 computer (Rev. 2)
  2. A simulator for the AT&T 3B2 Model 600 computer (Rev. 3)

The 3B2/400 simulator is complete, usable, and robust. The 3B2/600 simulator is not yet usable, however. It is under active development.

Full documentation for the 3B2 simulator is available here:

Devices

The following devices are simulated. The SIMH names for the simulated devices are given in parentheses:

  • 3B2 Model 400 System Board with 1MB, 2MB, or 4MB RAM (CSR, NVRAM)
  • WE32100 CPU (CPU)
  • WE32101 MMU (MMU)
  • PD8253 Interval Timer (TIMER)
  • AM9517 DMA controller (DMAC)
  • SCN2681A Integrated DUART (IU)
  • TMS2793 Integrated Floppy Controller (IFLOPPY)
  • uPD7261A Integrated MFM Fixed Disk Controller (IDISK)
  • Non-Volatile Memory (NVRAM)
  • MM58174A Time Of Day Clock (TOD)
  • CM195A Ethernet Network Interface (NI)
  • CM195B 4-port Serial MUX (PORTS)
  • CM195H Cartridge Tape Controller (CTC)

Usage

To boot the 3B2 simulator into firmware mode, simply type:

sim> BOOT

You will be greeted with the message:

FW ERROR 1-01: NVRAM SANITY FAILURE
               DEFAULT VALUES ASSUMED
               IF REPEATED, CHECK THE BATTERY

FW ERROR 1-02: DISK SANITY FAILURE
               EXECUTION HALTED

SYSTEM FAILURE: CONSULT YOUR SYSTEM ADMINISTRATION UTILITIES GUIDE

NVRAM and Time of Day can be saved between boots by attaching both devices to files.

sim> ATTACH NVRAM <nvram-file>
sim> ATTACH TOD <tod-file>

If you have no operating system installed on the hard drive, on subsequent boots you will instead see the message

SELF-CHECK


FW ERROR 1-02: DISK SANITY FAILURE
               EXECUTION HALTED

SYSTEM FAILURE: CONSULT YOUR SYSTEM ADMINISTRATION UTILITIES GUIDE

Once you see the SYSTEM FAILURE message, this is actually an invisible prompt. To access firmware mode, type the default 3B2 firmware password mcp, then press Enter or carriage return.

You should then be prompted with:

Enter name of program to execute [  ]:

Here, you may type a question mark (?) and press Enter to see a list of available firmware programs.

Booting UNIX SVR3

UNIX SVR3 is the only operating system available for the 3B2. To boot UNIX, attach the first disk image from the 3B2 "Essential Utilities" distribution.

sim> ATTACH IFLOPPY <floppy-image>
sim> BOOT

Once you reach the SYSTEM FAILURE message, type mcp to enter firmware mode. When prompted for the name of a program to boot, enter unix, and confirm the boot device is FD5 by pressing Enter or carriage return.

Enter name of program to execute [  ]: unix
        Possible load devices are:

Option Number    Slot     Name
---------------------------------------
       0          0     FD5

Enter Load Device Option Number [0 (FD5)]:

Installing SVR3

To install SVR3 to the first hard disk, first, attach a new image to the IDISK0 device:

sim> ATTACH IDISK0 <hd-image>

Then, boot the file idtools from the "3B2 Maintenance Utilities - Issue 4.0" floppy diskette.

From idtools, select the formhard option and low-level format integrated disk 0. Parameters for the default 72MB hard disk are:

               Drive Id: 5
       Number cylinders: 925
      Number tracks/cyl: 9
   Number sectors/track: 18
    Number bytes/sector: 512

After low-level formatting integrated disk 0, boot the file unix from the first diskette of the 3B2 "Essential Utilities" distribution, and follow the prompts.