simh-testsetgenerator/3B2
B. Scott Michel a275c71170 SCP: Reduce compiler warnings on LP64 platforms
(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.
2024-02-01 12:51:32 -05:00
..
3b2_cpu.c 3B2: LPT Device; MMU and SCSI fixes 2023-04-09 12:36:15 -07:00
3b2_cpu.h 3b2: Update README.md and correct line endings 2022-09-19 09:37:17 -07:00
3b2_csr.h 3b2: Update README.md and correct line endings 2022-09-19 09:37:17 -07:00
3b2_ctc.c 3b2: Update README.md and correct line endings 2022-09-19 09:37:17 -07:00
3b2_ctc.h 3b2: Update README.md and correct line endings 2022-09-19 09:37:17 -07:00
3b2_defs.h 3B2: LPT Device; MMU and SCSI fixes 2023-04-09 12:36:15 -07:00
3b2_dmac.c SCP: Reduce compiler warnings on LP64 platforms 2024-02-01 12:51:32 -05:00
3b2_dmac.h 3b2: Update README.md and correct line endings 2022-09-19 09:37:17 -07:00
3b2_id.c 3b2: Update README.md and correct line endings 2022-09-19 09:37:17 -07:00
3b2_id.h 3b2: Update README.md and correct line endings 2022-09-19 09:37:17 -07:00
3b2_if.c 3b2: Update README.md and correct line endings 2022-09-19 09:37:17 -07:00
3b2_if.h 3b2: Update README.md and correct line endings 2022-09-19 09:37:17 -07:00
3b2_io.c 3b2: Update README.md and correct line endings 2022-09-19 09:37:17 -07:00
3b2_io.h 3b2: Update README.md and correct line endings 2022-09-19 09:37:17 -07:00
3b2_iu.c 3B2: Properly NULL-terminate IU mod arrays 2023-06-18 13:03:51 -04:00
3b2_iu.h 3b2: Update README.md and correct line endings 2022-09-19 09:37:17 -07:00
3b2_mau.c 3B2: Fix inconsistent 64bit type name reference 2023-02-07 09:07:23 -05:00
3b2_mau.h 3b2: Update README.md and correct line endings 2022-09-19 09:37:17 -07:00
3b2_mem.c 3b2: Update README.md and correct line endings 2022-09-19 09:37:17 -07:00
3b2_mem.h 3b2: Update README.md and correct line endings 2022-09-19 09:37:17 -07:00
3b2_mmu.h 3b2: Update README.md and correct line endings 2022-09-19 09:37:17 -07:00
3b2_ni.c 3b2: Update README.md and correct line endings 2022-09-19 09:37:17 -07:00
3b2_ni.h 3b2: Update README.md and correct line endings 2022-09-19 09:37:17 -07:00
3b2_ports.c 3B2: LPT Device; MMU and SCSI fixes 2023-04-09 12:36:15 -07:00
3b2_ports.h 3B2: LPT Device; MMU and SCSI fixes 2023-04-09 12:36:15 -07:00
3b2_rev2_csr.c 3b2: Update README.md and correct line endings 2022-09-19 09:37:17 -07:00
3b2_rev2_csr.h 3b2: Update README.md and correct line endings 2022-09-19 09:37:17 -07:00
3b2_rev2_defs.h 3B2: LPT Device; MMU and SCSI fixes 2023-04-09 12:36:15 -07:00
3b2_rev2_mmu.c 3b2: Update README.md and correct line endings 2022-09-19 09:37:17 -07:00
3b2_rev2_mmu.h 3B2: LPT Device; MMU and SCSI fixes 2023-04-09 12:36:15 -07:00
3b2_rev2_sys.c 3B2: LPT Device; MMU and SCSI fixes 2023-04-09 12:36:15 -07:00
3b2_rev3_csr.c 3b2: Update README.md and correct line endings 2022-09-19 09:37:17 -07:00
3b2_rev3_csr.h 3b2: Update README.md and correct line endings 2022-09-19 09:37:17 -07:00
3b2_rev3_defs.h 3b2: Update README.md and correct line endings 2022-09-19 09:37:17 -07:00
3b2_rev3_mmu.c 3B2: LPT Device; MMU and SCSI fixes 2023-04-09 12:36:15 -07:00
3b2_rev3_mmu.h 3b2: Update README.md and correct line endings 2022-09-19 09:37:17 -07:00
3b2_rev3_sys.c 3B2: LPT Device; MMU and SCSI fixes 2023-04-09 12:36:15 -07:00
3b2_scsi.c 3B2: LPT Device; MMU and SCSI fixes 2023-04-09 12:36:15 -07:00
3b2_scsi.h 3b2: Update README.md and correct line endings 2022-09-19 09:37:17 -07:00
3b2_stddev.c 3b2: Fix for clock drift when idling 2023-01-18 12:50:35 -05:00
3b2_stddev.h 3b2: Update README.md and correct line endings 2022-09-19 09:37:17 -07:00
3b2_sys.c 3b2: Improved sim_load procedure 2022-11-10 10:47:24 -05:00
3b2_sys.h 3b2: Update README.md and correct line endings 2022-09-19 09:37:17 -07:00
3b2_timer.c 3B2: Fix for diagnostics timer hang 2023-04-13 05:56:35 +02:00
3b2_timer.h 3b2: Update README.md and correct line endings 2022-09-19 09:37:17 -07:00
CMakeLists.txt CMake: Updates 2024-02-01 12:51:13 -05:00
README.md 3b2: Update README.md and correct line endings 2022-09-19 09:37:17 -07:00

AT&T 3B2 Simulator

This module contains the source for two simulators:

  1. A simulator for the AT&T 3B2/400 computer (3b2-400 or 3B2-400.EXE)
  2. 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)