Commit graph

2652 commits

Author SHA1 Message Date
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
Mark Pizzolato
f2674766ca SOCK: Add TCP keepalive support to all incoming and outgoing TCP sockets.
This allows detection of network failures when there is no traffic across established circuits,
2015-02-06 14:52:09 -08:00
Scott Bailey
d8b55677c1 ALTAIR: Reads of uninstalled memory are supposed to return 0377 (0xff). However,
memory bytes beyond the installed limit were being initialized with 0
instead of 0377. Fix comment and the actual initialization loop.
2015-02-06 09:28:29 -08:00
Mark Pizzolato
94b1da0a53 Remote Console: Add EXAMINE and EVALUATE to the single command mode command set and removed IEXAMINE from all command modes since it doesn't work. 2015-02-06 08:17:09 -08:00
Mark Pizzolato
0fd4a9f178 VIDEO: Fix makefile for building on OS X with SDL (vs SDL2). 2015-02-05 15:48:16 -08:00
Mark Emmer
3b33804327 SDS: Fix overflow test instructions OVT and OTO
Improper implementation of the OVT and OTO instructions. OV is always zero or one, so the Boolean AND in the  original if statement would always fail. Also, these instructions are supposed to skip if overflow is not set, the opposite of the way it was coded.
2015-02-05 17:42:04 -06:00
Mark Pizzolato
c9eb08c767 VIDEO: Fix build when using SDL vs SDL2 2015-02-05 09:58:40 -08:00
Mark Pizzolato
7fe345c4c0 README: Update to describe QVSS (VCB01) device on MicroVAX3900 (VAX) simulator 2015-02-05 09:44:59 -08:00