1
0
mirror of https://github.com/open-simh/simh.git synced 2026-01-13 23:37:13 +00:00
B. Scott Michel d9d0e8bd74 CMake: Updates
Issue #294: "apple silicon build problem(s?)": If the "--flavor/-f" flag
is not specified on the command line, then complain loudly, print help
and exit. The script used to default to "Unix Makefiles".

Updates:

- Add missing "-DHAVE_LIBPNG" compiler command line define when the PNG
  library is detected/present for screen capture support.

- Add "clang64" to the list of MinGW64 platforms for which the
  .travis/deps.sh script can install build dependencies.

- Add PThread4W_FOUND to the condition that sets async I/O for Win32
  when using vcpkg for build dependencies.

- Add vs2022-x64, vs2019-x64 and vs2017-x64 build environments to
  build 64-bit Windows executables.

- Use simulator AIO only where needed by the simulator (i.e., the
  simulator calls/uses AIO_CHECK_EVENT in sim_instr())

  - Add "USES_AIO" flag to add_simulator() to mark a simulator that
    acutally uses asynchronous I/O.

  - Build "_aio" SIMH core library variants that have AIO turned on,
    link with the "_aio" variant when a simulator sets USES_AIO.

  - Emit a warning message when WITH_ASYNC is False (CMake configuration
    option) to notify the user/developer that some functionality will be
    crippled.

  Affected simulator builds: 3b2 family, PDP-6, PDP-11, VAX family,
  IMLAC and TT2500. The makefile and cmake/generate.py also updated
  to remain in sync with CMake.

  N.B.: Simulators still link with the underlying platform's threading
  library. SEL32 requires pthreads or equivalent threading library,
  independent of AIO.

- cmake/cmake-builder.sh

  - New "--no-aio" flag: Build simulators without async I/O.

  - New "--no-aio-intrinsics" flag: Don't build async I/O using compiler
    compare-exchange, atomic load intrinsics.

- cmake/cmake-builder.ps1

  - New "-noaio" flag: Build simulators without async I/O.

  - New "-noaiointrinsics" flag: Don't build async I/O using compiler
    compare-exchange, atomic load intrinsics.

CMake 3.28.1 INTERFACE_LINK_LIBRARIES behavior change: The file name
must now be an absolute path. Relative paths no longer accepted.
Internally, SIMH enforces this if CMAKE_VERSION >= 3.19, when REAL_PATH
was first implemented.
2024-02-01 12:51:13 -05:00
..
2023-04-09 12:36:15 -07:00
2023-04-09 12:36:15 -07:00
2023-04-09 12:36:15 -07:00
2022-11-10 10:47:24 -05:00
2024-02-01 12:51:13 -05: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)