- Without regard to whether the circular buffer data is otherwise in
use while instructions are executing.
- When a circular debug buffer is in use, avoid writing out the contents
with the periodic open file flushes and only do so on returns to the
sim> prompt and when debug is closed
- Add common system includes used in may places which are allowed
and thus added directly in sim_defs.h.
- Separate completely private system data structures and system APIs
for use only by SCP library routines into sim_scp_private.h.
Partial reading is needed to properly read common archive images found
on bitsavers and elsewhere which were made from QIC devices which must
read multiples of 512 bytes at a time.
- Use tape->block_size uniformly for FIXED record length/block size
- Change tape_classify_file_contents() so the max_record_size for text
files does not include the line endings (fixes FIXED -B 80 failure when
reading 80- character card-images, fixes invalid ANSI HDR2 Record
Length for ANSI-VMS, ANSI-RSX11, and ANSI-VAR -B 512 when
reading 508-character lines)
- Distinguish RMS Record Size from ANSI Record Length: RMS Record
Size does not include the ANSI 'D' Record Format Record Control Word
(RCW); ANSI Record Length does
- Verify the ANSI Record Length is legal for text files
- Verify that the ANSI -B block size is large enough
- Write ANSI Record Length in HDR2 label, write RMS Record Size in
HDR3 label; whether they are the same or not depends on the ANSI
Record Format
- Pad ANSI short binary records with zeros (ANSI 'F' records must
all be the HDR2 Record Length)
- Minimum -B is 14 (shorter records on mag tapes are considered noise)
- Maximum -B is 65535 (DEC tape controllers have a 16-bit byte count register)
- Remove redundant setting of TAR default record size
- Notify the user when the -E option is being ignored
- Use the UNIT_RO format flag to set the SIMH ReadOnly attach option
- Use three tape marks to mark the end of a volume for RT-11 and RSTS
(ANSI and DOS11 formats); the third tape mark is harmless on RSX-11
and VMS, which only write two
- TAR -B must be a multiple of 512 (tar specifies the mag tape block size
in number of 512-byte records)
- The TAR file must exist
- Use a conditional test with the "is a MEMORY_TAPE image" invariant in
sim_tape.h to select the correct tape unit attach failure message
- Always print a tape attach summary message, like SIMH does for disks;
simplify and fix some of the other messages there
- Remove unnecessary memset()'s in dos11_copy_ascii_file()
- Fix a 16-bit integer overflow in the DOS label date calculation
- when the file ends on a block boundary, the block count was
off by one.
- always use the max_record_size in ANSI labels independent of
the ansi-type.
- Force the detection point of a tape structure error to be the logical EOM
on the tape.
- Enable SIGINT abort of a possibly long running validation scan
- Add -L detail record structure option at ATTACH time
- Add extra garbage at end of generated test data files