Similar to the build_ming.bat procedure which will invoke MinGW to
biuild siimulators, this procedure will rebuild all of SIMH simulators using
Visual Studio.
If this procedure is not invoked from a Developer Command Prompt
then the VS2008 tools are preferred if VS2008 is installed,
otherwise the installed Visual Studio tools will be used
prefering newer Visual Studio versions over older ones.
If this procedure is invoked from a Developer Command Prompt
then the tool chain provided with the command prompt is used
to build the simh projects.
A single argument to this procedure may be the word Debug, which
will cause Debug binaries to be build rather than the Release
binaries which is the default.
These include simulators for the IBM 701, IBM 702, IBM 704, IBM 705,
IBM 705/3, IBM 709, IBM 1410/IBM 7010, IBM 7070, IBM 7080, IBM 7090
and IBM7094.
These basically were a collection of machines that shared a common
set it peripherals, Each group had its own instruction set, hence
different simulators.
IBM 701 -> i701
IBM 702/705/705/3/7080 -> i7080
IBM 7070/7074 -> i7070
IBM 1410/7010 -> i7010
IBM 704 -> i704
IBM 704/709/7090/7094 -> i7090
The i7090 can be set to simulate a IBM 704 however you end up
disabling almost everything, since the 704 did not have any channels.
A build option exists that allows this one to be built without all the
extra features.
The i7090 simulator’s implementation of the IBM 7094 is a more
complete implementation of the IBM 7094 which can run CTSS
while the existing simh I7094 can’t.
%% now inserts a bare % and \\ only means something when parsing a quoted
string argument (used by EXPECT and SEND commands).
Additionally, EXPECT and BREAK commands have action steps which will now
expand arguments as each of the actions are executed rather than when the
EXPECT or BREAK command is defined.
Asynchronous clocks are now built for all simulators which are built with
SIM_ASYNCH_IO defined. The default behavior has asynchronous clocks
disabled since this is still experimental, but it can be enabled with
SET TIMER ASYNC.
Catchup clock ticks are now available, but since they're experimental,
they aren't enabled by default. Catchup ticks are only available if the
simulators clock device calls sim_rtcn_tick_ack to acknowledge processing
of clock ticks. The VAX simulators have been modified to leverage this.
Catchup clock ticks can be enabled with SET TIMER CATCHUP
Additionally, an idle threshold is provided which can be used to
influence when clock calibration may be suppressed. The default is not
to suppress calibration activities.
The various timer behaviors are visible with the SHOW TIMER command.
The state of the operating timer facilities is visible with: SHOW CLOCK
Timer events which are queued are visible with the SHOW QUEUE command.
The new RUN/GO command syntax supports a stop criteria.
There are two forms of stop criteria:
1) A normal breakpoint (which exists only until it is encountered)
2) A user specified output string is emitted by the simulated system.
Command syntax is:
RUN|GO {START-PC-VALUE} {UNTIL breakpoint|"output-string"}
Users wanting to build simulators with locally build dependent packages or
packages provided by an unsupported package management system can
override where this procedure looks for include files and/or libraries.
Overrides can be specified by define exported environment variables or
GNU make command line arguments which specify INCLUDES and/or LIBRARIES.
Each of these, if specified, must be the complete list include directories
or library directories that should be used with each element separated by
colons. (i.e. INCLUDES=/usr/include/:/usr/local/include/:...)
Binaries built with unsupported library components will have a 'unsupported' tag
in the output of the SHOW VERSION command.