simh-testsetgenerator/PDP11
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
..
11logo PDP11: Add 11LOGO programming language and make it bootable from the NG device. 2019-02-07 08:16:52 +01:00
dazzledart PDP11: Add Dazzle Dart game and make it bootable from the DAZ device. 2019-02-07 08:16:49 +01:00
lunar11 DISPLAY: Latest version of display code from Phil Budne and Doug Gwyn including initial pdp1_dpy and pdp11_vt 2013-10-16 01:02:12 -07:00
CMakeLists.txt CMake: Updates 2024-02-01 12:51:13 -05:00
ddcmp_sync.md Various simulators: Set line endings to CRLF for consistency, remove stray tabs 2023-03-19 16:51:27 -04:00
pdp11_11logo_rom.h BuildROMs: Change name define logic to avoid conflicts 2021-08-23 13:36:04 -07:00
pdp11_ch.c PDP11, VAX, KS10: Speed up Chaosnet polling when there is traffic. 2023-11-28 09:49:35 -05:00
pdp11_cis.c PDP11: Cleanup potential compiler warnings 2021-08-13 09:11:42 -07:00
pdp11_cpu.c PDP11: numerous 11/70 compatibility fixes 2023-01-31 13:06:04 -05:00
pdp11_cpumod.c PDP11: 11/70 read-only registers must not return NXM on write 2023-10-10 19:52:41 -04:00
pdp11_cpumod.h PDP11: Fix model indexes after model table previously got reordered 2021-08-24 10:47:01 -07:00
pdp11_cr.c PDP11, PDP10, Qbus & Unibus VAX: Correct CR device translation help and parsing 2022-01-15 15:38:35 -08:00
pdp11_cr_dat.h PDP11, All VAX: Change ERROR in CR device translation tables to avoid conflicts 2017-06-04 09:56:22 -07:00
pdp11_daz.c PDP11: Cleanup help language in TC and DAZ devices 2022-07-26 07:30:55 -10:00
pdp11_dazzle_dart_rom.h BuildROMs: Change name define logic to avoid conflicts 2021-08-23 13:36:04 -07:00
pdp11_dc.c PDP11: Improve idling. 2022-10-29 14:15:41 -04:00
pdp11_ddcmp.h PDP11, Unibus VAX: Fix Coverity identified warning 2019-07-16 03:15:25 -07:00
pdp11_defs.h PDP11: RP11-C (RP02/03) disk implementation 2023-09-22 19:41:33 -04:00
pdp11_dh.c PDP11: Support byte write access to DHCSR. 2023-03-30 09:33:41 -04:00
pdp11_dl.c PDP11: Add more thorough help to the DLI/DLO device 2020-06-25 11:06:04 -07:00
pdp11_dmc.c PDP11, Qbus & Unibus VAX: Use proper REG macros for arrays and structures 2022-09-21 08:46:23 -07:00
pdp11_dup.c QBus VAX and PDP11: Add support for HDLC framing to DUP11/DPV11 2022-08-04 16:46:56 +01:00
pdp11_dup.h PDP10,PDP11,VAX: Addition of inter operable DUP11, DMC11 and KDP11 devices 2013-11-25 07:00:17 -08:00
pdp11_dz.c Various simulators: Set line endings to CRLF for consistency, remove stray tabs 2023-03-19 16:51:27 -04:00
pdp11_fp.c PDP11: numerous 11/70 compatibility fixes 2023-01-31 13:06:04 -05:00
pdp11_hk.c PDP11, VAX scsi systems: Migrate DEV_DISK devices using common autosize code 2022-02-11 15:26:21 -08:00
pdp11_io.c PDP11: Fix I/O Page DMA to reflect hardware that only worked on Unibus 2018-09-06 13:41:43 -07:00
pdp11_io_lib.c PDP11: RP11-C (RP02/03) disk implementation 2023-09-22 19:41:33 -04:00
pdp11_io_lib.h Qbus & Unibus VAX: Add a SHOW QBA|UBA MAP{=n} command to display the bus map 2020-08-29 08:16:58 -07:00
pdp11_ke.c PDP10, PDP11, VAX: const cleanup 2015-02-13 06:18:24 -08:00
pdp11_kg.c PDP11: Rework KG device debug support to leverage sim_debug and bitfields 2022-02-04 08:00:50 -08:00
pdp11_kmc.c PDP11: Fix SET command parsing to require values for all ADDRESS and VECTOR 2019-08-01 07:16:34 -07:00
pdp11_lp.c All LP and CD devices: Removed use of ftell for pipe compatibility 2022-06-16 16:13:46 -07:00
pdp11_mb.c Various simulators: Set line endings to CRLF for consistency, remove stray tabs 2023-03-19 16:51:27 -04:00
pdp11_mscp.h Changed use of compile #defines which start with a _ character to not do this since defined symbols starting with _ are reserved to local compiler/runtime implementations in the C language. This addresses issue #32 2013-03-12 11:07:58 -07:00
pdp11_ng.c PDP11: Improve idling. 2022-10-29 14:15:41 -04:00
pdp11_pclk.c PDP11, Qbus/Unibus VAX: Silence various compiler warnings 2020-10-09 05:10:12 -07:00
pdp11_pt.c PDP1, PDP10, PDP11, ID16, ID32, NOVA, VAX: Open LPT, PTP devices for append 2020-04-28 07:09:20 -07:00
pdp11_rc.c PDP11: Migrate RC device to use sim_disk meta data and file system detection 2022-02-13 23:05:43 -08:00
pdp11_rf.c PDP11: RF11: Fix DAE computation in service routine 2023-10-09 20:16:01 -04:00
pdp11_rh.c PDP11: numerous 11/70 compatibility fixes 2023-01-31 13:06:04 -05:00
pdp11_rk.c PDP11: RK11: Complete fix for WC as implemented in V3 + other fixes 2023-06-24 13:34:38 -04:00
pdp11_rl.c PDP11: numerous 11/70 compatibility fixes 2023-01-31 13:06:04 -05:00
pdp11_rom.c PDP11: ROM device. 2018-09-10 15:13:06 +02:00
pdp11_rp.c PDP11, Unibus VAX: DEC standard 144 corrections and RP device update 2021-08-08 11:39:13 -07:00
pdp11_rq.c PDP-11, VAX: Expand DTYPE mask size, fix RF35, add new devices to RQ sim 2023-11-21 16:26:52 -05:00
pdp11_rr.c PDP11: RP11: Remove duplicate checks (now only done in svc routine) 2023-11-28 09:51:01 -05:00
pdp11_rs.c ALL: Correct help text in "SET <unit> LOCKED" MTAB entries 2021-04-19 15:22:15 -07:00
pdp11_rx.c ALL: Correct help text in "SET <unit> LOCKED" MTAB entries 2021-04-19 15:22:15 -07:00
pdp11_ry.c ALL: Correct help text in "SET <unit> LOCKED" MTAB entries 2021-04-19 15:22:15 -07:00
pdp11_stddev.c PDP11: Add description display routine to the KW11-L line frequency clock 2020-09-15 04:45:25 -07:00
pdp11_sys.c PDP11: fix disassembly of reg,src instructions 2023-12-18 14:33:06 -05:00
pdp11_ta.c PDP11: TA11/TU60 fix identification 2023-11-28 09:48:36 -05:00
pdp11_tc.c PDP11: Cleanup help language in TC and DAZ devices 2022-07-26 07:30:55 -10:00
pdp11_td.c ALL: Correct help text in "SET <unit> LOCKED" MTAB entries 2021-04-19 15:22:15 -07:00
pdp11_td.h PDP11, All VAX: Fix TU58 device (TDC) failure when not ATTACHED 2017-01-05 09:36:17 -08:00
pdp11_tm.c All Tape DEVICES: Added extra case points for new MTSE definitions 2022-06-16 16:13:46 -07:00
pdp11_tq.c PDP11, Qbus & Unibus VAX: Use proper REG macros for arrays and structures 2022-09-21 08:46:23 -07:00
pdp11_ts.c PDP11: TS11: Fix help output for BOOT command 2023-10-10 13:02:02 -04:00
pdp11_tu.c ALL: Standardize writelock behavior adding global UNIT_WLK & UNIT_WPRT 2021-04-19 10:58:51 -07:00
pdp11_tv.c Various simulators: Set line endings to CRLF for consistency, remove stray tabs 2023-03-19 16:51:27 -04:00
pdp11_uc15.c PDP11: Fix SET command parsing to require values for all ADDRESS and VECTOR 2019-08-01 07:16:34 -07:00
pdp11_uqssp.h Changed use of compile #defines which start with a _ character to not do this since defined symbols starting with _ are reserved to local compiler/runtime implementations in the C language. This addresses issue #32 2013-03-12 11:07:58 -07:00
pdp11_vh.c PDP11, VAXen: Fix to VH device to properly reference the line number 2022-07-24 18:03:49 -07:00
pdp11_vt.c PDP11: Fix VT help entry in DEVICE definition 2021-08-01 19:02:10 -07:00
pdp11_vt_lunar_rom.h BuildROMs: Change name define logic to avoid conflicts 2021-08-23 13:36:04 -07:00
pdp11_xq.c PDP11, VAX: Fix Coverity issues in XQ and XU devices 2022-03-11 12:34:59 -08:00
pdp11_xq.h PDP11, VAX, ETHER: Generalize XQ device address filtering 2021-12-14 11:39:18 -08:00
pdp11_xq_bootrom.h PDP11, VAX: Fix compiler warnings about quotes in #if 0 #endif block 2016-01-20 10:51:01 -08:00
pdp11_xu.c PDP11, VAX: Fix Coverity issues in XQ and XU devices 2022-03-11 12:34:59 -08:00
pdp11_xu.h PDP11, PDP10, all VAX: General extern cleanup. 2017-02-04 19:37:20 -08:00
txt2cbn.c ALPHA, ALTAIR, AltairZ80, I7094, NOVA, PDP1, PDP10, PDP11, PDP18B, PDP8, SAGE, sigma, swtp6800, TX-0, VAX: Change tabs to spaces which had crept in over time 2015-03-30 10:24:24 -07:00