(Note: Reducing compiler warnings across all, but primarily LP64 platforms, is a long term objective.) Reduce compiler warnings on LP64 platforms (macOS, Windows) and 32-bit builds (Win32). Prefer 'size_t' for pointer arithmetic, array indexing and extents; 'int' hasn't been used for these purposes for many years and across many ANSI standards. N.B. that conversions from int or int32 to size_t cause the compiler to zero-extend the value, which is inefficient. Refactor printf() format modifiers into sim_printf_fmts.h. Add the SIZE_T_FMT modifier for better portability, especially on LP64 platforms where size_t is unsigned long and sizeof(size_t) > sizeof(int). 3B2: Fix known size_t printf() format. |
||
---|---|---|
.. | ||
3b2_cpu.c | ||
3b2_cpu.h | ||
3b2_csr.h | ||
3b2_ctc.c | ||
3b2_ctc.h | ||
3b2_defs.h | ||
3b2_dmac.c | ||
3b2_dmac.h | ||
3b2_id.c | ||
3b2_id.h | ||
3b2_if.c | ||
3b2_if.h | ||
3b2_io.c | ||
3b2_io.h | ||
3b2_iu.c | ||
3b2_iu.h | ||
3b2_mau.c | ||
3b2_mau.h | ||
3b2_mem.c | ||
3b2_mem.h | ||
3b2_mmu.h | ||
3b2_ni.c | ||
3b2_ni.h | ||
3b2_ports.c | ||
3b2_ports.h | ||
3b2_rev2_csr.c | ||
3b2_rev2_csr.h | ||
3b2_rev2_defs.h | ||
3b2_rev2_mmu.c | ||
3b2_rev2_mmu.h | ||
3b2_rev2_sys.c | ||
3b2_rev3_csr.c | ||
3b2_rev3_csr.h | ||
3b2_rev3_defs.h | ||
3b2_rev3_mmu.c | ||
3b2_rev3_mmu.h | ||
3b2_rev3_sys.c | ||
3b2_scsi.c | ||
3b2_scsi.h | ||
3b2_stddev.c | ||
3b2_stddev.h | ||
3b2_sys.c | ||
3b2_sys.h | ||
3b2_timer.c | ||
3b2_timer.h | ||
CMakeLists.txt | ||
README.md |
AT&T 3B2 Simulator
This module contains the source for two simulators:
- A simulator for the AT&T 3B2/400 computer (3b2-400 or 3B2-400.EXE)
- A simulator for the AT&T 3B2/700 computer (3b2-700 or 3B2-700.EXE)
Full documentation for the 3B2 simulator is available here:
3B2/400 Simulator 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
- Configuration and Status Register (CSR)
- WE32100 CPU (CPU)
- WE32101 MMU (MMU)
- WE32106 Math Accelerator Unit (MAU)
- PD8253 Interval Timer (TMR)
- 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)
3B2/700 Simulator Devices
The following devices are simulated. The SIMH names for the simulated devices are given in parentheses:
- 3B2 Model 700 System Board with 8MB, 16MB, 32MB, or 64MB RAM
- Configuration and Status Registers (CSR)
- WE32200 CPU (CPU)
- WE32201 MMU (MMU)
- WE32106 Math Accelerator Unit (MAU)
- PD8253 Interval Timer (TMR)
- AM9517 DMA controller (DMAC)
- SCN2681A Integrated DUART (IU)
- TMS2793 Integrated Floppy Controller (IFLOPPY)
- Non-Volatile Memory (NVRAM)
- MM58274C Time Of Day Clock (TOD)
- CM195W SCSI Host Adapter (SCSI)
- CM195A Ethernet Network Interface (NI)
- CM195B 4-port Serial MUX (PORTS)