Commit graph

1717 commits

Author SHA1 Message Date
Mark Pizzolato
478ff3d453 MicroVAX2, rtVAX1000: Avoid non-existent severe machine check exception. As per Bob Supnik. Fix #199 2015-03-30 10:37:41 -07:00
Mark Pizzolato
5e556cc70a ALL VAX: Fix vax_cpu to be model invariant and implement platform specific machine behavior in model specific machine_check routine. As per Bob Supnik. Fix #198 2015-03-30 10:27:02 -07:00
Mark Pizzolato
66dba79418 ALPHA, ALTAIR, AltairZ80, I7094, NOVA, PDP1, PDP10, PDP11, PDP18B, PDP8, SAGE, sigma, swtp6800, TX-0, VAX: Change tabs to spaces which had crept in over time 2015-03-30 10:24:24 -07:00
Mark Pizzolato
1d3ac294c4 SCP: Make sure that dynamically allocated print buffers have room for NUL character string terminator 2015-03-30 10:15:33 -07:00
Mark Pizzolato
137f825811 SCP: Removed unused conditional compile referenced to HAS_vsprintf_void and HAS_vsnprintf_void. Avoid emitting redundant \r characters when writing to stdout while a simulator is running. Suggestions from Bob Supnik. 2015-03-29 16:21:27 -07:00
Mark Pizzolato
cc442a85cc PDP11: Avoid console input buffer overrun when polling for new console input 2015-03-27 04:11:53 -07:00
Mark Pizzolato
4da7f5e028 PDP11: FP fix from Bob Supnik: MMR1 does not track register changes (Johnny Billquist) Fix #44 2015-03-26 14:32:34 -07:00
Mark Pizzolato
6bf32c0687 I1620: Separated compare from add/sub flows (Tom McBride) Removed ADD_SIGNC return from add/sub flows. From Bob Supnik - Fix #172
The FP is "collateral damage" from simplifying the add_field routine.

This version runs CU01 without the record mark test.
2015-03-26 12:49:19 -07:00
Howard M. Harte
569cfaf591 AltairZ80: mfdc: Only display ROM write attempt error messages when debug is enabled 2015-03-21 13:33:59 -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
Mike Douglas
89a3783281 AltairZ80: mfdc: allow disk controller to work with MZOS disk images
Do not insert the computed checksum for VGI disk images, since the
checksum is already present in the sector data.
2015-03-18 19:41:24 -07:00
Mark Pizzolato
590895bfe5 SCP: Added generic primitives to create named shared memory regions which can be used interprocess memory sharing
This is a basic starting point to create the memory regions.  At some point synchronization primitives will probably also be necessary.
2015-03-17 22:11:07 -07:00
Mark Pizzolato
50d1407c97 DOC: Add paper by Bob Supnik "Simulators: Virtual Machines of the Past and Future" published in ACM Queue 2004 2015-03-16 16:06:23 -07:00
Mark Pizzolato
3c3c8d6e29 VAX: Convert CPU level debugging to use sim_debug instead of DEBUG_PRI for consistent CPU device debug output 2015-03-06 10:06:21 -08:00
Mark Pizzolato
83338d1d1a README: Update to describe packet throttling option for XQ & XU ethernet devices 2015-03-04 08:37:19 -08:00
Mark Emmer
f56ade6168 SDS: Adjust communication MUX inter-character timing
When stuffing the LOGOUT command to a pseudo-teletype, the command script processing program CCP encountered a race condition because the MUX timing was too slow.  The pseudo-teletype did not reliably log off as desired. Cutting the event wait time in half fixed the problem.
2015-03-01 22:59:03 -06:00
Mark Pizzolato
b8629a1142 FRONTPANEL: Restrict HALT, BOOT, CONT, STEP activities from executing in device frontpanels. 2015-02-28 11:20:59 -08:00
Mark Pizzolato
947fe4a031 VAX8600: Fix 8600 reboot
The reboot command code was not defined, and even when defined, it didn't get executed before the simulated code executed a HALT instruction.  Solved by scheduling immediate execution of reboot command.
2015-02-27 14:38:35 -08:00
Mark Pizzolato
75442d0944 Visual Studio Projects: Added download path for Visual Studio 2008 SP1 2015-02-27 11:10:15 -08:00
Mark Pizzolato
8c0fc33b2e FRONTPANEL: Merged simulator panel and device panel constructors. 2015-02-26 12:13:56 -08:00
Mark Pizzolato
71fe58b33a FRONTPANEL: Added better protocol debug support to debug simulator startup issues 2015-02-26 11:28:08 -08:00
Mark Pizzolato
df6953bf82 FRONTPANEL: Allow simulation startup to take up to 10 seconds (in 100ms steps) 2015-02-25 14:31:52 -08:00
Mark Pizzolato
ab402130b1 FRONTPANEL: Avoid issues restarting test application soon after prior runs of test application 2015-02-25 13:35:41 -08:00
Mark Pizzolato
413ab4b9a6 FRONTPANEL: Added simulator command execution tracing during protocol debugging/initialization 2015-02-24 22:07:25 -08:00
Mark Pizzolato
9eb8439658 SCP: Fix spelling of SET VERBOSE command alias for SET VERIFY. 2015-02-24 22:06:00 -08:00
Mark Pizzolato
45b39e864b FRONTPANEL: FrontPanelTest - Added command line -d option to enable protocol debugging 2015-02-24 21:12:49 -08:00
Mark Pizzolato
059a54152a FRONTPANEL: General Enhancements
- added verification of the existence of simulator registers which they are referenced.
- sim_frontpanel API version checking to make sure that the invoking API and the simulator support the same capabilities.
- added the ability for a simulator to reference data in simh register data which is not in the set of registers defined in the default simh device (usually the CPU).
- added a simulator time reference relating to a set of register data which is provided.
- added example automatically creating a console terminal port from a simulator startup (front panel or not).
2015-02-24 19:49:09 -08:00
Mark Pizzolato
26ef9b566a PDP11, VAX: const cleanup 2015-02-21 12:48:35 -08:00
Mark Pizzolato
e768629009 SCP: Added the capability for EXAMINE command output to be written directly to a socket. 2015-02-21 12:40:36 -08:00
Mark Pizzolato
f5cd5439f5 FRONTPANEL: Minimuze the latency for register content queries by coalescing all response data into a single response packet. 2015-02-20 16:20:18 -08:00
Mark Pizzolato
02295fa215 FRONTPANEL: Limit pending register value queries to a single query since there additional queries won't provide better information. 2015-02-20 16:18:41 -08:00
Mark Emmer
a67afa4a29 SDS: Do not stop simulator on paper tape reader error
The simulator stops when reading past EOF on the paper tape device's attached disk file (or if no file is attached to this device). The SDS timesharing system is capable of processing an end-of-record interrupt in these circumstances, resulting in proper error reporting to the user program that is reading paper tape.
2015-02-17 22:12:28 -06:00
Mark Pizzolato
ce3e6358aa FRONTPANEL: Add OS X support to sim_frontpanel, add build requirements to documentation. 2015-02-17 16:36:23 -08:00
Mark Pizzolato
e1b7bb3b56 FRONTPANEL: Added comments describing the frontpanel API use. Added Error state to a panel which reflects a panel which is currently non-operational and which hopefully will be indicated by calling sim_panel_get_error 2015-02-17 07:58:21 -08:00
Mark Pizzolato
d83060938e SOCKETS: Fixed commit e69c3adf5 to also work on non Windows platforms 2015-02-15 12:48:37 -08:00
Mark Pizzolato
54a4845fb2 ALL: Revert "ALL: make sure all useful state is in simh registers while processing events"
This reverts commit 5551a0dd9c.

