Commit graph

31 commits

Author SHA1 Message Date
Mark Pizzolato
5c53d8eba0 DOC: Cleaned up API descriptions 2017-01-19 19:54:34 -08:00
Mark Pizzolato
c9276407e6 TIMER: Timing corrections and enhancements
- Add support to query remaining usecs on pending events.
- Generalized the sim_interval adjustment in sim_idle to allow more than
   a single decrement.
- More overhead reduction when idling.
- Carry usec values as double through out to fully support long wall clock
   delays.
2016-12-30 10:26:59 -08:00
Mark Pizzolato
7dd1f0b89e SCP: Complete support for automatic detection of WRU (^E) for all simulators
commit ef6528bf32 added support for automatic WRU detection for simulators
that don't have a console port, but it was never documented and the addition of
that support potentially interfered with SAVE/RESTORE behavior.

The console connection state is now automatically saved and restored.
2016-12-17 03:50:10 -08:00
Mark Pizzolato
39d2944ede TIMER: Add support for catchup clock ticks and cleaned up asynchronous clocks
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.
2016-11-16 23:50:53 -08:00
Mark Pizzolato
17abb1223a TAPE: Make sure that all tape library APIs only work after sim_tape_attach
- Detects and fixes the problem reported in #345
2016-10-20 13:32:51 -07:00
Mark Pizzolato
222ae77436 SCP: Add sim_brk_message() to facilitate easy reporting of matched breakpoints.
Also extended the optional VM supplied routines to include sim_vm_sprint_addr.
Simulators which provide sim_vm_fprint_addr should also provide
sim_vm_sprint_addr with sim_vm_fprint_addr reworked to leverage
sim_vm_sprint_addr internally.  sim_vm_sprint_addr is currently only used by
sim_brk_message() which is an API which a simulator may choose to use if
it supports multiple breakpoint types,
2016-09-01 14:32:01 -07:00
Mark Pizzolato
052fafc62e SCP: Add UNIT wait and buf to SAVE/RESTORE data as documented. 2016-07-11 19:54:15 -07:00
Mark Pizzolato
5531ccb175 ALL: Massive 'const' cleanup
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.
2016-05-15 15:25:33 -07:00
Mark Pizzolato
fc4171140a SCP: Add BINRDATA, BINRDATAD and BINRDATADF REG initialization macros.
These describe a register which is to be displayed in binary.
2016-03-23 00:43:36 -07:00
Mark Pizzolato
3ff89074f5 SCP: Add generic REGDATA register populating macro.
This allows simulator code to be insulated from any changes which may
be made to the REG structure in the future.  The REGDATA macro will be
update as needed to avoid any changes in simulator specific code.
2016-03-17 10:45:45 -07:00
Mark Pizzolato
329f42a1fc SCP: Rework newly added REG macro definitions to avoid problems with prior declarations
Fix #288
2016-03-16 20:33:41 -07:00
Mark Pizzolato
37733cabee SCP: Add support REGister data in arrays of arbitrary structures. 2016-03-14 15:07:22 -07:00
Mark Pizzolato
f3ca23c739 DOC: Correct parameter description in "Writing a Simulator for the SIMH system". 2016-02-25 05:14:49 -08:00
Mark Pizzolato
d8f2647f93 SCP: general const cleanups and const change to sim_vm_parse_addr. 2016-01-24 08:27:08 -08:00
Mark Pizzolato
6582aeead2 SCP. PDP11: Add ESC and ENQ to the default set of console output characters in 7P mode.
Revert change to add ESC and ENQ to printable characters for all simulators
and make that change only for the PDP11.
2016-01-02 05:07:18 -08:00
Mark Pizzolato
e162eb9418 DOC: Clarifications about behavior and requirements for EXAMINE -a and -c switches. From Dave Bryan 2015-11-19 09:06:19 -08:00
Paul Koning
35c321fe2e DOC: Corrections and cleanups.
Small corrections, including a number from Mark Pizzolato, in
description of unit timing, debug flags, among others.
2015-10-10 14:07:33 -04:00
Paul Koning
77bbfae817 DOC: Corrections and cleanups.
Update description of DEVICE, UNIT, and REG.  Correct a number of
typos and formatting glitches.  Add description of UNIT_IDLE,
REG_UNIT.  Add some missing details in fprint_sym and
sim_vm_is_subroutine_call.  Document command matching rule.
2015-09-25 12:52:07 -04:00
Mark Pizzolato
8652294fd6 DOC: Add descriptiong of missing unit structure fields 2015-09-22 06:55:23 -07:00
Mark Pizzolato
1ef6c3d6b9 SCP: Added REG_V_UF and REG_UFMASK to support user-defined register flags. From Dave Bryan
Altered the calling sequences to fprint_sym and parse_sym in ex_reg and dep_reg to merge user-defined register flags with the radix in the addr parameter.  This allows the print and parse routines to identify the register or determine how it is to be handled.  These are called in lieu of the standard print and parse routines if a register has REG_VMIO or at least one user-defined flag set.
2015-09-20 14:04:24 -07:00
Mark Pizzolato
8204a203a1 DOC: Updated simh.doc to describe missing sim_tape APIs 2015-04-14 08:36:27 -07:00
Mark Pizzolato
46d7bfc660 SCP: Fix sim_disk to avoid potential reference to uninitialized context structure. Fix #194 2015-03-19 13:52:33 -07:00
Mark Pizzolato
f8501c2ec2 DOC: Updated simh.doc and sim_magtape.doc to reflect recent revisions to tape support (from Dave Bryan) 2015-01-08 03:34:42 -08:00
Mark Pizzolato
8f3e6438a3 SCP: Added the NEXT command. This command provides the ability for a simulator to step over subroutine calls. 2014-04-14 14:22:18 -07:00
Mark Pizzolato
c3479492a1 Added documentation for bitfields 2013-05-23 06:34:46 -07:00
Mark Pizzolato
145b5c6a00 Added per line Modem Control capabilities to TMXR 2013-05-15 05:42:36 -07:00
Mark Pizzolato
06cf9532f7 Documentation cleanup 2013-02-02 16:30:19 -08:00
Mark Pizzolato
b37b866fd6 Revised document 2013-01-10 13:29:49 -08:00
Mark Pizzolato
faa794e9da Documenting revised DEVICE structure 2013-01-03 09:19:21 -08:00
Mark Pizzolato
50cf91d441 Merge branch 'SerialMux' and compiler suggested cleanup 2012-12-18 09:52:14 -08:00
Mark Pizzolato
9421d3cc75 Added missing documentation files from Bob Supnik.
simh.doc                         Writing a Simulator for the SIMH System
sim_breakpoints.doc     The SIMH Breakpoint Subsystem
sim_vmio.doc                 Adding An I/O Device To A SIMH Virtual Machine
2012-10-20 07:47:03 -07:00