- Invoking make with QUIET=0 (or in an exported environment variable)
will display the full compile and link commands executed.
- Invoking make with BUILD_SEPARATE=0 will cause each simulator
being built to be built with a single compile and link command.
This is how things were previously, but now the default has been
changed to more easily support active simulator development
by compiling files that have changed.
- Silence link time warning on macOS
- cleanup C++ support for ND100 and C++ builds of other simulators
- Add common system includes used in may places which are allowed
and thus added directly in sim_defs.h.
- Separate completely private system data structures and system APIs
for use only by SCP library routines into sim_scp_private.h.
COM ports greater than COM9 on Windows can only be opened using
the DOS device UNC path \\.\.
Prefix the filename passed to CreateFile() with this prefix to
address this issue.
When the console is connected to a serial port or telnet sessions enable
speed setting, the bits being output are now paced a the desired speed.
Multi-line mux I/O is also correctly rate limited on all lines.
This should address the problems described in #545
Avoid Windows specific serial I/O behaviors which might not always have
hardware state reported to user level code. The TMXR layer code already
paces mux output so that reasonable behavior is observed.
The goal being to have output to physical serial ports complete without host
OS level buffering so that what is transmitted via the serial port has correct
timing with respect to I/O completion status within a simulator.
Linux, OS X, and various other *nix host platforms still need work here.
These changes facilitate more robust parameter type checking and helps
to identify unexpected coding errors.
Most simulators can now also be compiled with a C++ compiler without
warnings.
Additionally, these changes have also been configured to facilitate easier
backporting of simulator and device simulation modules to run under the
simh v3.9+ SCP framework.
The goals here being to simplify calling code while getting consistent output delivered everywhere it may be useful.
Modified most places which explicitly used sim_log or merely called printf to now avoid doing that and merely call sim_printf().
- Avoid assignments of void * values. Cast all memory allocation return values to appropriate types.
- Add output to sim_log where missing in various places.
- Fixed issue with lost file positions after a restore for devices which leverage the UNIT_SEQ flag.