This document is an assembly language listing detailing the "Magnetic Tape Service Routines - No Directories" (MTPSER), primarily authored by L. Hantman on 8-9-65, with patches indicated by Hastings and Clements at BNL on 3-3-66. It provides the low-level code for managing magnetic tape operations.
The routines cover a wide range of functionalities, including:
- General Tape Service: Subroutines like MTAPE, MTCHEK, and MTCON handle overall magnetic tape operations and control.
- Data Transfer: Dedicated routines for reading (MTIN) and writing (MTOUT) data, managing buffer addresses, and handling block commands.
- Tape Positioning: Functions for backspacing (MTBSP), spacing one record or file, and checking for load points or End-Of-Tape (EOT).
- Error Handling: Extensive error detection and handling mechanisms (MTERR, MTOUTE, MTCINT, MTLEOT), including checking for write locks, device errors, and parity issues.
- Control and Status: Management of I/O status (IOS), device addresses (DEVDAT), control flags (TCF, ERF), and interrupt handling.
- Closing Operations: Routines (MTCLS) for closing tape operations, with different modes for dump, output, and input.
The listing includes opcodes, operands, and explanatory comments for each instruction. It also features a comprehensive symbol table listing all defined variables, constants, and entry points with their respective addresses and types. Overall, the document serves as a technical blueprint for the magnetic tape control software.