1
0
mirror of https://github.com/simh/simh.git synced 2026-01-11 23:52:58 +00:00

693 Commits

Author SHA1 Message Date
Lars Brinkhoff
ab096a8f7e PDP11: Enforce limit on number of displays in TV device. 2022-11-02 14:05:31 +01:00
Lars Brinkhoff
04f6217c22 PDP11: Remove fprintf debug statement. 2022-10-30 19:34:42 +01:00
Lars Brinkhoff
e37205d8d7 PDP11: Fix TVSEL register.
It's sometimes used as a 16-bit register.
2022-10-31 11:01:00 -10:00
Lars Brinkhoff
da5e7f4769 PDP11: Improve idling. 2022-10-26 12:59:49 +02:00
Lars Brinkhoff
64a9c021f3 PDP11: Add MB11. 2022-10-10 12:32:28 +02:00
Lars Brinkhoff
a43b39acf7 PDP11: Add Logo TV raster display. 2019-09-27 12:00:58 +02:00
Lars Brinkhoff
35678bafd5 Bug fixes for various video code. (#80)
* VIDEO: Fix bug: vid_ready can be used uninitialized.

* VIDEO: Not all events come with a valid windowID.

* PDP11: Fix NG SET TYPE.

The sense of MATCH_CMD is reversed.

* display: Fix bug in NG display controller.

There should be a separate state for each of the eight displays.

* display: Symbolic constant for number of displays.
2022-10-23 10:42:00 -05:00
Lars Brinkhoff
06cae15d92 PDP11: DH11 device. 2022-10-15 17:53:47 +02:00
Lars Brinkhoff
c9216c789c PDP11: Add option for 216K memory.
The Small ITS timesharing system prefers this amount.
2022-10-12 10:10:41 +02:00
Paul Koning
4bbcdb5618 PDP11: Fix PC breakpoint check
Don't modify the CPU state when checking for physical address match on
PC address breakpoints.  Reported and verified by Lars.
2022-10-10 13:38:09 -04:00
Mark Pizzolato
0de0359ad0 PDP11 and All VAXen: Support dynamic fetching of ROM or other boot code
Simulators built with DONT_USE_INTERNAL_ROM defined will not have hte
binary of the needed ROM or boot components build into the simulator
binaries.  However, they will automatically and transparently fetch the
neeeded ROM or boot code from the web when these binary files aren't
available locally.
2022-10-19 15:06:55 -10:00
Mark Pizzolato
827ef03aeb BuildROMs: Move ROM exclusion logic into ROM include files
- Plan is to avoid "#ifdef DONT_USE_INTERNAL_ROM" in simulator code
  and handle builtin or external files in SCP facilities
- Export ROM checksum value and source file path to allow for transparent
  dynamic ROM location at run time.
2022-10-19 13:14:49 -10:00
Mark Pizzolato
0981556639 PDP11, Qbus & Unibus VAX: Use proper REG macros for arrays and structures
Registers in the DMC, RQ and TQ devices were improperly described
2022-09-21 08:46:23 -07:00
Bob Supnik
72f75ec1b5 PDP11: CPU MMR1 and FP changes
There are a lot of niggling fixes, mostly for incompatibility issues
found by Walter Mueller. Working out the 11/70 behavior is still not
fully done, but it's a lot better than it was, and it passes more of the
11/70 MMU diagnostic.

- Floating point. Now model sensitive in treating MMR1, for 2.11 BSD.
- MMR1 now tracks PC changes on 11/44, 11/45, 11/70, and J11 -(PC) and @-(PC).
- MMR1 is cleared at start of trap sequence on 11/45, 11/70.
- Red stack abort occurs before memory writes on 11/45, 11/70 (no other model has them).
2022-09-09 19:27:37 -07:00
Bob Supnik
7fcaa7cf02 PDP11: Remove OPT_RH11 as a CPU option
There are 3 variations of RH11:
- 11/70 Massbus adapter AKA RH70.
- All other PDP11 systems had a Massbus adapter known as the RH11.
- Qbus PDP11 systems had a Massbus adapter known as a RH70 emulator.
2022-09-09 19:26:36 -07:00
Trevor Warwick
16943b4582 QBus VAX and PDP11: Add support for HDLC framing to DUP11/DPV11
This commit extends the existing DUP11/DPV11 support to add support for HDLC framing. There
is no requirement to support bit/byte stuffing, so the aim is simply to encapsulate/decapsulate
the datalink frame provided by the host driver.

DDCMP has been regression tested on VMS, RSX and TOPS20, and the HDLC mode was developed
and tested with VAX/VMS DECnet Phase V, only using the HDLC datalink implementation.

In theory this support is sufficient to allow Phase IV/V P.S.I and even VMS/SNA to be used,
but these remain to be demonstrated.
2022-08-04 16:32:28 -07:00
Mark Pizzolato
107813b11b SCP: Change sim_abort to SIM_SCP_ABORT macro.
SIM_SCP_ABORT is ONLY for use in scp support libraries
2022-07-30 11:18:08 -10:00
Mark Pizzolato
de84896469 PDP11: Update help for DLCJI device to include DLV11-E/DLV11-F on Qbus 2022-07-30 11:01:09 -10:00
Louis Chrétien
8862263d7c PDP11: Fix auto configure table to properly list the last 4 fixed DL addresses 2022-07-30 10:59:42 -10:00
Mark Pizzolato
fd5fdcfaa6 PDP11 and VAXen: Remove unneeded management of NOAUTOSIZE from device code 2022-07-28 14:48:44 -07:00
Mark Pizzolato
67c8534055 PDP11: Add missing descriptive info for various device SHOW commands 2022-07-26 18:42:58 -07:00
Mark Pizzolato
6fe6b38228 PDP11: Add new device to support DL11-C/DL11-D/DL11-E/DLV11-J
These devices could coexist with KL11/DL11-A/DL11-B/DL11-E/DL11-F but sit
at different bus address locations.
2022-07-26 18:41:48 -07:00
Mark Pizzolato
b56b0ed98f PDP11: Report detected address/vector conflict information
Massbus devices are not Qbus or Unibus (RP, TU, RS), so don't disable
them on change of CPU type.
2022-07-26 11:44:54 -07:00
Louis Chrétien
f540804067 PDP11: Cleanup help language in TC and DAZ devices 2022-07-26 07:30:55 -10:00
Mark Pizzolato
c87af24510 PDP11: Clarify Massbus adapter names based on processor and bus type
- Add register descriptions to REGister declarations
- Fix INT REGister for RHC to properly point at RS
2022-07-26 07:27:32 -10:00
John Dundas
5cdcd2ad3b PDP11, VAXen: Fix to VH device to properly reference the line number
Correct RBUF_GETLINE & RBUF_PUTLINE: these are both sensitive to
modeling DHU vs. DHV; the correct bit mask was not generated for DHU.
Make certain the device presents 16 lines when modeling a DHU.
2022-07-24 13:59:23 -10:00
Mark Pizzolato
0e79fbcc70 All simulator DEVICES using VIDEO: Set DEV_DISPLAY in the DEVICE flags 2022-07-24 11:37:39 -10:00
Mark Pizzolato
69a92622be PDP11: Properly validate the number of VH lines after a bus type change
If the number of lines on a Qbus system has previously been changed
to an odd multiple of and then the bus type changed to Unibus, we
to change the number of lines to a multiple of 16 for the DHU.
2022-07-19 05:18:37 -10:00
Mark Pizzolato
bc98e1c609 SCP: Be sure to flush output files when aborting.
Emit a last gasp message prior to flushing files before aborting.
2022-07-17 13:01:25 -10:00
Mark Pizzolato
505b5fde78 PDP11 and VAXen: Add supported breakpoint type to help information 2022-07-11 23:57:22 -07:00
Mark Pizzolato
8612ec38ae PDP11, VAXen: Avoid potential for incorrect unit names on VH device 2022-07-06 06:52:47 -10:00
Mark Pizzolato
580cc8f176 PDP11: Add help description for DLI LINES and DISCONNECT 2022-06-29 07:42:34 -10:00
Mark Pizzolato
38b3aff4ca PDP11 & Unibus VAXen: Properly size RY Drives and no DEC144 2022-06-19 19:21:13 -07:00
Mark Pizzolato
ec117739b7 PDP11, Unibus & Qbus VAXen: Properly set RQ device unit names in extended units 2022-06-19 19:15:32 -07:00
Bob Supnik
d35f4d9695 All LP and CD devices: Removed use of ftell for pipe compatibility
Merge changes from v3.12-2
2022-06-16 16:13:46 -07:00
Bob Supnik
1182157a4d All Tape DEVICES: Added extra case points for new MTSE definitions
Merge changes from v3.12-2
2022-06-16 16:13:46 -07:00
Mark Pizzolato
12e51eafaf PDP11, PDP10, 3B2, All VAXen: Leverage extended disk support for all disks
Disk container metadata is fully supported and, when possible, containers
can be moved between "reasonable" alternate DEVICEs and systems.
2022-06-15 15:51:19 -07:00
Mark Pizzolato
a9ce7b3b11 PDP11 and VAXen: Fix transfer buffer unintended deallocation on RQ detach
As reported in https://github.com/open-simh/simh/issues/12
2022-06-15 15:51:19 -07:00
Mark Pizzolato
31e7a7f3e0 PDP11 & Unibus/Qbus VAXen: Detect devices missing addresses before boot
If autoconfigure is disabled, either explicitly or implicitly by manual
setting of an ADDRESS or VECTOR, detect devices which don't have
addresses before boot.
2022-06-15 15:51:18 -07:00
Mark Pizzolato
d6ebe32b30 PDP11 & Unibus/Qbus VAXen: Document autoconfigure disabling
Historically, if a configuration file explicitly set either a DEVICE's
ADDRESS or VECTOR, autoconfiguration was immediately disabled.

This change defers disabling autoconfigure until an explicitly setting
of a DEVICE address or VECTOR actually changes what had been previously
configured by autoconfigure.
2022-06-15 15:51:18 -07:00
Trevor Warwick
4e60e4a367 QBus VAX and PDP11: Add support for DPV11 in DDCMP mode
This commit extends the existing DUP11 support to add simulation for a DPV11 in DDCMP mode.

It has been tested with DECnet-VAX Phase V, which has the only host driver I know of. Note
that you may see a few CRC errors logged with high traffic levels, these are due to a couple of
bugs in the VMS driver, for which I'm looking at developing a patch.

Regression testing has been done on the DUP11 on VMS, RSX and TOPS20, which all seemed to work
as well as previously.
2022-06-14 18:32:12 +01:00
Trevor Warwick
3279577eb8 PDP11 & Unibus VAX, PDP10: Fix DUP device support for use by internal KMC for TOPS-20
This fixes a regression caused by commit 9fc72786a
2022-06-07 12:27:12 -07:00
Trevor Warwick
5e59c6049f PDP11, Qbus & Unibus VAX: Fix DUP device loopback on device reset
- When the DUP TXCSR DEVICE_RESET bit is set, which clears the MAISEL bits, any
existing tmxr loopback must also be removed.
2022-05-18 16:38:10 +01:00
Trevor Warwick
9fc72786a6 PDP11, Qbus & Unibus VAX: Extend DUP device for DECnet Phase V support
- This involves adding some trailing characters to received DDCMP frames
  to meet host driver expectations (simulation then behaves more like a
  real synchronous device). 1 SYN is enough for VMS, but RSX needs a few
  when there is no abutting frame.
- The VMS driver implements the CRC performance option in section 5.1.2
  of the DDCMP spec., and thus relies on receiving a valid character after
  the CRC on a received frame.
2022-05-16 18:18:26 +01:00
Mark Pizzolato
61877a5c77 PDP11, VAX: Add RF73 and RF35 disk type to RQ, correct various model numbers 2022-03-22 21:25:16 -07:00
Mark Pizzolato
50f80f61cf PDP11: Only compute vector ilvl when it will be used (Coverity) 2022-03-16 14:44:20 -07:00
Mark Pizzolato
d03f1b67a2 PDP11: Only compute vector ibit when it will be used (Coverity) 2022-03-15 08:19:25 -07:00
Mark Pizzolato
8c325db1ab Various Magtape Devices: Handle Coverity report of tape error status cases
Coverity flagged one magtape simulator for having fewer case breakouts
than the range of MTSE_x errors, after they were expanded for
MTSE_LEOT (listed as "V4 compatibility") and MTSE_RUNAWAY (for
Dave Bryan's implementation of erase and erase gap).

According to Dave, it turns out that MTSE_RUNAWAY can only be
returned if the magtape simulator supports and implements a density
specification and the ERASE function. The simulators Bob Supnik wrote
don't meet that criteria, so the expanded errors can't be returned.

Simply add a "default" case to the map logic returning SCPE_IERR for
unexpected cases.
2022-03-13 11:23:11 -07:00
Mark Pizzolato
5465707d77 PDP11, VAX: Fix Coverity issues in XQ and XU devices 2022-03-11 12:34:59 -08:00
Mark Pizzolato
93e86f31f0 PDP11: Fix Coverity identified issue in HELP CPU 2022-03-10 17:07:11 -08:00