Commit graph

4279 commits

Author SHA1 Message Date
Mark Pizzolato
2fb741046d 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.
2022-03-04 18:28:30 -08:00
Mark Pizzolato
7aba63028c makefile: Remove include file from the SEL32 source file list 2022-03-04 09:06:23 -08:00
Mark Pizzolato
4d4a7b2fed README: Update to add Jim Bevier's SEL32 simulator 2022-03-03 17:45:31 -08:00
Mark Pizzolato
7c41688261 makefile: Report testing arguments at build startup 2022-03-03 17:41:54 -08:00
Mark Pizzolato
92415062b5 TMXR: Count per line TCP sessions 2022-03-03 17:41:12 -08:00
Mark Pizzolato
abd756ebad SCP: Allow unattached errors to halt with a specific unattached message 2022-03-03 17:40:27 -08:00
AZBevier
4991701ee6 SEL32: Add new SEL32 simulator. 2022-03-03 16:25:48 -07:00
Mark Pizzolato
4a45fda672 SCP: assure that t_stat is returned in sim_call_argv() 2022-02-28 10:12:33 -08:00
Mark Pizzolato
9bd945679d SCP: Add new sim_call_argv() API.
call a routine with C style argc, argv parsed arguments
2022-02-28 07:44:39 -08:00
Mark Pizzolato
66c737d12f README: Add Richard Cornwell's new PDP10-KS simulator 2022-02-28 07:18:12 -08:00
Richard Cornwell
730fa4b228 KA10: Removed stray tab. 2022-02-26 13:29:42 -05:00
Richard Cornwell
7a24b6ef4b KA10: Fix so KS10 ITS will build. 2022-02-26 11:48:45 -05:00
Richard Cornwell
a45c6c6e4f KA10: Fixed bug with page fault during ILDB/IDBP
Set KMC default state to disabled.
2022-02-24 08:37:12 -05:00
Leo Broukhis
f5fc4f0313 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.
2022-02-21 17:54:51 -08:00
Leo Broukhis
c3491a28a2 BESM6: Made all 32 tape units functional.
Split the tape units into 4 groups to match the OS naming convention.
2022-02-21 17:54:51 -08:00
Richard Cornwell
d435ae3028 KA10: Fixed BLTUB/BLTBU instructions. 2022-02-21 15:24:24 -05:00
Mark Pizzolato
dc7754206f PDP10: Fix inadvertent overlapped unit status bits 2022-02-20 11:26:14 -08:00
Mark Pizzolato
a8adf0d5f0 gitignore: Fix match rules now realizing the last match takes precedence 2022-02-20 11:25:54 -08:00
Mark Pizzolato
660e2b9f3f ETHER: Add stub to support shared code with simh v3.x code base 2022-02-20 09:01:54 -08:00
Mark Pizzolato
7ad62c5ee6 makefile: simplify the selection of simulators that can use network components 2022-02-20 08:51:18 -08:00
Richard Cornwell
84c713b494 makefile: Add KS10 build support 2022-02-19 18:43:39 -08:00
Mark Pizzolato
f32fe6e8a9 makefile: Add decision logic to support simh v3.x and simh v4.x 2022-02-19 18:42:38 -08:00
Mark Pizzolato
2768e5861d Visual Studio Projects: Add new PDP10-KS project and updated PDP10-KA and PDP6 2022-02-19 18:40:10 -08:00
Richard Cornwell
91aee9b39f 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.
2022-02-19 20:25:44 -05:00
Howard M. Harte
10c7e50f1c sim_imd: Resolve coverity issues. 2022-02-19 13:25:50 -08:00
Richard Cornwell
ba01a5793c B5500: Normalized end of lines to DOS/Unix. 2022-02-18 22:06:05 -05:00
Leo Broukhis
9f5e40e240 BESM6: Implemented formatted magnetic tapes.
At the moment formatting has to be done by means of SIMH rather than
using the standard OS mechanism.
2022-02-16 11:41:45 -08:00
Mark Pizzolato
d960c96f56 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
2022-02-14 19:30:30 -08:00
Mark Pizzolato
eac0e5680b 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.
2022-02-14 15:06:34 -08:00
Mark Pizzolato
af4f37efac 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.
2022-02-14 12:43:52 -08:00
Mark Pizzolato
3949f62e89 SCP: Use sim_messagef for all error paths in attach_unit and sim_disk_attach 2022-02-14 04:00:04 -08:00
Mark Pizzolato
96512043bd SCP: Fix UDATA initialization macro to include newly added UNIT member 2022-02-14 01:32:18 -08:00
Mark Pizzolato
413501a1dd PDP11: Migrate RC device to use sim_disk meta data and file system detection 2022-02-13 23:05:43 -08:00
Mark Pizzolato
b557eaf6e2 DISK: Add support for attach/detach of memory buffered drives (UNIT_MUSTBUF) 2022-02-13 22:51:48 -08:00
Mark Pizzolato
315a07cbc7 SCP: Avoid writing out memory buffered devices on detach that haven't changed
As discussed in #1109
2022-02-13 22:50:37 -08:00
Mark Pizzolato
0116987fc7 TAPE: Added additional switch descriptions for attach time help 2022-02-12 20:11:28 -08:00
Mark Pizzolato
6187b0519a SCP: Support output formatting for long DEVICE and UNIT names
This extends fe4a2a28b to include support for long unit names as well.
2022-02-12 15:19:51 -08:00
Mark Pizzolato
e75b2f29dc VAX 440 simulators: Avoid duplicate model name in SHOW CPU output 2022-02-12 14:21:18 -08:00
Mark Pizzolato
49b6e52d48 PDP11, VAX scsi systems: Migrate DEV_DISK devices using common autosize code 2022-02-11 15:26:21 -08:00
Mark Pizzolato
1196827c2d PDP11: Default RK device attach to autosize 2022-02-11 02:17:16 -08:00
Mark Pizzolato
d64f003cc0 Non Qbus and Non Unibus VAX: Default to autosizing disks for MFM RD disks 2022-02-11 02:09:37 -08:00
Mark Pizzolato
e6c4b01f2e DISK: Provide coherent messages when container encountering incompatibility 2022-02-11 02:06:45 -08:00
Mark Pizzolato
92b1efe50f DISK: Clarify minor changes to sim_disk API in the documentation 2022-02-10 07:10:08 -08:00
Mark Pizzolato
a94a9ac28f DISK: Allow for attach time copies of dissimilar sized disk containers 2022-02-09 08:33:38 -08:00
Mark Pizzolato
b8903f303f DISK: Add highwater support to the container meta data
The highwater support records the furthest logical sector in a disk
container that has been written by the simulator when accessing
the device.
2022-02-08 19:07:00 -08:00
Mark Pizzolato
e6ebf96f05 ETHER: Fix stub unit test routine declaration when sim_ether isn't used 2022-02-07 23:08:20 -08:00
Mark Pizzolato
5015d6ae14 DISK: Cleanup attach behaviors add better support for containers with meta data
At this time:
- The ZAP command exists to remove meta data from containers that
   have it.  Container files processed by the ZAP command will generally
   be restored to the size it was before the addition of the meta data
   and the file time stamps will be unchanged.
