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

4316 Commits

Author SHA1 Message Date
Mark Pizzolato
8809507650 doc: Update PDP11 and VAXen documents to reflect limits on # of lines 2022-07-06 15:32:30 -10: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
05d3d2c320 DISK: Allow clean container copy upon attach
- Source disk is attached read-only
- Copy reads the minimum of the source or destination container sizes
2022-07-05 16:45:05 -10:00
Bob Supnik
ffc71c5315 sigma: Fixed bugs in multi-unit operation
The problems all stem from a single root cause: when an interrupt is
requested - via any one of dozens of mechanisms (uend, normal end,
special request, error, etc), the interrupt routine must be presented
with the full device address, including the unit, which is stored in the
channel data structures. This is so that AIO (acknowledge interrupt)
can retrieve the unit number from the channel data structures and
give it back to the invoking program.

Unfortunately, service routines, error routines, etc were simply using
the base device address, which is good enough for all channel operations
EXCEPT AIO. So the four multi-unit device (RAD, DK, DP, MT) have had
changes to reconstruct the full device address, with unit number, before
any calls into the channel are made.

DP, funnily enough, required the fewest changes. Ken was exactly right
about the need to OR the unit number into dva at the start of the unit
service routine. That had to be done in a few more places where my code
was being lazy.

RAD, DK, MT required many more changes, but they were mostly mechanical.
All references to xx_dib.dva had to be examined and replaced with a full
device address. The full device address had to be reconstructed from the
UNIT pointer and the base device address, through the magic of pointer
arithmetic.

Another sore spot was HIO. HIO stops all the active unit in its tracks
and does a channel UEND on it. The calculation of the unit number in the
UEND was not correct in a few places, notably if DP did a controller reset.

Fixes for the four modules; an updated bug history; and an expanded
design document; are attached.
2022-07-03 13:56:46 -07:00
Mark Pizzolato
7b1d8fb34c README: Update to reflect current changes and Open SIMH differences 2022-07-01 09:41:00 -10:00
Mark Pizzolato
fb4c3ee653 SCP: Include unit based logical names in SHOW NAMES output 2022-07-01 09:39:52 -10:00
Mark Pizzolato
3aa8b5da91 SCP: Extend Logical Name functionality to units as well as devices
Display of devices and units prefers logical names but accepts both
2022-07-01 09:13:46 -10:00
Ken Rector
c81e6b9c3c SCP: Fix parenthesis to avoid potential compiler warnings 2022-07-01 07:23:35 -10:00
Ken Rector
1aaba87cc2 SCP: Add parenthesis to avoid potential compiler warnings 2022-07-01 07:13:22 -10:00
Ken Rector
a648b8a730 sigma: DP device fixes
- TIO status routine always returns DVS_AUTO instead of proper status.
- DP_SEEK definition is off by 1.
- reset does not properly initialize controller, seek threads.
2022-06-29 08:07:10 -10:00
Bob Supnik
a1aa65ee7c sigma: Cleanup comment 2022-06-29 08:02:59 -10:00
Mark Pizzolato
580cc8f176 PDP11: Add help description for DLI LINES and DISCONNECT 2022-06-29 07:42:34 -10:00
Mark Pizzolato
8eae7bb4a6 README: Update MacOS dependency information 2022-06-26 14:41:31 -07:00
Mark Pizzolato
4d71b42120 doc: Updated faq to remove support for Windows 9x 2022-06-26 14:40:43 -07:00
Mark Pizzolato
bc99d6d5de SCP: Updated REG manipulation APIs and REGister sanity checks for all macros
- bounds check accesses in get_rval and put_rval for circular registers
- extend unit tests for REGister sanity checks to include all macros
- add sanity checks for new REGister macros
2022-06-26 14:39:25 -07:00
J. David Bryan
72196b08bb SCP: Updated REG macros and manipulation APIs
- Rewrote get_rval, put_rval to support fields within arrays of structures
- REG "size" field now determines access size
- REG "maxval" field now determines maximum allowed value

