Without this change, timer events don't get queued correctly when the
simulator isn't running (i.e. when at the command prompt or as a consequence
of a RESET command (or during boot preparation)).
This only affects when timers are asynchronous which is not the current
default.
- Throttling delays are self adjusting for specific speed throttling
(K cycles and M cycles and % cycles).
- Throttling starts after THROT_DELAY seconds of execution.
- THROT_DELAY is a register accessible via EXAMINE and DEPOSIT
once throttling has been enabled.
- Throttle sleep times are recalibrated every 10 seconds based on
execution performance for the prior 10 seconds if the current
execution rate differs from the desired rate by more than
THROT_DRIFT_PCT. THROT_DRIFT_PCT defaults to 5 and is a
register accessible via EXAMINE and DEPOSIT once throttling has
been enabled.
- Addressing details reported in #508
- Fixed screen alignments/scrolling between commands
- Add ncurses screen update support on non-windows platforms
- Add tests for new frontpanel APIs
- Add multiple panel startup and shutdown activity to test shutdown
- Add breakpoints to help debug VAX console ROM tests that have failed
- Cleanup session reading logic to properly handle all cases of TCP send
coalesced data.
- Use Remote Console EXECUTE Command to consolidate register query activity
when halted.
- Use -16 switch for EXAMINE and DEPOSIT commands to be sure to present data
in a reliable simulator independent way.
- Add sim_panel_halt_text and sim_panel_device_debug_mode APIs
- Better cleanup of simulator process during panel shutdown on Win32
- Properly set the Interval Register when a running timer is stopped
- Peoperly clear timer interrupt pending when CSR is updated
- Properly handle the case when the timer is started with the interval
register is 0.
- Properly stop the running timer when it is restarted or adjusted
with a new interval value.
- Better debug info
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.
The 3B2 emulator did not have support for traps, rendering debugging
under the simulator fairly useless. This change adds support for
trap handling. The 'sdb' UNIX debugger under SVR3 should now work
correctly.
If a telnet session sends options just prior to closing a session, the response
traffic might get dropped which isn't a problem, but we need to make sure
that we stop referencing the now invalid line structure after that happens.
- Properly digest all register data when it arrives from register
queries and repeat activities.
- Invoke register callback functon when transitioning to Halt state.
- Add option to access instruction history with sim_panel_get_history
API
- More interesting testing in FrontPanelTest program