Commit graph

492 commits

Author SHA1 Message Date
Mark Pizzolato
c7abd314d9 VAX780, PDP11 (all Unibus systems): Fix VH DHU11 device output activity
- Implement a per line transmit FIFO to properly reflect the DHU real hardware
- Output is rate limited based on the programmed port speeds
- Properly abort programmed output

As reported and discussed in #600 and #588
2018-08-02 12:53:26 -07:00
Lars Brinkhoff
d01cd826b3 PDP11: Allow setting core size to 8K, 24K, 40K, and 56K. 2018-07-28 20:47:09 -07:00
Mark Pizzolato
52e8c7f6f8 UC15: Fix shared memory segment size parameter 2018-07-21 02:22:26 -07:00
Mark Pizzolato
a541aa2c46 PDP11, VAX: Add proper pointer in XQ Help info for Throttling 2018-07-21 02:21:43 -07: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
44bfd68a45 PDP11, VAX: Fix DMA output timing to properly track programmed speeds
Always start DMA activity when TBUFAD2 is written, either FAST (vh_wait/10)
or slow vh_wait.

Possibly related to #578 and #588 issues
2018-07-07 22:06:52 -07:00
Mark Pizzolato
0bc5302513 PDP11: Add debug support to track CLK device activity 2018-07-05 05:20:20 -07:00
Mark Pizzolato
8c0439feaa PDP11, VAX: Fix RQ and TQ Get Unit Status to properly report no more units
As reported in #592
2018-06-24 03:21:22 -07:00
Mark Pizzolato
aea7f208cf PDP11, VAX: Rework VH transmit start and completion timing
Programmed and DMA I/O now presents data into the line output queue and
schedules all refill and/or I/O completion in the unit service routine.
2018-06-23 11:37:01 -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
91bd90c368 PDP11, VAX: Change VH programmed I/O to consistently complete after delay
previously, programmed I/O was initiated and completed as the time it was
initiated.  Now that output is rate limited to the port selected speeds the
output buffer can fill and I/O be dropped when the buffer was full.  Now all
output is setup in the register write path and completed in the unit service
path.  A separate transmit service unit now performs all transmit I/O
completion activity.
2018-06-21 08:42:05 -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
7cd9b89546 PDP11, VAX: Fix VH output rate throttling as buffer fills
As reported in #588
2018-06-14 00:31:01 -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
6b361a9faf PDP11, PDP15, UC15: Merge simh v3.10 functionality from Supnik-Current branch 2018-06-04 10:43:00 -07:00
Mark Pizzolato
cc6140fd31 I1401, VAX, PDP11: Fix nested comments consistently with Supnik-Current branch 2018-06-03 20:59:36 -07:00
Mark Pizzolato
a3c40cd290 PDP11, Qbus VAX: Avoid incorrect packet length when multiple RBDLs are used
As discussed in #563
2018-05-15 22:03:12 -07:00
Mark Pizzolato
54f46651fe PDP11, VAX: Fix Coverity identified debug path null pointer dereference 2018-04-17 23:52:28 -07:00
Mark Pizzolato
1741ae29fa PDP11, VAX: Add MSCP Media ID encoding/decoding details (Johnny Billquist) 2018-04-12 14:02:27 -07:00
Mark Pizzolato
5a9263c0cf PDP11, VAX: Add settable unit numbers for TQ drives 2018-04-12 13:15:48 -07:00
Mark Pizzolato
5a18d31449 PDP11, VAX: Add settable unit numbers for RQ drives 2018-04-11 03:12:12 -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
e7e1a9cc2c VAX750: Avoid unit array overrun during TU58 init when only 1 unit exists.
As discussed in #546
2018-04-02 09:38:27 -07:00
Mark Pizzolato
f5ca960b82 TMXR: Disable ATTACH speed for devices which program port speed 2018-03-13 02:14:06 -07:00
Bob Supnik
e270da1530 GRI, PDP11, PDP8, VAX: Misc formatting and typo cleanups 2018-03-09 14:04:19 -08:00
Phil Budne
b11fbf6cd4 DISPLAY: Update display code to support DEC Type 340, and 36 switches
Only interface code to Type 340 is for Richard Cornwell's KA10
(but could be used on PDP-1/4/7/9 as well)
2018-02-17 14:37:10 -05: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
Mark Pizzolato
17e72adb93 SCP: Display HELP <dev> SET help text for modifiers that require values 2018-02-02 05:12:22 -08:00
Bob Supnik
c6fb3285a5 PDP11, VAX780: Fix TM03 Read tape mark must set Massbus EXC 2017-12-28 16:14:24 -08:00
Mark Pizzolato
8e5025fdcf VAX, MicroVAX2: Fix compiler warning with GCC & clang 2017-12-18 15:29:15 -08:00
Mark Pizzolato
bdddcb4004 VAX, MicroVAX2: Add display of ROM and NVR address ranges 2017-12-18 05:10:27 -08:00
Bob Supnik
3b67a8658d PDP11, All VAX: Change ERROR in CR device translation tables to avoid conflicts 2017-06-04 09:56:22 -07:00
Mark Pizzolato
47c917a55d PDP11, VAX: Fix stray TABs which crept in over time 2017-04-26 15:42:36 -07:00
Matt Burke
4b41b3372f All VAX, PDP11, PDP10: Minor fixes to DZ device 2017-04-26 15:34:01 -07:00
Mark Pizzolato
1a8bc50130 PDP11, Qbus VAX: Add delay when starting XQ device in DELQA-T mode 2017-04-24 13:25:10 -07:00
Mark Pizzolato
c4931bbd30 PDP11: Fix error path check on disk I/O status 2017-04-13 21:55:40 -07:00
Mark Pizzolato
8c5305c857 PDP11: Fix rounding up sector count computation
Fix #412, #424
2017-04-13 20:42:47 -07:00
Mark Pizzolato
cd8e9eb5da PDP11: Properly handle reads of less than 1 sector
Fix #412, #424
2017-04-13 18:20:01 -07:00
Mark Pizzolato
c638950211 PDP11: Properly handle reads of less than 1 sector
Fix #412, #424
2017-03-26 06:52:21 -07:00
Bob Supnik
3eb4598456 SCP: Removed KBD_WAIT and friends 2017-03-20 22:33:38 -07:00
Bob Supnik
62879beb70 PDP1, PDP8, PDP18B, PDP11: Fixed dt_seterr to clear successor states
For the PDP11, this includes deferring the setting of DONE on an error, allowing RSTS V4 to work correctly.