- Newly created containers get meta data.
- At attach time, containers that don't have meta data, but have
   recognized file systems that fit within the drive it is being
   attached to get meta data added without changing the file timestamps.
- Containers that don't have meta data and don't have a recognized
   file system that is <= the drive size are attached without comment
   and without adding meta data as long as the drive is NOT set to
   autosize (controllers that support multiple drive types all default to
   autosize, which can explicitly be disabled on a drive by drive basis).
- Containers that don't have meta data which are > the drive size can
   only be attached read only.
- Containers with meta data can not be attached to a different
   controller at all if the container size is smaller than the drive on the
   other controller.
- Containers that have meta data can be freely be attached to the
   controller that they were attached to when they got the meta data.
   If a file system is detected, it will be reported.  Otherwise if no
   recognized file system is found, the attach will be silent.  File
   system detection reporting can be suppressed with -Q on the attach
   command.
- Containers with meta data can only be attached read only to a different
   controller if the container is larger than the drive it is being
   attached to.
In the future:
- In general, containers with meta data (or recognized file systems)
   will be attachable to MSCP and SCSI controllers, as long as reasonable
   sector sizes and file system not requiring interleaving have been found.
- Containers without meta data will only be attachable if autosize
   is disabled and the container is <= the size of the drive.
- Explicitly setting a drive type on a unit will implicitly disable
   autosizing.  If a user wants to set the default drive for a unit
   and still allow autosizing they must explicitly set the unit to
   autosize after setting the drive type.

Relevant to: #1065, #1059, #1094, #1100, #1118, #1117
2022-02-07 22:55:23 -08:00
Mark Pizzolato
a4054f33b8 SCP: Add command argument passed into library unit test routines 2022-02-07 04:21:16 -08:00
Mark Pizzolato
9f3bd71e66 TMXR: Avoid use of C++ reserved word 2022-02-06 18:23:20 -08:00
Mark Pizzolato
d8e41d64a3 SOCK: Properly avoid mixing char * and const char * references 2022-02-06 18:22:49 -08:00