1
0
mirror of https://github.com/simh/simh.git synced 2026-01-13 15:27:14 +00:00

722 Commits

Author SHA1 Message Date
Mark Pizzolato
9b0413045a DISK: Provide disk Geometry (Cylinders, Heads, Sectors) for all disk types
- Display Media-ID and Geometry info for all SHOW <unit> output when attached
- Use real drive Geometry info for all disk types
- Fix RA80 cylinders copied from RM80
- Fix RZ23 cylinders to reflect disk size
- Return correct cylinder info on MSCP error path
2023-09-09 13:02:45 -10:00
Mark Pizzolato
949b56b7a9 Qbus & Unibus VAX & PDP11: Correct controller type KLESI (RC25) to 3, add KDB50 2023-07-20 14:47:25 -10:00
Mark Pizzolato
c739e6195a Qbus VAX and PDP11's: Correct RQ controller model numbers RQDX1 and RUX50 2023-07-09 12:40:46 -10:00
Mark Pizzolato
05e3b20009 Qbus VAX and PDP11's: Add specific support for RQDX1 MSCP controller
- Change default RQ controller type for MicroVAX I simulator to RQDX1
- Validate changes to controller to CPU system bus
2023-07-09 12:19:17 -10:00
Mark Pizzolato
6491cf0371 BuildROMs: Make sure that multiple ROM includes are each numbered _n
The first ROM included will be defined with names:
        BOOT_CODE_SIZE
        BOOT_CODE_CHECKSUM
        BOOT_CODE_FILENAME
        BOOT_CODE_FILEPATH
        BOOT_CODE_ARRAY
 and BOOT_CODE_URL
That first ROM will also have names:
        BOOT_CODE_SIZE_1
        BOOT_CODE_CHECKSUM_1
        BOOT_CODE_FILENAME_1
        BOOT_CODE_FILEPATH_1
        BOOT_CODE_ARRAY_1
 and BOOT_CODE_URL_1
Subsequent included ROM's will have names
        BOOT_CODE_SIZE_n
        BOOT_CODE_CHECKSUM_n
        BOOT_CODE_FILENAME_n
        BOOT_CODE_FILEPATH_n
        BOOT_CODE_ARRAY_n
 and BOOT_CODE_URL_n
where n is 2 thru the max number of supported ROM includes.
2023-07-02 10:52:34 -10:00
Mark Pizzolato
f9a4b8c6b9 PDP11: Properly define the RC and RF devices to allow for varying platters
Leverage drive type flag DETAUTO which defers meta data addition to
happen at detach time.  This allows pre-existing containers to be attached
to larger drives (with more platters) with autosize disabled and then if
autosizing is subsequently enabled before detaching, will thus add correct
meta data when the unit is detached.

Newly created containers will have meta data added at creation time and
updated to reflect data written beyond the original data in the container.
2023-06-29 14:13:16 -10:00
Mark Pizzolato
1e1b97475b PDP11: RK, RX, RY and TD disks let detach_unit handle detaching disks 2023-06-27 11:43:04 -10:00
Mark Pizzolato
dfbd099677 BUILDROMS: Reorganize defines so multiple ROM includes have consistent names 2023-06-17 18:25:51 -10:00
Bob Supnik
c65f0ee485 PDP11: Fix bug in FIS dirty zero check 2023-06-08 01:30:24 -10:00
Mark Pizzolato
2e7a109bb8 PDP11 and Unibus VAXen: Make CH device local variables static
This avoids potential namespace collisions that can interact with libedit
and ncurses on some platforms.
2023-06-08 01:30:24 -10:00
Mark Pizzolato
972cd95914 PDP11: Add extra RPB device as an additional Massbus device
Note: To avoid potential breakage of existing PDP11 configurations in
       the wild, which may expect RP on RHA, TU on RHB and RS on RHC,
       RPB is connected to RHD Massbus adapter.

