The model 204 9-track tape units implement basic sequential-only storage. This implementation uses a window to represent and control the 8 tape drives. The property "num_tape" may be used to configure less than 8 drives, with a minimum of 2.
The device control is at the traditional address of 00/40. This implementation relies on tape record marks to delimit records. Two adjacent record marks indicate a file mark. Furthermore, a RM in the memory buffer will stop a transfer. The CLC and SLC registers may be used to determine whether more data existed.
The MagTape window is hidden by default. It may be made visible, and raised to the top, using the Front Panel menu "I/O" and selecting MagTape. Closing the window only hides it, having no effect on the operation of the drives.
A record of 0-length is a File Mark, typically meaning End Of File. End of Tape (EOF on image file) will return 0-length records. Full rewind as well as backspace to record/file marks is supported from software, however exact placement after backspace needs to be confirmed with details of how real hardware worked.
Each drive has a mount/unmount button that is depicted as the tape reels. Clicking on the tape reels opens a file dialog window for selecting the tape image to be mounted (pressing Cancel will leave no image mounted). In addition, a rewind button exists. Active drives will show current tape position in characters. Also, a Permit (PER) button/indicator allows control over writing to the tape. If the tape was mounted with a "Write Ring" (checkbox in the file selction dialog), then clicking PER will toggle between write (illuminated) and protected (off). If the PER indicator will not light when the button is clicked, then the tape was mounted without a "Write Ring".
The details of the control and multiple drives with respect to interrupts is not known. While the "rewind" (and unload) function is initiated by a PCB, other tape movement commands (with or without I/O transfer) are initiated by PDT. The main difference being that tape movement initiated by a PDT will be sensing the tape for interrecord gaps (if not actually reading data). Write, and possibly erase, are exceptions. Beginning and end of tape marks are always sensed.
It will be assumed that any operation reaching completion will generate a "control interrupt" (and peripheral control EI). The OS must then check each drive for status to determine how to interpret the interrupt. Presumably, the OS maintains a table of outstanding tape operations, from which it can determine what is complete.
It is also assumed that only one operation can be active at a time, although the commands seem to allow for more concurrency. Perhaps multiple RWCs could be employed to allow multiple transfers, although the control might still require some context in order to map drives to RWCs. Current simulator code may not support this.