The original idea was that the state being put into simh registers would be required to have all useful information available when remote console executed commands.  These steps were taken from the code that sim_instr() executed as it was exiting.  After this change was made it was realized that once a remote console command executed it might change state that directly affected instruction execution.  To solve this, the logic that executes before the instructions in sim_instr() would then need to be executed whenever the event dispatch processing completed.  This approach is messy, burdensome and potentially a lot of overhead for every event dispatch even though almost none of the event dispatches would be for remote console command execution.  A completely different approach was suggested by J. David Bryan.  That alternative approach would be to have remote console commands execute outside of the sim_instr() routine.  Thus allowing the existing prelude and postlude code in sim_instr() to be performed naturally and let the remote console activities run in the same context as all other simh commands.  Recent changes to scp and sim_console implement this alternative approach and thus these original changes are completely irrelevant and are thus being removed.
2015-02-15 12:42:32 -08:00
Mark Pizzolato
93ebfeb5ee FRONTPANEL: Add compile time logic to enable debugging of protocol between API and simulator. 2015-02-15 12:08:13 -08:00
Mark Pizzolato
e69c3adf5f SOCKETS: Suppress expected read error message on close of a blocking socket. 2015-02-15 12:06:53 -08:00
Mark Pizzolato
8789172e4a Remote Console: Fixed logic to enter Multi-Command mode (i.e. HALT execution) when input data is queued. 2015-02-15 11:54:48 -08:00
Mark Pizzolato
335def0d32 FRONTPANEL: Added support to debug traffic to/from the simulator 2015-02-15 11:04:18 -08:00
Mark Pizzolato
2c2ffe39bf Remote Console: Restructured so that commands are not executed within the sim_instr() routine.
This approach removes the burden from any simulator code to perform instruction execution postlude before calling sim_process_event and prelude activites when sim_process_event returns.

Remote Console commands are now executed from the same simulator context as if entered from the initial sim> prompt.
2015-02-15 11:00:01 -08:00
Leo Broukhis
d4cb5e8aed BESM6: Clarified terminology, TAB char fix. 2015-02-13 09:33:40 -08:00
Mark Pizzolato
ef9d1adce1 PDP10, PDP11, VAX: const cleanup 2015-02-13 06:18:24 -08:00
Leo Broukhis
68efe4d36a BESM6: Enhanced the front panel, code cleanup. 2015-02-12 20:35:33 -08:00
Mark Pizzolato
4c8e1631b5 FRONTPANEL: Cleanup for building as C++. Add initial support for device panels concurrently on a simulator. Added an API to set a register value. 2015-02-12 14:59:24 -08:00
Mark Pizzolato
9accae5905 BESM6 and VAX: Cleanup for building on VMS 2015-02-12 12:32:39 -08:00
Mark Pizzolato
3dce4e1210 FRONTPANEL: Provide a sample program to demonstrate the use of the sim_frontpanel APIs. 2015-02-11 17:09:55 -08:00
Mark Pizzolato
e52ef6407a FRONTPANEL: Make startup of simulator more robust. 2015-02-11 16:38:16 -08:00
Mark Pizzolato
bc9e79a266 SOCKETS: Fixed error suppression when connecting a blocking mode TCP socket 2015-02-11 13:47:54 -08:00
Mark Pizzolato
0b015efcac Compiler suggested cleanup 2015-02-11 12:25:11 -08:00