There was a minor (possibly only theoretical) bug in dt_seterr as well.
dt_seterr is supposed to stop the drive. If the drive is accelerating, at
speed, or stopped, it works fine. But if the drive is decelerating, it did
not clear out the "successor" states. In theory, the drive could be in the
middle of reversing - that is, there are successor states of accelerating
(in reverse) and at speed. So the successor states need to be cleared,
or the drive won't actually stop.

The fifth DECtape controller (the PDP8's TD8E) is much simpler and
doesn't have the problem.
2017-03-15 10:04:52 -07:00
Bob Supnik
e7a38cc56f PDP11: Fixed spurious interrupt when setting GO
The code wasn't handling interrupts correctly when TCCM was written. In
particular, if the GO bit clears DONE, the code looked for the "SET IE" case
too soon and didn't clear the interrupt that was incorrectly generated.
The new code factors "GO" into the calculation.
2017-03-14 09:59:14 -07:00
Bob Supnik
d1768d2771 PDP10, PDP11, PDP18B, PDP8: Annotate switch case fall through (COVERITY) 2017-03-13 10:59:06 -07:00
Mark Pizzolato
4da04e06ce PDP11, VAX: Fix RQ device potential memory reference errors (COVERITY) 2017-03-12 19:41:23 -07:00
Mark Pizzolato
14b9265af3 PDP11, VAX: Cleaned MSCP/TMSCP packet queues to be uint16 2017-03-12 19:06:46 -07:00
Mark Pizzolato
aa0924816a PDP11, VAX: Fix RQ device Endian compatibility problem (COVERITY) 2017-03-11 22:24:41 -08:00
Mark Pizzolato
c4e963921b PDP11, VAX: Fix TQ device Endian compatibility problem (COVERITY) 2017-03-11 22:23:38 -08:00
Mark Pizzolato
c6ed19aec3 PDP11, VAX780: XU device fixes (COVERITY)
- Fix potential beyond array bounds memory references
- Fix layout of Read System Id Parameter block (diagnostics)
2017-03-11 16:04:56 -08:00