simh-testsetgenerator/PDP10
B. Scott Michel 191b2131e9 CMake: Make generate.py reusable
Make generate.py resuable outside of open-simh, as suggested and
motivated by Richard Cornwell's simulator repository.

- Make the "experimental" rule optional. Do not generate a Python
  "KeyError" if the rule is missing.

- Add documentation on how to use the CMake infrastructure outside
  of open-simh: Customize the packaging.py script, season to taste.

- Update the KA10 simulator customization, moving it to its own
  Python script, simgen/pdp10_simulator.py. Preparatory move that
  anticipates additional frontpanel and display options.

- generate.py option "--skip-orphans": Skip the orphaned simulator
  check (i.e., don't cross-reference the simulators in packaging.py
  with what was scraped from the makefile.)

- Add "TEST_ARGS" argument to CMake's add_simulator function so that the
  IBM 1130 simulator can pass to "-g" on the command line to disable the
  GUI when running RegisterSanityCheck, i.e.:

    ibm1130 RegisterSanityCheck -g

  This fixes an edge case Heisenbug encountered during Github CI/CD
  tests where ibm1130 appears to hang indefinitely on the Windows
  runners.

  The cause is the GUI's Pump() thread function being prematurely
  terminated before all GUI resources are acquired. The net result is an
  infinite loop in the MS C runtime trying to exit the process with
  unstable internal state. (Separate patch: synchronization across main
  and Pump() threads to ensure resource acquisition completes.)

  This issue never shows up on non-Windows platforms or the SIMH makefile.

- cmake/generator.py, cmake/simgen: Add a "test_args" keyword argument
  to the BasicSimulator constructor that holds the tests argument
  parameter emitted as the "TEST_ARGS" argument to a simulator's
  add_simulator(). Ensure that the IBM 1130 emits 'TEST_ARG "-g"' in its
  add_simulator().

- scp.c: reset_all_p() adds 'P' to the existing switches, versus saving
  sim_switches and ONLY setting the 'P' power-up reset switch. Net effect
  is that the IBM 1130 simulator actually sees the 'G' flag that inhibits
  the GUI during the console device reset.
