Also synchronize Window Event pump and command input thread startup
before counting on their use.
Previously the Windows GUI startup happened too early (in the power on
device reset of all DEVICES) and it didn't consistently stabilize before
proceeding. A quick exit after the RegisterSanityCheck activity would
sometimes hang and builds would never complete.
- Configure run on push and pull requests
- Use new macos and ubuntu OS images
- Add missing simulators from the build list
- Add potential LTO option for makefile builds
* AltairZ80: SS1: Fix disable after reset.
The CompuPro System Support 1 could not be disabled after enabled and
used due to timers causing it to be busy. Reset properly so that "set
ss1 disabled" works after reset.
* AltairZ80: wd179x: Properly reset 179x state.
* AltairZ80: M68K: Fix compile with VS2008.
* Musashi: Fix compilation with Visual Studio 2008.
* AltairZ80: M68K: Resolve warnings in softfloat.
* AltairZ80: Add headers to .vcproj
This change allows CI builds to fail without detailed viewing of build output
for gcc and clang builds (all modern compilers). Thus forcing PR submitters
to find these problems before PRs are merged. This is done by compiling
with -Werror for these compilers.
We don't know how to do this for other compilers which may be able to use
the makefile, so warnings there will still proceed to build successfully.
* VIDEO: Fix bug: vid_ready can be used uninitialized.
* VIDEO: Not all events come with a valid windowID.
* PDP11: Fix NG SET TYPE.
The sense of MATCH_CMD is reversed.
* display: Fix bug in NG display controller.
There should be a separate state for each of the eight displays.
* display: Symbolic constant for number of displays.
Simulators built with DONT_USE_INTERNAL_ROM defined will not have hte
binary of the needed ROM or boot components build into the simulator
binaries. However, they will automatically and transparently fetch the
neeeded ROM or boot code from the web when these binary files aren't
available locally.
Some potential packaging platforms do not want to package/distribute
simh simulators which have build-in binary code (ROM images or other
boot code) which may have unknown copyright status. Historically Linux
distributed prebuild simulators but left it to a simulator user to reach out
on the web to pick up these needed pieces to actually use the simulator(s).
This addition allows the default simulator builds to include the needed
binary components built into the simulator(s). In addition, it also
allows simlators to be built with DONT_USE_INTERNAL_ROM defined and thus
not to contain the material with potentially questionalble providence,
but to transparently reach out to the web to fetch the needed component(s)
when they are needed without any effort on the part of the simulator user.
- Plan is to avoid "#ifdef DONT_USE_INTERNAL_ROM" in simulator code
and handle builtin or external files in SCP facilities
- Export ROM checksum value and source file path to allow for transparent
dynamic ROM location at run time.
- Update README to describe differences with open-simh
- Allow SET NOAUTOSIZE and SET AUTOSIZE
- Document deprecation and possibly non functionality of MinGW
Windows build support
- When dependencies needed for the specified build target(s) are not
all available, display explicitly what is package(s) are missing for the
current platform's package manager. Ask if the build should proceed
or if the missing pieces should be installed first. If the user wants to
install the missing package(s) first, then show them precicely what
commands are needed for that package manager on that platform.
If the platform is macOS and the package manager is HomeBrew, then
automatically install missing packages and perform the initially desired
build. All other package managers require root access, so the commands
the user needs to enter to install the missing packages and to restart the
build are displayed the build exits.
- Explicit support provided for
1) HomeBrew and MacPorts on macOS,
2) apt AND yum on various Linux distributions
3) pkgin on NetBSD
for Debian and
The BESM6 makefile build has always allowed a makefile argument FONTFILE=.
That option still exists and will change the default font file.
Also extend the default font file names to include one which is found on
NetBSD.