Commit graph

3109 commits

Author SHA1 Message Date
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
Mark Pizzolato
5a472f8f55 FRONTPANEL: Initial implementation of a working API for use by external panel applications 2015-02-11 11:16:07 -08:00
Mark Pizzolato
c869a973d3 Remote Console: Exit simulation when a master mode connection is dropped (equivalent to master power switch). 2015-02-11 11:14:52 -08:00
Mark Pizzolato
c7131700c0 Remote Console: Enhancements
- Accept input comments
 - Allow leading and trailing spaces in remote console input commands
 - Force prompt to be "sim> " or "SIM> " when in a master mode console session. "SIM> " used during single command mode.
 - Enhance performance of single command mode input processing by processing all available input characters before actually flushing output buffers

TMXR API extension to add tmxr_input_pending_ln that reports the existence of additional input data

TMXR also now conforms to revised sim_sock API changes
2015-02-11 09:48:05 -08:00
Mark Pizzolato
1fb209c275 SOCKETS: Cleanup, simplify and extend the sim_sock API set.
Cleanup/Simplification by:
	1) removing irrelevant master flag variable from sim_close_sock and thus sim_err_sock
	2) change previous boolean feature arguments (datagram, nodelay, reuseaddr) to flag bits in a single option argument.  This allows for features to be added by new flag bits which don't change the calling signatures.
	3) changed all status returns to be int (vs t_stat) with success being 0 and error being -1
	4) removed unneeded simh specific type references to allow sim_sock to be used by n
Extended API by providing flags to influence socket setup/behavior:
	SIM_SOCK_OPT_REUSEADDR	Retains prior behavior when sim_switches had -U set
	SIM_SOCK_OPT_DATAGRAM	UDP socket setup provided for when prior datagram argument was specified
	SIM_SOCK_OPT_NODELAY		TCP Nagle disable provided for when prior nodelay argument was specified
	SIM_SOCK_OPT_BLOCKING	Blocking socket mode (detault is non blocking)
2015-02-11 09:41:18 -08:00
Mark Pizzolato
5b4e9d5891 SCP: Corrected error message text 2015-02-11 07:03:10 -08:00
Mark Pizzolato
0bf40c2777 VAX, XQ: Removed unneeded variable declaration which caused linker warning using icc compiler 2015-02-11 06:37:57 -08:00
Mark Pizzolato
1c2aed70ba I1401: Fixed treatment of overflow (Ken Shirriff) 2015-02-09 12:33:28 -08:00
Mark Pizzolato
960b22d930 VIDEO: Fix build when using SDL2 versions prior to 2.0.3. Fix #187 2015-02-08 11:33:56 -08:00