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.
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.
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.
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
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.
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.
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