Commit graph

82 commits

Author SHA1 Message Date
Mark Pizzolato
919f8b78bc PDP11, Unibus and Qbus VAX: Properly restore DZ device serial settings 2022-02-04 07:54:28 -08:00
Mark Pizzolato
fda5e07906 PDP11, Qbus and Unibus VAX: Add debug support for DZ and VH line config changes 2022-02-04 07:38:51 -08:00
Mark Pizzolato
0bc77c4d90 PDP11, VAX: Add or correct help output for some SET commands
As discussed in #1077
2021-09-10 11:38:37 -07:00
Mark Pizzolato
9166219476 PDP11: Cleanup potential compiler warnings 2021-08-13 09:11:42 -07:00
Mark Pizzolato
09d6a7919c PDP11, Unibus & Qbus VAX: Properly clear CSR TRDY until transmit completes
As reported in #782
2020-02-11 18:48:44 -08:00
Mark Pizzolato
750b8f40cb PDP11, Unibus & Qbus VAX: Properly manage CSR TRDY bit status changes
As reported in #782
2020-02-10 12:00:48 -08:00
Mark Pizzolato
8e44ddec6f PDP11, Unibus & Qbus VAX: Fix DZ Device transmit interrupt line signaling
As reported in #782
2020-02-09 07:15:28 -08:00
Mark Pizzolato
236716845a PDP11, VAX: Only generate DZ output complete interrupt each line once
As reported in #782
2019-12-29 12:45:27 -08:00
Mark Pizzolato
8b1a2ba759 PDP11, VAX: Leverage tmxr_txdone_ln() API to get best timing with multiple lines
Potentially affecting #587 #588
2018-07-12 10:16:39 -07:00
Mark Pizzolato
c73f56cc5a PDP11, VAX: Add descriptive unit names to DZ, RQ, TQ, XQ and XU devices
Some devices have dedicated units that perform various independent
functions (often timing) that are independent of the primary device unit
which is ATTACHed.  This services to help interpret debug information
that may be produced.
2018-06-23 10:34:09 -07:00
Mark Pizzolato
90327012a9 PDP11, VAX: Fix broken build due to typo for routine name 2018-06-20 21:32:08 -07:00
Mark Pizzolato
e533aa2d5e PDP11, VAX: Make sure DZ transmit continues when multiple lines are active 2018-06-20 21:21:16 -07:00
Mark Pizzolato
0a7c9de1e1 TMXR: Change rx and tx delta values to be usecs including the speed factor 2018-06-13 04:51:34 -07:00
Mark Pizzolato
d356274d38 PDP10: Fix build warning when compiling DZ module 2018-04-10 10:24:49 -07:00
Mark Pizzolato
cc7721b96e PDP11: Allow DZ devices Unibus and Qbus to have correct number of lines 2018-04-09 18:05:53 -07:00
Mark Pizzolato
f5ca960b82 TMXR: Disable ATTACH speed for devices which program port speed 2018-03-13 02:14:06 -07:00
Mark Pizzolato
55e211dd3d PDP11, DZ: Properly set CSR bits character output processing.
Declare output unit to facilitate proper character output completion
scheduling.
Proper completion scheduling removes the need to sleeping waiting for
character I/O completion.
This should fix #521 and #504
2018-02-13 01:52:10 -08:00
Matt Burke
4b41b3372f All VAX, PDP11, PDP10: Minor fixes to DZ device 2017-04-26 15:34:01 -07:00
Sergey Svishchev
2bf538f59c PDP11, All VAX: fix CID: 1415573, 1415452 "Operands don't affect result"
Character length of 5 is stored as 0.
2017-03-09 18:33:40 -08:00
Mark Pizzolato
7d432406b6 PDP11, PDP10, all VAX: General extern cleanup.
Remove explicit redundant extern declarations in source files that are
defined in processor include files.
2017-02-04 19:37:20 -08:00
Mark Pizzolato
01e114c37f PDP11, All VAX: Fix SET ADDRESS alignment value to 010 from 020 2017-01-03 14:46:42 -08:00
Mark Pizzolato
e52ac6d57f SCP: Add help for NOEXPECT and spelling cleanups 2016-12-29 13:52:06 -08: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
619e33466b PDP11, VAX: Move DZ input character silo into device to properly rate limit received data
Previously, the input silo was modeled by using the pending input data in
the TMXR line buffer.  This was fine when bps rate limiting wasn't happening.
In order to properly pace arriving data from multiple lines the silo is now
implemented in a way which more precisely reflects the original hardware.
2015-12-19 11:42:26 -08:00
Mark Pizzolato
109c197faa PDP11, VAX: Remove visibility of internal DZ unit structure. 2015-12-08 03:43:37 -08:00
Mark Pizzolato
d370cb1400 PDP11, VAX: Add reasonable output character delay before DZ interrupt generation. 2015-12-07 18:49:45 -08:00
Mark Pizzolato
88dde792b7 PDP11, VAX: Add device debug help information descriptions 2015-12-06 18:01:20 -08:00
Mark Pizzolato
fc001cad1f VAX, PDP11: Fix DZ device to also regulate input speeds when data is arriving on multiple lines. 2015-11-29 08:28:15 -08:00
Mark Pizzolato
0938d31e59 PDP11, VAX: MUX input rate limiting works correctly with input arriving on multiple lines concurrently. 2015-11-28 12:49:54 -08:00
Mark Pizzolato
62e36241a4 PDP11, VAX: Support multiplexer input speeds greater than 9600bps for console, DZ, VH, DL and DC devices
Each of the speeds greater than 9600bps deliver a character in less than
1ms.  Computing inter-character delays in microseconds therefore can't
be precise enough to be well behaved.  Measuring the inter-character
delays in instructions (scalled by the calibrated clock) gets us the needed
precision.
2015-11-25 04:25:21 -08:00
Mark Pizzolato
972b3fccbb PDP11, VAX: Fix DZ and VH devices to have input rate limiting align with the programmed port speed. 2015-11-23 07:21:32 -08:00
Mark Pizzolato
833ba71c3b PDP11, VAX: Enhance VH, DZ, DL and DCI devices to provide input rate limiting. Fix #246
Data arriving on simulated serial ports can arrive faster than the OS running
on the simulated system can deliber it to user mode programs.  This happens
when chunks of data are delivered to the mux from a network connection.
This can be due to a file transfer program (kermit) running on the other end
of a network connection and the packet size being delivered exceeds the
simulated OS's type ahead buffer size OR from users who paste arbitrary
blocks of data into a telnet or console session.
2015-11-19 08:56:06 -08:00
Mark Pizzolato
ef9d1adce1 PDP10, PDP11, VAX: const cleanup 2015-02-13 06:18:24 -08: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
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
Timothe Litt
91c7d26095 SHOW IOSPACE, again
Show IOSPACE doesn't always get the number of devices right due to device creativity.