2024-05-21 15:57:21 -04:00
..
tests KA10: Added support for Address Stop (lars) 2022-10-23 17:56:02 -04:00
CMakeLists.txt CMake: Make generate.py reusable 2024-05-21 15:57:21 -04:00
ka10_ai.c PDP10-KA, PDP10-KL: Adopt internal SCP internal time base 2020-10-29 13:35:55 -07:00
ka10_auxcpu.c KA10: Removed compiler warnings. 2020-10-13 20:06:04 -04:00
ka10_ch10.c KA10: Poll quicker for Chaosnet packet when there's traffic. 2024-02-01 16:53:53 -05:00
ka10_dkb.c KA10: Moved over older changed to ITS and WAITS devices. 2023-10-09 20:27:43 -04:00
ka10_dpk.c KA10: Remove redundant include of time.h. 2020-10-31 11:56:24 -04:00
ka10_iii.c KA10: Moved over older changed to ITS and WAITS devices. 2023-10-09 20:27:43 -04:00
ka10_imx.c KA10: Release 3 of PDP10 simulators. KS10 support added. 2022-02-19 20:25:44 -05:00
ka10_mty.c KA10: Release 3 of PDP10 simulators. KS10 support added. 2022-02-19 20:25:44 -05:00
ka10_pclk.c KA10: Remove redundant include of time.h. 2020-10-31 11:56:24 -04:00
ka10_pd.c KA10: Remove redundant include of time.h. 2020-10-31 11:56:24 -04:00
ka10_pmp.c KA10: Release 3 of PDP10 simulators. KS10 support added. 2022-02-19 20:25:44 -05:00
ka10_stk.c KA10: Release 3 of PDP10 simulators. KS10 support added. 2022-02-19 20:25:44 -05:00
ka10_ten11.c KA10: Moved over older changed to ITS and WAITS devices. 2023-10-09 20:27:43 -04:00
ka10_tk10.c KA10: Remove redundant include of time.h. 2020-10-31 11:56:24 -04:00
ka10_tv.c KA10: Release 3 of PDP10 simulators. KS10 support added. 2022-02-19 20:25:44 -05:00
kl10_fe.c KA10: Fixed to allow EDDT to work correctly on KL10. 2023-10-09 20:27:42 -04:00
kl10_nia.c KA10: Fixed some coverity errors. 2022-03-10 19:12:46 -05:00
ks10_ch11.c KA10: Poll quicker for Chaosnet packet when there's traffic. 2024-02-01 16:53:53 -05:00
ks10_cty.c KA10: Fixed bug with page fault during ILDB/IDBP 2022-02-24 08:37:12 -05:00
ks10_dup.c KA10: Release 3 of PDP10 simulators. KS10 support added. 2022-02-19 20:25:44 -05:00
ks10_dup.h KA10: Release 3 of PDP10 simulators. KS10 support added. 2022-02-19 20:25:44 -05:00
ks10_dz.c KA10: Release 3 of PDP10 simulators. KS10 support added. 2022-02-19 20:25:44 -05:00
ks10_kmc.c KA10: Fixed bug with page fault during ILDB/IDBP 2022-02-24 08:37:12 -05:00
ks10_lp.c KA10: Release 3 of PDP10 simulators. KS10 support added. 2022-02-19 20:25:44 -05:00
ks10_tcu.c KA10: Release 3 of PDP10 simulators. KS10 support added. 2022-02-19 20:25:44 -05:00
ks10_uba.c KA10: Fixed some compiler warnings on MACOS. 2022-03-06 23:20:19 -05:00
kx10_cp.c KA10: Added default disable for devices that could be on KL10. 2022-06-21 09:50:05 -04:00
kx10_cpu.c KA10: Fixed OWGBP on KL10B. 2023-10-09 20:27:43 -04:00
kx10_cr.c KA10: Added default disable for devices that could be on KL10. 2022-06-21 09:50:05 -04:00
kx10_cty.c KA10: Added support for KL10A/B. 2020-03-09 23:07:47 -07:00
kx10_dc.c KA10: Added default disable for devices that could be on KL10. 2022-06-21 09:50:05 -04:00
kx10_defs.h KA10: Moved over older changed to ITS and WAITS devices. 2023-10-09 20:27:43 -04:00
kx10_df.c KA10: Added switch for DF10 vs DF10C. 2022-06-21 09:43:17 -04:00
kx10_disk.c KA10: Removed compiler warnings. 2020-10-13 20:06:04 -04:00
kx10_disk.h KA10: Release 3 of PDP10 simulators. KS10 support added. 2022-02-19 20:25:44 -05:00
kx10_dk.c KA10: Fixed DK10 to properly interrupt. 2022-06-21 09:47:02 -04:00
kx10_dp.c KA10: Fix random hang on DP disk drives. 2024-02-01 16:53:53 -05:00
kx10_dpy.c KA10: Release 3 of PDP10 simulators. KS10 support added. 2022-02-19 20:25:44 -05:00
kx10_dt.c KA10: Code cleanup for Dectape device. Needed for Tenex support. 2022-06-21 09:47:52 -04:00
kx10_imp.c KA10: Moved over older changed to ITS and WAITS devices. 2023-10-09 20:27:43 -04:00
kx10_lights.c KA10: Initial release of PDP10 KA/KI and PDP6 simulators. 2019-07-09 20:59:01 -04:00
kx10_lp.c KA10: Added default disable for devices that could be on KL10. 2022-06-21 09:50:05 -04:00
kx10_mt.c KA10: Fixed TM10A to request first word at issue of write instruction. 2023-01-21 23:07:58 -05:00
kx10_pt.c KA10: Removed REG_UNIT. 2022-06-21 19:32:53 -04:00
kx10_rc.c KA10: Added switch for DF10 vs DF10C. 2022-06-21 09:43:17 -04:00
kx10_rh.c KA10: Fix RH10/20 to allow access to registers during transfer. 2024-02-01 16:53:53 -05:00
kx10_rp.c KA10: Added switch for DF10 vs DF10C. 2022-06-21 09:43:17 -04:00
kx10_rs.c KA10: Added switch for DF10 vs DF10C. 2022-06-21 09:43:17 -04:00
kx10_sys.c KA10: Add -m option to load .exe files to load monitors. 2023-10-09 20:27:43 -04:00
kx10_tu.c KA10: Release 3 of PDP10 simulators. KS10 support added. 2022-02-19 20:25:44 -05:00
pdp6_dcs.c KA10: Initial release of PDP10 KA/KI and PDP6 simulators. 2019-07-09 20:59:01 -04:00
pdp6_dct.c KA10: Removed duplicate register. 2022-07-08 17:48:04 -04:00
pdp6_dsk.c ALL: Correct help text in "SET <unit> LOCKED" MTAB entries 2021-04-19 15:22:15 -07:00
pdp6_dtc.c ALL: Correct help text in "SET <unit> LOCKED" MTAB entries 2021-04-19 15:22:15 -07:00
pdp6_mtc.c ALL: Standardize writelock behavior adding global UNIT_WLK & UNIT_WPRT 2021-04-19 10:58:51 -07:00
pdp6_slave.c KA10: Removed compiler warnings. 2020-10-13 20:06:04 -04:00
pdp10_bug_history.txt PDP10: Fix nested indirect address limit exceeded (from Bob Supnik) 2016-02-19 12:28:56 -08:00
pdp10_cpu.c PDP10: Compiler warning cleanup 2020-10-19 12:30:27 -07:00
pdp10_defs.h PDP10, PDP11, Unibus VAXen: CH11 Chaosnet interface. 2018-11-22 07:50:57 +01:00
pdp10_fe.c PDP10: Avoid console port input overrun - wait until prior input is processed 2021-01-21 07:56:59 -08:00
pdp10_ksio.c PDP10, PDP11, Unibus VAXen: CH11 Chaosnet interface. 2018-11-22 07:50:57 +01:00
pdp10_lp20.c All LP and CD devices: Removed use of ftell for pipe compatibility 2022-06-16 16:13:46 -07:00
pdp10_mdfp.c PDP11, PDP10, all VAX: General extern cleanup. 2017-02-04 19:37:20 -08:00
pdp10_pag.c PDP11, PDP10, all VAX: General extern cleanup. 2017-02-04 19:37:20 -08:00
pdp10_rp.c PDP10: Fix inadvertent overlapped unit status bits 2022-02-20 11:26:14 -08:00
pdp10_sys.c All: Declare sim_stop_messages as an array SCPE_BASE long 2020-09-02 15:56:07 -07:00
pdp10_tim.c Fix UTF-8 encoding for five files 2023-03-30 09:31:06 -04:00
pdp10_tu.c All Tape DEVICES: Added extra case points for new MTSE definitions 2022-06-16 16:13:46 -07:00
pdp10_xtnd.c PDP11, PDP10, all VAX: General extern cleanup. 2017-02-04 19:37:20 -08:00