Problem: Currently when viewing the Nova CPU history the carry flag is always
displayed as 0 regardless of it's actual value at the time.
Cause: The carry bit is stored in bit 17 and is lost when stored into the
int16 carry member of struct Hist_entry
Solution: Shift carry into bit 0 before storing it in the CPU history.
Improve code for displaying carry bit.
- 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
The OS may signal SIGTERM more than once before ultimately
issuing a SIGKILL. The initial SIGTERM will stop execution and
initiate optional simulator cleanup. Ignoring follow up SIGTERMs
will allow as much cleanup as possible to be achieved and thus
allow the simulator to complete its cleanup and exit or ultimately
exit die due to receipt of SIGKILL.
Likewise for SIGHUP on hosts that can issue SIGHUP.
This avoids a potential invalid pointer dereference when formatting
the return value from sim_instr() if it is < SCPE_BASE but greater
than the previously defined static array size.sizeof
Update simh.doc to reflect this generic change.
Most were noise and non-issues, but the change from fclose() to
pclose() was absolutely needed.
A false positive remains regarding tun variable going out of scope.
Under the conditions where a resource leak could occur, the tun
variable is saved in *fd_handle and thus not leaked.