o The distinction between UNIT and DEVICE has blurred
o MUX devices merge several physical devices into one device/unit
o Dynamic device sizing has made things more volatile.

This edit solves the problem for SHOW IOSPACE by adding an (optional) word to the DIBs.
The word contains the amount of IO space consumed by each instance of the physical device that's being emulated.
E.G., if it's a DZ11, the device is the DZ11 module, or 8 lines, even though the MUX device may support 32.

This enables SHOW IOSPACE to determine the number of physical devices being emulated, which is what folks need when configuring software.  The word may have other uses - in a generic dynamic device sizing routine - which is why the amount of IOSPACE per device was chosen rather than the 'number of physical devices.'

The edit should not make any existing device regress.  If the new word (ulnt) is zero (not initialized), SHOW IOSPACE will default to the number of units in the device, or if there's no device (CPUs), 1 as before.  If it is present, the number of devices is the calculated as total allocation/allocation-per-device.

The edit updates all the devices that seem to require this treatment, and all the processors that define the UNIBUS/QBUS DIBs.
2013-07-11 15:39:15 -04:00
Mark Pizzolato
651780c481 Remove stray tab characters which crept in over time 2013-06-03 06:29:01 -07:00
Mark Pizzolato
e82507d9c8 Fixed DZ bug which referenced the wrong dz device when the number of DZ multiplexers configured was not a power of 2 (i.e.3, 5, 7, etc.) 2013-05-16 10:18:07 -07:00
Mark Pizzolato
9faef6ea89 Added separate debugging ability to trace line connect/disconnect activities to better debug virtual null modem cable activities. 2013-05-06 07:50:09 -07:00
Mark Pizzolato
ba87329baa Fix to properly manage modem DCD and RNG state. 2013-04-17 09:32:48 -07:00
Mark Pizzolato
0f078e9168 Added register field decoding to the debug register trace output 2013-04-17 06:17:55 -07:00
Mark Pizzolato
8e858341f6 Complete returning the DZ modem status information as identified in issue #22 and return RI if DTR is not set, and DCD if it is. This solves the modem behavior issue #24 as well. 2013-04-16 11:03:16 -07:00
Mark Pizzolato
814960e253 Properly restore DZ Modem Control state during a simulator RESTORE. 2013-04-16 09:11:24 -07:00
Mark Pizzolato
93c9f35948 Restore DZ modem control state to default on device detach. Properly clear modem bits when modem control enabled. Better display of modem control status. 2013-04-16 05:33:29 -07:00
Mark Pizzolato
610ecaaa93 Adding mode device help 2013-02-05 06:49:39 -08:00
Mark Pizzolato
ef13fdd0dc Fixed to once again display the DZ vector 2013-02-05 04:40:41 -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
Mark Pizzolato
cbe11147fc Created a way for devices to have a description presentation routine and if it is supplied for its output to be visible with a SHOW SYSTEM command. Provided device description routines for devices used in the VAX simulators 2013-01-25 12:04:25 -08:00
Mark Pizzolato
bf7375354c Fixed compiler warnings 2013-01-24 13:31:34 -08:00
Mark Pizzolato
29cf2a45a8 Added support for register display with bit field definitions decoded 2013-01-24 05:52:50 -08:00