Commit graph

75 commits

Author SHA1 Message Date
Mark Pizzolato
acbea91524 PDP11, PDP10, VAX: Fix DMC11 device DDCMP Maintenance packet handling
1) Assure that Link line carrier is present prior to attempting to transmit
   maintenance packets.
2) Properly set flag bits in maintenance packets.
2018-11-10 04:34:43 -08:00
Mark Pizzolato
6ffa4c8a41 IBM1130, PDP10, PDP11: Replaced assert() with ASSURE() for run time error checks 2018-08-11 14:44:15 -07:00
Mark Pizzolato
7af3e357f0 PDP11, VAX: Fix debug output state reference (COVERITY) 2017-03-10 11:55:30 -08:00
Paul Koning
223f080724 PDP10, PDP11, VAX: Make DMC/DMR initialization more accurate.
These changes cure a number of issues in RSTS/E, which is more
sensitive to details of emulation than most:

1. Additional KMC opcodes supported for ROMI
2. MCLR now initializes the CSRs per the spec
3. MCLR and ROMI are processed immediately at CSR write rather than
   being deferred, because these actions are implemented in the device
   hardware rather than in the microprogram.
2016-08-29 10:43:50 -04: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
b4e604aae4 PDP10, PDP11, VAX: Fix buffer overrun in dmc_attach 2016-01-05 15:37:06 -08:00
Mark Pizzolato
aa5bc9e867 DMC: Avoid using CBUFSIZE for register array data since it can vary from one platform to another.
The consequence is that cross platform save/restore operations will fail if the CBUFSIZE is different.
2016-01-03 12:16:06 -08:00
Mark Pizzolato
88dde792b7 PDP11, VAX: Add device debug help information descriptions 2015-12-06 18:01:20 -08:00
Mark Pizzolato
73d7aee71f SCP: Add printf style format argument validation for all functions which take printf arguments.
These include: sim_printf(), sim_messagef(), Fprint() and sim_debug().

Fix current use of these functions which had invalid arguments.
2015-10-09 04:12:25 -07:00
Mark Pizzolato
fa407e678b PDP10, PDP11, VAX, MUX: Fix allowed line attach syntax to accept UDP in any order among attach arguments 2015-05-23 17:08:51 -07:00
Mark Pizzolato
29fe0e6c8d PDP10, PDP11, VAX: Fix DMC/DMR attach setup when UDP transport is used. 2015-05-23 05:24:23 -07:00
Mark Pizzolato
ef9d1adce1 PDP10, PDP11, VAX: const cleanup 2015-02-13 06:18:24 -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
549779fb10 PDP10, PDP11, VAX: Adjusted KDP, DUP and DMR/DMC devices to be better behaved when the simulated system is idling.
This may not completely fix the problem identified in issue #99, but it should help
2014-12-19 08:41:10 -08:00
Mark Pizzolato
3256c10c77 General cleanup migrate to using sim_printf vs separate calls to printf and fprintf(sim_log). 2014-10-22 17:12:14 -07:00
Mark Pizzolato
cad8bf1cfc Compiler suggested cleanups - Johnny Billquist 2014-07-23 13:59:51 -07:00
Mark Pizzolato
e9b312f26a PDP11, VAX: Added Ethernet packet transmission throttling support to XQ and XU devices.
Migrated the XQ help to the hierarchical help model.  This is a work in progress which will eventually merge much from 0readme_ethernet.txt into the device help.
2014-06-06 15:03:31 -07:00
Mark Pizzolato
753e4dc925 PDP10, PDP11, VAX: Fix buffer leak while generating NAK messages 2014-06-03 12:09:43 -07:00
Mark Pizzolato
a6161c16b1 PDP10, PDP11, VAX: Fix out of order packet numbers after processing some NAK data. Also restart outgoing packet flow consistently if an output stall occurred. 2014-06-01 14:06:46 -07:00
Mark Pizzolato
959ebe7210 PDP10, PDP11, VAX: Fixed DMC/DMR DDCMP implementation to only send a single NAK when a data packet arrives out of order. 2014-05-31 13:26:46 -07:00
Mark Pizzolato
779e2437bd PDP10, PDP11, VAX: Fix DMC/DMR DDCMP implementation to not crash due to buffer exhaustion while generating NAK packets for missing packets. 2014-05-30 11:30:07 -07:00
Mark Pizzolato
963ff98da4 PDP10, PDP11, VAX780, VAX750, VAX730: Fixed DMC/DMR DDCMP implementation to be tolerant of packet corruption. 2014-05-29 15:48:00 -07:00
Mark Pizzolato
06a63e5704 PDP10, PDP11, VAX780, VAX750, VAX730: Fix DMC/DMR simulation to generate NAK messages with the correct reason for CRC errors. 2014-05-29 09:43:17 -07:00
Mark Pizzolato
709016c356 PDP10, PDP11, VAX: Revert effort to Avoid returning "Line Unit" test failed after DMC/DMR master clear if a line is not attached. To be addressed more thoroughly later. 2014-05-26 05:32:38 -07:00
Mark Pizzolato
4299ee96db PDP10, PDP11, VAX: Avoid returning "Line Unit" test failed after DMC/DMR master clear if a line is not attached. Let the attached state (if it needs to be determined) be reflected by sensing modem status bits. 2014-05-14 00:16:14 -07:00
Mark Pizzolato
ddaf2764a7 PDP10, PDP11, VAX: Fix DMC/DMR master clear when no units are attached to properly be able to act on register writes. 2014-05-13 09:16:16 -07:00
Mark Pizzolato
5f5e931db0 PDP11, VAX, PDP10: Fixed setting of register value reflecting return buffer address - Problem reported by R. Voorhorst 2014-04-12 09:48:39 -07:00
Mark Pizzolato
74482ce448 PDP10, PDP11, VAX: Make sure that the DMC and DUP devices produce the right messages when an attach is attempted to an already attached line 2014-04-06 16:42:10 -07:00
Mark Pizzolato
edb475fcc1 PDP10, PDP11, VAX: Fix DMC & DUP unit attach strings for multi-line device configurations. 2014-04-02 08:47:35 -07:00
Mark Pizzolato
6ce8d99cd8 SCP: Added generic output routine sim_printf to output to stdout and sim_log (and sim_deb when enabled)
The goals here being to simplify calling code while getting consistent output delivered everywhere it may be useful.

