This document is a detailed assembly language listing (source code with comments) for the DXMCA - DX20-V100 Magnetic Tape Subsystem Micro-Code, Version 4.7, accompanied by a system job log.
Key contents and aspects of the document include:
Microcode Definition (Pages 4-109):
- Purpose: The microcode is designed to control a
DX20 Programmed Data Adapter when connected to TX01 or TX02 Magnetic Tape Control Units.
- Structure: It is an assembly language listing, extensively commented (
EDIT=4, VERSION=7, with historical notes on EDITS 1-9 from 1979-1981 detailing bug fixes and enhancements).
- Functionality:
- Register Definitions: Detailed bit-level definitions for MASSBUS, Channel Bus Interface, and Data Path registers (e.g., Status & Control, Error Code, Data Buffer, General Purpose, I/O Bank Select, MP Status, Tag In/Out, Control Unit Status).
- Error Handling: Comprehensive error code definitions (Classes 1-9) covering unusual device status, short/long records, device selection, recoverable/non-recoverable errors, and fatal conditions, along with routines for reporting and logging these errors.
- Command Processing: Routines to perform host-requested functions, including immediate, clear, write, read, sense, and dump commands, as well as handling illegal functions.
- System Operations: Includes startup sequences, idle loop management, extended status request service, asynchronous status checks, interrupt handling, and a complete clean-up routine.
- Data Management: Specific routines for handling data transfers (read/write commands), managing the data path, and storing/retrieving information from an extended status table.
- Diagnostics: Contains dispatch tables for various diagnostic tests executed during startup and the idle loop, and routines for microdiagnostics error reporting.
- Memory Layout: Describes the micro-code memory organization, temporary storage, and data lists used for setup sequences.
Symbol Table and Program Statistics (Pages 110-122, 109):
- A comprehensive cross-reference listing all symbols used in the microcode with their definitions and references.
- Program statistics indicate "NO ERRORS DETECTED" during assembly, showing
02:44.723 CPU time used and 36P CORE USED.
Job Execution Log (Pages 1-3, 127):
- The document represents the output of a job named
DX20CA Req #100 for DEUFEL.TL executed on a TOPS-20 Development System on 3-Mar-82 (various timestamps throughout).
- It details the processing of the
DXMCA.LST.1 file, generating 304 Pages of Output, 113 Disk Pages Read, and consuming 8.596 Seconds CPU Time.
In essence, the document provides the source code and compilation/execution details for a magnetic tape subsystem microcode, highlighting its low-level control, comprehensive error handling, and diagnostic capabilities.