Merge from v3.12
2022-06-24 15:39:45 -07:00
Richard Cornwell
6c919c41e1 KA10: Removed REG_UNIT. 2022-06-21 19:32:53 -04:00
Richard Cornwell
1a8029996b KA10: Removed duplicate file in Visual Studio build of KA10. 2022-06-21 13:50:46 -04:00
Richard Cornwell
eae0123879 Updated Makefile and Visual Studio project to include extra devices on KL10. 2022-06-21 09:51:19 -04:00
Richard Cornwell
5fbff11002 KA10: Updated documentation for PDP10 simulators. 2022-06-21 09:50:43 -04:00
Richard Cornwell
942e7d4bb7 KA10: Added default disable for devices that could be on KL10. 2022-06-21 09:50:05 -04:00
Richard Cornwell
68a21703b2 KA10: IMP Code support for Tenex. 2022-06-21 09:48:47 -04:00
Richard Cornwell
662a2817ab KA10: Code cleanup for Dectape device. Needed for Tenex support. 2022-06-21 09:47:52 -04:00
Richard Cornwell
54900824cd KA10: Fixed DK10 to properly interrupt. 2022-06-21 09:47:02 -04:00
Richard Cornwell
3d9f54119b KA10: Added switch for DF10 vs DF10C.
Fix bug in interrupt handling in KI when EPT not at 0.
      Fix bug with handling of CCW_COMP flag on DF10 devices.
2022-06-21 09:43:17 -04: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
Mark Pizzolato
4cf86e0e64 SCP: Add NOAUTOSIZE status to the output of SHOW VERSION 2022-06-18 16:08:40 -07:00
Mark Pizzolato
c13214a98c SCP: Avoid DEPOSIT to DEVICEs which aren't attached to a seekable file 2022-06-17 13:23:37 -07:00
Bob Supnik
77cd8d1802 SCP: Fixed bug in byte deposits if aincr > 1
The PDP11 and VAX have length switches - B, W, and (VAX) L - to
override the default parsing of numberic display or input as words
(PDP11) or longwords (VAX CPU) or bytes (VAX byte devices).
This worked fine if every value is filled in. On the PDP11:

sim> ideposit -b 0-3
0:    1
1:    2
2:    3
3:    4
sim>

But if the user skips an input, IDEPOSIT advances by 2, not 1:

sim> ideposit -b 0-3
0:    1
1:    (cr)
3:    4
sim>

This change now produces the correct behavior.

PDP-11 simulator V3.12-2
sim> id -b 0-3
0:      1
1:
2:      3
3:      4
sim>
2022-06-17 08:23:29 -07:00
Mark Pizzolato
b91a9d2bd6 README: Update to reflect current changes and Open SIMH differences 2022-06-16 18:20:54 -07:00
Bob Supnik
c55139c0a8 I1620, I1401: Add max value to address registers 2022-06-16 16:13:46 -07:00
Bob Supnik
39c4610971 PDP8: Zeroed result exponent in double precision (COVERITY) 2022-06-16 16:13:46 -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
50b969e519 DISK, SCSI: Add framework of support for different device sharing of containers
- More robust and reasonable behaviors when NOAUTOSIZE is enabled
- Repair/extension of disk metadata when AUTOSIZE is enabled
- MediaID support when device presents it
- Automatic MTAB generation when DEVICE provides a DRVTYPE list
2022-06-15 15:51:19 -07:00
Mark Pizzolato
a929b6471d Qbus & Unibus VAX: Clarified autoconfigure HELP language 2022-06-15 15:51:19 -07:00
Mark Pizzolato
3660b587f6 MicroVAX 3900: Add memory details to HELP CPU 2022-06-15 15:51:19 -07:00
Mark Pizzolato
1a02b4df26 DISK: Add MediaId encode and decode routines 2022-06-15 15:51:19 -07:00
Mark Pizzolato
0065f05336 DISK: Allow Control-C to cancel ZAP command 2022-06-15 15:51:18 -07:00
Mark Pizzolato
5448965f70 DISK: Add 2.11 BSD and Net BSD file system recognizers
Both NetBSD and OpenBSD have identical partition information
Report both names when such a file system is found
2022-06-15 15:51:18 -07:00
Mark Pizzolato
9ca26e5b47 DISK: Read Only open while gathering details for DISKINFO command 2022-06-15 15:51:18 -07:00
Mark Pizzolato
a14ace6fd2 SIGMA: Restore prior DP device Coverity silencing change 2022-06-15 15:51:18 -07:00
Mark Pizzolato
f9bc4d236f s3: Fix compiler warning about possible buffer overflow 2022-06-15 15:51:18 -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
Mark Pizzolato
25207bf3af SCP: Use relative filename paths in messages and SAVEd state 2022-06-15 15:51:18 -07:00
Mark Pizzolato
33ef5b9ef2 FIO: Add relative path support to translate raw filenames to relative paths
Default to ./ when no directory separator is mentioned in the path provided.
2022-06-15 15:51:18 -07:00