- More robust recovery when Massbus configuration errors occur
- More complete RH{A,B,C,D} help
2023-05-22 11:36:52 -10:00
Peter Allan
ef0f49204e VAX780: Add an additional Massbus to support RPB 2023-05-22 10:37:26 -10:00
Mark Pizzolato
bdb021e6ac Massbus VAXen and PDP11: Cleanup RP device to allow simple replication
Peter Allan analyzed the source code for the VAX780 simulator and
came up with a somewhat simple strategy to replicate the RP device
source code and to add another controller on an additional Massbus.

That initial strategy includes: Copying the pdp11_rp.c source module to
pdp11_rpb.c and making almost all global variables static as well as all
internal functions used in the RP device. All but the "DEVICE rp_dev",
that is, which now becomes "DEVICE rpb_dev" with a name of "RPB".

The change process was relatively simple although somewhat tedious and
wouldn't easily lend itself to manage future changes that might happen to
pdp11_rp.c.

The changes in this commit cleanup pdp11_rp.c so that changing it to
pdp11_rpb.c only need to affect 3 lines of code which will simplify
future maintenance of these modules.
2023-05-22 10:10:58 -10:00
Mark Pizzolato
d57c67c4f5 PDP11: Change Interrupt names from RP, TU and RS to RHA, RHB and RHC
Interrupts come through the respective Massbus adapters.  This is
consistent with the interrupt naming in the VAX Massbus adapters.
2023-05-19 17:14:58 -10:00
Mark Pizzolato
aa39867349 PDP11, VAX: Remove irrelevant #ifdefs in XQ and XU devices 2023-05-19 16:58:13 -10:00
Lars Brinkhoff
d573965024 VAX: M7452 Unibus window module for VAXstation 100. 2023-05-09 07:07:39 -10:00
Mark Pizzolato
ed5e47ab73 ETHER: Enhance version info and location of Npcap 2023-04-26 10:00:46 -10:00
Paul Koning
11b57201ad PDP11: Support byte write access to DHCSR.
This fixes issue #201, using a fix proposed bu Bjoren Davis.
2023-04-02 12:53:33 -10:00
Mark Pizzolato
829d696c5e Various Simulators: Changed line endings on accessory text files to CRLF
In following simh project standards
2023-03-10 15:32:06 -10:00
Mark Pizzolato
8538161757 PDP11: Remove stray tab characters in DZ, MB & TV 2023-03-04 14:26:04 -10:00
Tony Lawrence
154d83e663 PDP11: Add definitions for unimplemented registers and fixed debug data write 2023-01-21 09:37:14 -10:00
Mark Pizzolato
1baed4f7d4 PDP11: Properly set DC, DL and DLCJ unit relationships to TMXR structures
Fix problem reported on DC device by Alan Kirby
2023-01-18 01:54:37 -10:00
Bob Supnik
9319f6027e PDP11: Fix EXAMINE and DEPOSIT of floating point 2 argument instructions
In https:://github.com/open-simh/simh PR number 154 nickd4 that 2 argument
floating point instructions were displayed with the wrong argument order.

This change fixes BOTH the instruction display and the input activities for
these floating point instructions.
2022-12-31 09:07:40 -10:00
Bob Supnik
7e39e112da PDP11: Fix bug in FUIV operation
Problem reported by James Fehlinger
2022-12-11 09:45:12 -10:00
Walter Mueller
e46fc5cc56 PDP11: Fixing details in processor specific register behaviors, traps & aborts 2022-12-06 11:08:47 -10:00
Tony Lawrence
ff2d849460 PDP11: Fix RK11/RL11 byte/word count mismatch (and cyl upd in RK11) 2022-12-01 21:33:26 -05:00
Tony Lawrence
dc3cd257f8 PDP11: More correction in RK help text (per Paul Koning) 2022-11-17 21:06:39 -05:00
Tony Lawrence
b2fe75198b PDP11: Correct wording for RK MTAB entries and help text 2022-11-17 17:18:46 -05:00
Mark Pizzolato
4be421e08f BUILDROMS: Fix potential compiler warnings and prep for URL ROM downloads 2022-11-11 13:31:31 -10:00
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