pkimpel / retro-b5500

Web-based emulator and operating environment for the Burroughs B5500 computer system.
http://www.phkimpel.us/B5500/
MIT License
76 stars 7 forks source link

Corrupted Library/Maintenance tape hangs MT drive and IOU under Mark XV #49

Closed pkimpel closed 8 years ago

pkimpel commented 8 years ago

Sid McHarg's recovered Mark XV System tape is incomplete. Valid data stops in the middle of FILE022 (FORTRAN/DISK). On Mark XV, the MCP reports an error on the SPO when this spot is reached, but both the tape drive and the IO Unit are hung. The unit cannot be cleared, and Library/Maintenance cannot be DS-ed.

pkimpel commented 8 years ago

The first problem was that the Mark XV MCP was issuing a tape maintenance space command as part of the error recovery when hitting the end the tape image. Maintenance space was not implemented in the I/O Unit, and the IOU was not properly terminating the I/O at the point of initiation. Replaced the original logic with an ordinary tape space operation (which is not quite legit, at maintenance space does not report parity errors, but it solved that problem).

After that, attempting to do a LOAD FROM SYSTEM =/= caused the drive to oscillate endlessly at the end of the valid data, attempting to read beyond the end of the internal tape image. When attempting to read past the end of the internal image, the drive would report parity error (trying to mimic the likely result of a partially-overwritten block after the last valid block). That problem was solved by having the drive report EOF+parity when attempting to read beyond the end of the image.

These changes will eventually be released in 1.04.