Tony Nicholson [Sat, 30 Apr 2022 22:01:18 +0000 (08:01 +1000)]
sim_imd: Check for EOF when reading IMD track headers
The recent change to check that the IMD file track header record is 5
bytes introduced a problem with the end-of-file triggering an open file
error - instead of the previous behaviour where the number of bytes in
the track header was ignored and end-of-file was checked.
I noticed this after fetching and compiling the latest simh altairz80 - it
was refusing to my mount floppy disk IMD image files (which I had made
from 8-inch floppies back in 2006).
```
maxi:s100 tony$ altairz80 cpm3bk.ini
Altair 8800 (Z80) simulator V4.0-0 Current simh git commit id:
d3f1ee09
Console escape is CTRL-\
I8272: IMD disk corrupt.
/Users/tony/s100/cpm3bk.ini-58> att disk1a0 /Users/tony/s100/C3BKSIMH.IMD
File open error
```
Looking at the commit history, I saw the change by Howard Harte to
sim_imd.c to "Resolve CID
1502448,
1502460" - presumably to fix the
call to sim_fread() that was not checking the returned result.
Howard's "fix" broke the parsing of the IMD file sector headers by
not checking for an end-of-file condition (at the end of file it
would read 0 bytes and this was now treated as a fatal error - whereas
the old code had a check for end-of-file after the call to sim_fread()).
This commit now detects end-of-file correctly, as well as verifying
the track header is 5 bytes.
Mark Pizzolato [Tue, 5 Apr 2022 15:37:03 +0000 (08:37 -0700)]
CONSOLE: Set console input WAIT time to reflect console speed
Mark Pizzolato [Fri, 1 Apr 2022 19:37:11 +0000 (12:37 -0700)]
DISK: Add progress indications for ZAP -Z
Mark Pizzolato [Sat, 26 Mar 2022 00:32:57 +0000 (17:32 -0700)]
SCSI: Add clean SCSI command debugging support
Mark Pizzolato [Fri, 25 Mar 2022 23:25:28 +0000 (16:25 -0700)]
DISK: Force Read Only for all ISO container attach operations
ISO files and real CDs exist which don't have ISO 9660 file structure.
These do contain ODS2 file systems since they were produced before
ISO 9660 was standardized and certainly before OS support for ISO
9660 was added. As such, any file named .iso or .ISO will always be
attached read-only since CDs are never naturally writable devices.
Richard Cornwell [Fri, 25 Mar 2022 23:16:56 +0000 (19:16 -0400)]
KA10: Fixed FE printer support on Tops 20.
Richard Cornwell [Fri, 25 Mar 2022 23:16:35 +0000 (19:16 -0400)]
KA10: Fixed running of OPR on Tops10 and Tops 20.
Mark Pizzolato [Wed, 23 Mar 2022 04:25:16 +0000 (21:25 -0700)]
PDP11, VAX: Add RF73 and RF35 disk type to RQ, correct various model numbers
Paul Koning [Mon, 21 Mar 2022 21:08:36 +0000 (17:08 -0400)]
DISK: Fix off by one error in reporting RSTS file structure info
Updates the previous commit to do it better, by not changing
the return value of get_rsts_filesystem_size -- it still returns
the size, at least our best guess of it (for RSTS it's not possible
to get it correct in every case, but it will be correct for
most scenarios).
Paul Koning [Mon, 21 Mar 2022 17:43:30 +0000 (13:43 -0400)]
DISK: Fix off by one error in reporting RSTS file structure info
This fixes issue #1106 -- the last sector number reported was
off by one (sector past the last free sector).
Bob Armstrong [Sun, 20 Mar 2022 23:39:03 +0000 (16:39 -0700)]
H316: update IMP 00readme.txt to match current code
Mark Pizzolato [Sun, 20 Mar 2022 00:18:54 +0000 (17:18 -0700)]
DISK: Add support for ISO 9660 file system detection
Any attach of an ISO 9660 file system is done Read Only since that
file system is logically non-writable.
Related to #1094
Howard M. Harte [Sat, 19 Mar 2022 15:47:32 +0000 (08:47 -0700)]
sim_imd: Resolve CID
1502448,
1502460.
Mark Pizzolato [Fri, 18 Mar 2022 23:47:33 +0000 (16:47 -0700)]
TX0: Silence Coverity issues
Coverity is confusing routines by the same name from different simulators.
Making these routines static should solve the problem.
Also fix un-checked status complaint.
Mark Pizzolato [Fri, 18 Mar 2022 19:09:17 +0000 (12:09 -0700)]
FIO: Properly bound byte swap activity when reading on big endian hosts
Leo Broukhis [Fri, 18 Mar 2022 14:49:07 +0000 (07:49 -0700)]
BESM6: Fixed a compilation warning and a Coverity defect.
Seth Morabito [Thu, 17 Mar 2022 23:04:43 +0000 (16:04 -0700)]
3b2: Fix Coverity issues
Mark Pizzolato [Thu, 17 Mar 2022 19:17:40 +0000 (12:17 -0700)]
ETHER: Assure there's enough space to fetch the system GUID on Windows
Mark Pizzolato [Thu, 17 Mar 2022 14:28:11 +0000 (07:28 -0700)]
DISK: Properly support attach time disk copy to a larger container
Leo Broukhis [Thu, 17 Mar 2022 02:42:44 +0000 (19:42 -0700)]
BESM6: A Coverity fix, TTY enhancements.
One of the two parallel interface consoles (TTY26) works in the Videoton-340 mode;
disconnecting a remote TTY session works like powering the terminal down.
After reconnecting, it is necessary to type "HYC" blindly to re-initialize the line.
Added TMXR line reordering.
Mark Pizzolato [Thu, 17 Mar 2022 02:18:22 +0000 (19:18 -0700)]
I7094: Remove irrelevant buffer address checks
These checks were remnants of prior code which dynamically allocated buffers.
Mark Pizzolato [Wed, 16 Mar 2022 21:44:20 +0000 (14:44 -0700)]
PDP11: Only compute vector ilvl when it will be used (Coverity)
Bill Beech [Wed, 16 Mar 2022 21:41:34 +0000 (14:41 -0700)]
SWTP: Fix Coverity found more missing arguments in M6800
Bob Armstrong [Wed, 16 Mar 2022 17:56:21 +0000 (10:56 -0700)]
H316: Coverity update - remove dead code; fix formatting
Richard Cornwell [Wed, 16 Mar 2022 01:30:55 +0000 (21:30 -0400)]
KA10: Clean up coverity error.
Bill Beech [Tue, 15 Mar 2022 22:44:13 +0000 (15:44 -0700)]
SWTP: Fix Coverity found missing argument in M6800
SpareTimeGizmos [Tue, 15 Mar 2022 15:35:47 +0000 (08:35 -0700)]
H316: Fix missing initialization and remove dead code found by Coverity
Mark Pizzolato [Tue, 15 Mar 2022 15:19:25 +0000 (08:19 -0700)]
PDP11: Only compute vector ibit when it will be used (Coverity)
Mark Pizzolato [Tue, 15 Mar 2022 14:48:20 +0000 (07:48 -0700)]
I1620: Fix typo in recent Coverity change
Mark Pizzolato [Tue, 15 Mar 2022 14:25:34 +0000 (07:25 -0700)]
I1401, I1620, I7094: Address Coverity issues in card reader devices
Howard M. Harte [Tue, 15 Mar 2022 05:43:56 +0000 (22:43 -0700)]
AltairZ80: s100_hdc1001: Resolve CID
1515006.
Mark Pizzolato [Mon, 14 Mar 2022 22:54:02 +0000 (15:54 -0700)]
I7094: Avoid Coverity identified potential error
Mark Pizzolato [Mon, 14 Mar 2022 22:28:39 +0000 (15:28 -0700)]
TAPE: export sim_tape_error_text
Peter Schorn [Mon, 14 Mar 2022 13:55:50 +0000 (14:55 +0100)]
AltairZ80: Fix Coverity identified issues in s100_jd2d.c
Mark Pizzolato [Mon, 14 Mar 2022 03:08:54 +0000 (20:08 -0700)]
SCP: Expand sprint_val target buffers with one extra byte
Mark Pizzolato [Sun, 13 Mar 2022 20:23:05 +0000 (13:23 -0700)]
SCP: Assure that all formatted numbers have sufficient buffer space
Mark Pizzolato [Sun, 13 Mar 2022 19:40:16 +0000 (12:40 -0700)]
SIGMA: Avoid Coverity mag tape warning
Roberto Sancho Villa [Sun, 13 Mar 2022 18:47:08 +0000 (11:47 -0700)]
I650: Fix Coverity identified issues
Mark Pizzolato [Sun, 13 Mar 2022 18:23:11 +0000 (11:23 -0700)]
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.
Mark Pizzolato [Sat, 12 Mar 2022 22:28:24 +0000 (14:28 -0800)]
ETHER: Correct reversed supported version check for Npcap
Richard Cornwell [Sat, 12 Mar 2022 20:48:49 +0000 (15:48 -0500)]
KA10: Cleanup some extended addressing issues with KL10B.
Clean up coverity errors.
Seth Morabito [Sat, 12 Mar 2022 19:38:07 +0000 (11:38 -0800)]
3b2: Fix Coverity issues
Mark Pizzolato [Sat, 12 Mar 2022 15:58:04 +0000 (07:58 -0800)]
SWTP6800: Fix Coverity issue
Leo Broukhis [Sat, 12 Mar 2022 03:49:28 +0000 (19:49 -0800)]
BESM6: Coverity fixes, added disk type display for SHOW MDn.
Mark Pizzolato [Sat, 12 Mar 2022 00:25:08 +0000 (16:25 -0800)]
PDP10: Fix LP DEVICE attach logic remove redundant code done by SCP
Mark Pizzolato [Fri, 11 Mar 2022 21:29:26 +0000 (13:29 -0800)]
IBM1130: Fix Coverity identified issue
Mark Pizzolato [Fri, 11 Mar 2022 20:34:59 +0000 (12:34 -0800)]
PDP11, VAX: Fix Coverity issues in XQ and XU devices
Lars Brinkhoff [Fri, 11 Mar 2022 08:27:07 +0000 (09:27 +0100)]
IMLAC: Fix wrong instruction mask for decoding.
Lars Brinkhoff [Fri, 11 Mar 2022 08:18:38 +0000 (09:18 +0100)]
TT2500: Fix unintended switch case fallthrough.
Mark Pizzolato [Fri, 11 Mar 2022 01:08:15 +0000 (17:08 -0800)]
PDP11: Fix Coverity identified issue in debug format statement
Mark Pizzolato [Fri, 11 Mar 2022 01:07:11 +0000 (17:07 -0800)]
PDP11: Fix Coverity identified issue in HELP CPU
Mark Pizzolato [Fri, 11 Mar 2022 00:44:57 +0000 (16:44 -0800)]
DISK: Fix a few Coverity issues
Richard Cornwell [Fri, 11 Mar 2022 00:12:46 +0000 (19:12 -0500)]
KA10: Fixed some coverity errors.
AZBevier [Thu, 10 Mar 2022 18:15:00 +0000 (11:15 -0700)]
SEL32: Correct Coverity detected warning errors.
Mark Pizzolato [Wed, 9 Mar 2022 23:53:10 +0000 (15:53 -0800)]
SCP: Coverity fixes
Bill Beech [Wed, 9 Mar 2022 23:05:23 +0000 (16:05 -0700)]
SWTP6800: Fix Coverity reported issue
Bill Beech [Wed, 9 Mar 2022 22:37:29 +0000 (15:37 -0700)]
SWTP6800: General cleanup and boot fixup
DC-4: fixed flags
M6800: simplified code in big instr decode loop, Removed sim-debug
M6810: added examine and deposit (from Thomas Pfau), Removed sim-debug
MP-A: added examine and deposit (from Thomas Pfau)
Howard M. Harte [Tue, 8 Mar 2022 20:31:04 +0000 (12:31 -0800)]
AltairZ80: HDC-1001: Resolve CID
1514860,
1514861.
Howard M. Harte [Tue, 8 Mar 2022 20:28:54 +0000 (12:28 -0800)]
AltairZ80: Resolve CID
1514796.
Mark Pizzolato [Tue, 8 Mar 2022 08:05:54 +0000 (00:05 -0800)]
BESM6: Fix type declaration compile issue
Mark Pizzolato [Tue, 8 Mar 2022 08:02:07 +0000 (00:02 -0800)]
SCP: Avoid a Coverity complaint about getenv()
Leo Broukhis [Tue, 8 Mar 2022 05:06:57 +0000 (21:06 -0800)]
BESM6: 29 Mb disks (EC-5061, clones of IBM 2314) are now functional.
The OS seems to support them only on device MD4, though.
Native formatting works.
Richard Cornwell [Mon, 7 Mar 2022 04:20:19 +0000 (23:20 -0500)]
KA10: Fixed some compiler warnings on MACOS.
Mark Pizzolato [Sun, 6 Mar 2022 17:39:26 +0000 (09:39 -0800)]
PDP11, VAX: Add RF30, RF31, RF71 and RF72 disk types to the RQ simulation
These are added based on simple drive geometry and size information
without any parameters for bad block management (not used in simulation
anyway).
Additionally, RF drives connected to Qbus systems via a KFQSA. When
connected this way, EACH drive on the DSSI bus appeared to the attached
Qbus system as a separate MSCP controller to the operating system. This
change does not model that connectivity.
Mark Pizzolato [Sun, 6 Mar 2022 10:11:57 +0000 (02:11 -0800)]
SCP: Coverity inspired changes
Mark Pizzolato [Sat, 5 Mar 2022 12:34:46 +0000 (04:34 -0800)]
makefile: Add imlac and tt2500 to the all target.
Mark Pizzolato [Sat, 5 Mar 2022 05:13:37 +0000 (21:13 -0800)]
SCP: Normalize writelock/read only behavior
Setting a unit to write locked specifically allows only read access.
- If this is done while a unit is attached, it is up to device logic to
limit write activity until it is detached.
- If this is done while a unit is not attached, a subsequent attach
opens the container read only.
Mark Pizzolato [Sat, 5 Mar 2022 02:28:30 +0000 (18:28 -0800)]
PDP11 & VAX: Avoid RQ DEVICE uname memory leaks
Additional UNITs from 4 up to 254 are replicated from Unit 0.
If the UNIT->uname has already been populated, we could leak memory if
it isn't released before copying from the template UNIT.
Mark Pizzolato [Fri, 4 Mar 2022 17:06:23 +0000 (09:06 -0800)]
makefile: Remove include file from the SEL32 source file list
Mark Pizzolato [Fri, 4 Mar 2022 01:45:31 +0000 (17:45 -0800)]
README: Update to add Jim Bevier's SEL32 simulator
Mark Pizzolato [Fri, 4 Mar 2022 01:41:54 +0000 (17:41 -0800)]
makefile: Report testing arguments at build startup
Mark Pizzolato [Fri, 4 Mar 2022 01:41:12 +0000 (17:41 -0800)]
TMXR: Count per line TCP sessions
Mark Pizzolato [Fri, 4 Mar 2022 01:40:27 +0000 (17:40 -0800)]
SCP: Allow unattached errors to halt with a specific unattached message
AZBevier [Thu, 3 Mar 2022 23:25:48 +0000 (16:25 -0700)]
SEL32: Add new SEL32 simulator.
Mark Pizzolato [Mon, 28 Feb 2022 18:12:33 +0000 (10:12 -0800)]
SCP: assure that t_stat is returned in sim_call_argv()
Mark Pizzolato [Mon, 28 Feb 2022 15:44:39 +0000 (07:44 -0800)]
SCP: Add new sim_call_argv() API.
call a routine with C style argc, argv parsed arguments
Mark Pizzolato [Mon, 28 Feb 2022 15:18:12 +0000 (07:18 -0800)]
README: Add Richard Cornwell's new PDP10-KS simulator
Richard Cornwell [Sat, 26 Feb 2022 18:29:42 +0000 (13:29 -0500)]
KA10: Removed stray tab.
Richard Cornwell [Sat, 26 Feb 2022 16:48:45 +0000 (11:48 -0500)]
KA10: Fix so KS10 ITS will build.
Richard Cornwell [Thu, 24 Feb 2022 13:37:12 +0000 (08:37 -0500)]
KA10: Fixed bug with page fault during ILDB/IDBP
Set KMC default state to disabled.
Leo Broukhis [Sun, 20 Feb 2022 17:56:29 +0000 (09:56 -0800)]
BESM6: Reorganized the disk devices.
Split the disk units into groups to match the OS naming convention.
Added unit group multiplexing (partially functional in the OS).
Split debug messages into categories.
Leo Broukhis [Fri, 18 Feb 2022 17:49:28 +0000 (09:49 -0800)]
BESM6: Made all 32 tape units functional.
Split the tape units into 4 groups to match the OS naming convention.
Richard Cornwell [Mon, 21 Feb 2022 20:24:24 +0000 (15:24 -0500)]
KA10: Fixed BLTUB/BLTBU instructions.
Mark Pizzolato [Sun, 20 Feb 2022 19:26:14 +0000 (11:26 -0800)]
PDP10: Fix inadvertent overlapped unit status bits
Mark Pizzolato [Sun, 20 Feb 2022 19:25:54 +0000 (11:25 -0800)]
gitignore: Fix match rules now realizing the last match takes precedence
Mark Pizzolato [Sun, 20 Feb 2022 17:01:54 +0000 (09:01 -0800)]
ETHER: Add stub to support shared code with simh v3.x code base
Mark Pizzolato [Sun, 20 Feb 2022 16:51:18 +0000 (08:51 -0800)]
makefile: simplify the selection of simulators that can use network components
Richard Cornwell [Sun, 20 Feb 2022 02:43:39 +0000 (18:43 -0800)]
makefile: Add KS10 build support
Mark Pizzolato [Sun, 20 Feb 2022 02:42:38 +0000 (18:42 -0800)]
makefile: Add decision logic to support simh v3.x and simh v4.x
Mark Pizzolato [Sun, 20 Feb 2022 02:40:10 +0000 (18:40 -0800)]
Visual Studio Projects: Add new PDP10-KS project and updated PDP10-KA and PDP6
Richard Cornwell [Sun, 20 Feb 2022 01:25:44 +0000 (20:25 -0500)]
KA10: Release 3 of PDP10 simulators. KS10 support added.
Added KS10 support.
CPU Redid instruction decode to improve performance
Triple-I display cleanup.
Normalized end of line to DOS/Unix.
KL10 FE, Cleanup issues with TTY devices hanging simulator..
Fixed errors in RH20 device.
RP and TU drives more independent of RH controller.
Howard M. Harte [Sat, 19 Feb 2022 21:25:50 +0000 (13:25 -0800)]
sim_imd: Resolve coverity issues.
Richard Cornwell [Sat, 19 Feb 2022 03:06:05 +0000 (22:06 -0500)]
B5500: Normalized end of lines to DOS/Unix.
Leo Broukhis [Sat, 12 Feb 2022 06:41:13 +0000 (22:41 -0800)]
BESM6: Implemented formatted magnetic tapes.
At the moment formatting has to be done by means of SIMH rather than
using the standard OS mechanism.
Mark Pizzolato [Tue, 15 Feb 2022 03:30:30 +0000 (19:30 -0800)]
SCP: UNIT_BUFABLE isn't always set with UNIT_MUSTBUF
UNIT_BUFABLE without UNIT_MUSTBUF means that uptr->filebuf is managed
outside of attach_unit's authority. The buffer copy must always be allocated
if UNIT_BUFABLE is set so that there is space to store the initial loaded copy.
Fix #1122
Mark Pizzolato [Mon, 14 Feb 2022 23:06:34 +0000 (15:06 -0800)]
DISK: Add SET NOAUTOSIZE - disable autosize when attaching existing containers
This is a global command possibly for folks who have configurations which
always explicitly specify the drive type they want a particular unit to be
before they attach a container to the unit. The side effect of this will
be to avoid the addition of drive type describing meta data to disk
containers.
Mark Pizzolato [Mon, 14 Feb 2022 20:43:52 +0000 (12:43 -0800)]
doc: Revise the SIMH User's guide to describe startup config files executed
The key change is the addition of:
When a simulator starts execution, the following sequence of simh command
files are executed if they are found:
1. If a file named simh.ini is located in your HOME directory, it is
executed.
2. If the simh.ini file in your HOME directory isn’t found, a file named
simh.ini in your current working directory is executed if it exists.
3. If the simulator is invoked with any arguments, then the arguments are
presumed to be a command file and possible arguments to that command
file which is executed.
4. If the simulator is invoked without any arguments, then a command file
with the same name as the simulator binary with .ini appended that is
located in the current working directory is executed.
Note, that up to 2 separate command files may be executed on simulator
startup. The simh.ini file allows the user to define local user
preferences that align with their personal goals for simulator execution
across all simulators that may be used on their system.
Steps 3 and 4 were inherited from simh v3.x. Steps 1 and 2 was inspired
by conversations with J. David Bryan in April of 2012. Some how it
never got documented.
Mark Pizzolato [Mon, 14 Feb 2022 12:00:04 +0000 (04:00 -0800)]
SCP: Use sim_messagef for all error paths in attach_unit and sim_disk_attach
Mark Pizzolato [Mon, 14 Feb 2022 09:32:18 +0000 (01:32 -0800)]
SCP: Fix UDATA initialization macro to include newly added UNIT member
Mark Pizzolato [Mon, 14 Feb 2022 07:05:43 +0000 (23:05 -0800)]
PDP11: Migrate RC device to use sim_disk meta data and file system detection