Rethink how the Windows XP toolkit installs because the Chocolatey
installer(s) changed and broke the SIMH CI/CD build. Revert to a
previous strategy that updates the GH Windows runner image in-place with
Microsoft's vswhere and vs_installer tools.
There's some Grey Magic in how this is done, with some adapted
PowerShell code from the Chocolately PS scripts. The upshot is that
vs_installer spawns a subprocess to do the actual install, but there's
now way to get vs_installer to actually wait for that subprocess to
complete. So, the script has to look for the installer subprocesses and
poll-wait for them to finish.
* CMake build infrastructure
The squashed commit that builds and packages releases for the SIMH
simulator suite with CMake, version 3.14 or newer.
See README-CMake.md for documentation.
Only SCP libraries should be including additional OS specific include
files since they cover both:
1) Are responsible for platform specific details integrated into simh
support
and
2) Implement extended functionality optimally considering the proper
behaviors to cooperate with the simh event system and existing
capabilities.
Simulator code can optionally include any of these system include files:
<stddef.h>, <stdlib.h>, <stdio.h>, <stdarg.h>, <string.h>, <errno.h>.
<limits.h>, <ctype.h>, <math.h>, <setjmp.h>
Such inclusion will be redundant with what is already provided here
by sim_defs.h. Simulator code should include SCP provided include files:
"scp.h", "sim_card.h", "sim_console.h", "sim_disk.h", "sim_ether.h",
"sim_fio.h", "sim_imd.h", "sim_scsi.h", "sim_serial.h", "sim_tape.h",
"sim_timer.h", "sim_tmxr.h", "sim_video.h"
depending on the specific needs of the device being simulated.
Under certain circumstances, the timer resolution in the Version 3
could become coarse enough that very short timer intervals would lead
to an infinite loop of bus errors when running timer firmware
diagnostics.
This change adds support for printing to an attached text file via the
Centronics port of a simulated PORTS feature card. A new device named
"LPT" has been added. See "help lpt" for documentation.
Additionally, there has been a fix to a bug in the SCSI tape boot
implementation and a very minor bug fix to the Rev 3 MMU.
After adding the sim_clock_precalibrate_commands, the PC was not zero
at the sim> prompt after loading altairz80.
Set CPU_S to zero in cpu_reset to address this issue.