Modified most places which explicitly used sim_log or merely called printf to now avoid doing that and merely call sim_printf().
2014-03-28 08:20:05 -07:00
Mark Pizzolato
e81de979f6 PDP11, PDP10, VAX: Start device connection polling on device reset when any units are attached 2014-03-27 05:12:44 -07:00
Mark Pizzolato
fe005f7d36 PDP10, PDP11, VAX: Fix DUP and DMC devices which couldn't be disabled after having been enabled. 2014-03-19 02:06:10 -07:00
Mark Pizzolato
090b2f83f2 PDP10, PDP11, VAX: Avoid corrupting a DMC/DMR unit attach string when a line state transitions 2014-03-17 08:48:02 -07:00
Mark Pizzolato
9320c56f3f PDP11, PDP10, AltairZ80: Fixed cases where assert() macro is called with an expression which has side effects and therefore wouldn't get executed if compiled with NDEBUG defined. 2014-03-02 14:50:43 +01:00
Mark Pizzolato
02cb5c2d88 Compiler suggested cleanups.
Mostly silencing noise warnings, but bugs were found in sim_console.c and pdp11_dmc.c
2014-02-14 17:07:45 -08:00
Mark Pizzolato
d7c63d61f2 PDP10,PDP11,VAX: Fix for DMC/DMR error which lost track of pending transmit buffers when timeouts happened during DDCMP protocol startup. Fixes #109 2014-02-11 13:32:37 -08:00
Mark Pizzolato
b1fb809210 PDP10, PDP11, VAX: Added the DDCMP corruption troll to the DDCMP layer and removed it from the KDP device.
Now all DDCMP capable devices KDP, DUP and DMC/DMR have access to packet corruption generation to simulate real world imperfect data lines for protocol testing.
2014-02-10 17:22:19 -08:00
Mark Pizzolato
1a7f8d4df0 VAX,PDP11,PDP10: Added explicit support to enable (or disable) DMR Micro Diagnostics which corresponds to the SW10 hardware switch.
Also, always process initialization commands without regard to whether the DMC/DMR line is attached and return diag error status if the line isn't attached.
2014-02-07 09:01:22 -08:00
Mark Pizzolato
ffda4c1c41 VAX,PDP11: Fix behavior of simulator when multiple DMC devices are in use concurrently. Fix for issue #51.
The interrupt acknowledgment logic for the transmit interrupt inadvertently cleared the device interrupt pending flag even when other devices potentially had pending interrupts.

Added line specific indications in the debug output for packet trace debugging.
2014-02-05 08:20:43 -08:00
Mark Pizzolato
8cc3791e2a PDP11/VAX: Improved debug information to identify the distinct DMC line when multiple lines are in use and added detailed debug output for DDCMP state machine changes. 2014-02-04 14:45:05 -08:00
Mark Pizzolato
9ab6c4d1c1 SOCKET: Extended TMXR packet capabilities to disable the Nagle algorithm when TCP packets transports are used. 2014-01-23 09:31:05 -08:00
Mark Pizzolato
0e753b7c45 Compiler indicated cleanups 2014-01-06 13:14:16 -08:00
Mark Pizzolato
55c5d20517 PDP10,PDP11,VAX: Addition of inter operable DUP11, DMC11 and KDP11 devices
This is the results of external KDP development activities.  The KDP side done by Timothe Litt and DMC and DUP by Mark Pizzolato

Additionally, other PDP10 updates from Timothe Litt
2013-11-25 07:00:17 -08:00
Mark Pizzolato
651780c481 Remove stray tab characters which crept in over time 2013-06-03 06:29:01 -07:00
Mark Pizzolato
a28d5d7737 Cleaned up the formatting of the pdp11_dmc help output as suggested by Jacob Goense 2013-03-21 09:49:50 -07:00
Mark Pizzolato
28f645aeab Compiler suggested cleanups 2013-03-13 22:28:14 -07:00
Mark Pizzolato
63d0cdbd38 Display something descriptive when a peer hasn't been specified yet. 2013-02-05 11:44:55 -08:00
Mark Pizzolato
c53cbd68eb Removed 8 bit characters from pdp11_dmc help text 2013-02-04 18:22:00 -08:00
Mark Pizzolato
55693fb9b3 Added missing MOD_VALR flag on some recently revised MTAB entries 2013-02-02 17:27:22 -08:00
Mark Pizzolato
28b90552b7 Revised all VAX simulator devices to have proper help information defined to make "HELP dev SHOW" and "HELP dev SET" most useful. 2013-02-02 16:29:38 -08:00