Tape on-line interrupts weren't happening when a tape was attached or
replace on the TH11/TM0x emulation.
The OS never saw a MOL transition in the case of replacement, where the
detach is implicit.
This patch defers reporting MOL for 100 msec; faster than a human can
change tapes, but long enough for an OS to see the 1->0->1 transition of
MOL.
Further, checks for UNIT_ATT should be for MOL.
This makes GALAXY automatic tape recognition work.
Thanks to Ian Hammond, Lou Ernst, Malcolm Macloud, and Jack Rubin,
In addition, I've added the CAPS11 bootstrap into the emulator module, so no more toggle-in required.
Lou Ernst reported that RT11 V5 does not work with the TA11, even on real hardware. The simulated TA11 does work under RT11 V4; it's included in the stock FB monitor.
One anomaly with RT11 V4 - after writing files to CT0: and then doing a DIRECTORY, all the files lengths are 0. The files are there. I can type them and DIFF them against their source.
It does not fix the problem that MMR1 is not used for floating point instructions.
I don't know if I will fix the FP MMR1 problem. It does not seem to impact running software. It is consistent with the architecture spec - just not with the actual J11 implementation. The J11 microcode has a variety of exception exits for FP conditions, and I have to trace which ones invoke fix-up, and which do not.
With multiple instances, error logging gets confusing when every CPU has
the same serial number.
This makes the CPU serial number settable. If not set, the old defaults
apply.
When an LP20 is attached to an existing file, the file is opened in
update mode. Since the initial file position is zero, any existing
output is over-written. This is not intuitive.
This edit makes the LP20 seek to EOF on attach.
N.B. Other devices may have cousin issues.
1) retain the buffered/unbuffered line specific details across save/restore
2) retain modem control outgoing bits (CTS and DTR) accross line resets which may occur due to carrier/connection loss.
3) change the behavior which sends the prior contents of the transmit buffer on a line reconnect to only happen for buffered telnet lines.
4) avoid crash in SHOW MULTIPLEXER output when only specific lines have been attached instead of