RT-11 Software Support Manual Update Notice 1

Company:Digital Equipment Corporation
Part:AD-H379B-T1
Date:1984-07
Keywords:
Operating System:RT-11 Version 5.1

Table of Contents

  • Chapter 1 Historical Overview
    • 1.1 Version 1
    • 1.2 Version 2
    • 1.3 Version 3
    • 1.4 Version 4
    • 1.5 Version 5
  • Chapter 2 System Components and Memory Layouts
    • 2.1 Static Components
      • 2.1.1 Trap Vectors
      • 2.1.2 System Communication Area
        • 2.1.2.1 User Error Byte
        • 2.1.2.2 Job Status Word (JSW)
      • 2.1.3 Interrupt Vectors
      • 2.1.4 I/O Page
      • 2.1.5 System Device Handler
      • 2.1.6 Resident Monitor (RMON)
      • 2.1.7 Background Job
        • 2.1.7.1 RUN Command
        • 2.1.7.2 R Command
        • 2.1.7.3 .CHAIN Request
    • 2.2 Dynamic Components
      • 2.2.1 Device Handlers and Free Space
      • 2.2.2 Foreground and System Jobs
        • 2.2.2.1 Differences Between Foreground and Background Jobs
        • 2.2.2.2 FRUN Command
        • 2.2.2.3 Starting Foreground and System Jobs
        • 2.2.2.4 Foreground Stack
        • 2.2.2.5 Foreground Impure Area
      • 2.2.3 User Service Routine (USR)
        • 2.2.3.1 Structure
        • 2.2.3.2 Execution
        • 2.2.3.3 Swapping Considerations
      • 2.2.4 Keyboard Monitor (KMON)
        • 2.2.4.1 Adding New Commands Through CCL
        • 2.2.4.2 Adding New Commands Through UCL
    • 2.3 Sizes of Components
      • 2.3.1 Size of the USR
      • 2.3.2 Size of KMON
      • 2.3.3 Size of RMON
      • 2.3.4 Size of Device Handlers
  • Chapter 3 Resident Monitor
    • 3.1 Terminal Service
      • 3.1.1 Output Ring Buffer
        • 3.1.1.1 Storing a Character in the Output Ring Buffer
        • 3.1.1.2 Removing a Character from the Output Ring Buffer
      • 3.1.2 Input Ring Buffer
        • 3.1.2.1 Storing a Character in the Input Ring Buffer
        • 3.1.2.2 Removing a Character from the Input Ring Buffer
      • 3.1.3 High Speed Ring Buffer
      • 3.1.4 Terminal I/O Limitations
      • 3.1.5 Control Functions
        • 3.1.5.1 CTRL/C
        • 3.1.5.2 CTRL/O
        • 3.1.5.3 CTRL/S and CTRL/Q
        • 3.1.5.4 CTRL/B, CTRL/F, and CTRL/X
      • 3.1.6 SET Options Status Word
    • 3.2 Clock Support and Timer Service
      • 3.2.1 SJ Systems Without Timer Service
      • 3.2.2 Systems with Timer Service
    • 3.3 Queued I/O System
      • 3.3.1 I/O Queue
      • 3.3.2 Completion Queue
        • 3.3.2.1 SJ Considerations
        • 3.3.2.2 .SYNCH Considerations
      • 3.3.3 Flow of Events in I/O Processing
        • 3.3.3.1 Issuing the Request
        • 3.3.3.2 Queuing the Request in SJ
        • 3.3.3.3 Queuing the Request in FB and XM
        • 3.3.3.4 Performing the I/O Transfer
        • 3.3.3.5 Completing the I/O Request
    • 3.4 Scheduling in Foreground/Background Systems
      • 3.4.1 User and System State
        • 3.4.1.1 Switching to System State Asynchronously
        • 3.4.1.2 Switching to System State Synchronously
        • 3.4.1.3 Returning to User State
      • 3.4.2 Context Switching
      • 3.4.3 Blocking Conditions
        • 3.4.3.1 How the Monitor Blocks a Job
        • 3.4.3.2 $SYSWT Monitor Routine
        • 3.4.3.3 How the Monitor Unblocks a Job
      • 3.4.4 Scheduler Operations
        • 3.4.4.1 How the Monitor Requests a Scheduling Pass
        • 3.4.4.2 Characteristics of a Runnable Job
        • 3.4.4.3 $RQTSW Monitor Routine
        • 3.4.4.4 How the Scheduler Works
      • 3.4.5 Implications for Completion Routines
    • 3.5 System Jobs
      • 3.5.1 Characteristics
      • 3.5.2 Logical Names
      • 3.5.3 Job Number
      • 3.5.4 Priority
      • 3.5.5 Design Considerations
        • 3.5.5.1 Scheduling Considerations
        • 3.5.5.2 Space Considerations
      • 3.5.6 Programmed Requests
      • 3.5.7 Message Handling
      • 3.5.8 Monitor Commands
        • 3.5.8.1 SRUN and FRUN Commands
        • 3.5.8.2 LOAD and UNLOAD Commands
        • 3.5.8.3 SUSPEND and RESUME Commands
        • 3.5.8.4 SHOW JOBS Command
        • 3.5.8.5 SET TT: NOFB Command
      • 3.5.9 Communicating with a System Job
      • 3.5.10 How to Queue Files from an Application Program
        • 3.5.10.1 Setting Up the Job Block
        • 3.5.10.2 Setting Up the File Block
        • 3.5.10.3 Setting Up the QUEUE Request Block
        • 3.5.10.4 Issuing the .LOOKUP Request
        • 3.5.10.5 Issuing the Request to QUEUE
        • 3.5.10.6 Receiving Acknowledgment from QUEUE
        • 3.5.10.7 QUEUE Example Program
    • 3.6 Data Structures
      • 3.6.1 Fixed Offsets
        • 3.6.1.1 Configuration Word
        • 3.6.1.2 Low-Memory Protection Bitmap
        • 3.6.1.3 Extension Configuration Word
        • 3.6.1.4 System Generation Features Word
        • 3.6.1.5 Transparent Spooler (SPOOL) Status Word
      • 3.6.2 Impure Area
        • 3.6.2.1 Single-Job Monitor Impure Area
        • 3.6.2.2 Foreground/Background Monitor Impure Area
      • 3.6.3 Queue Element Format Summary
        • 3.6.3.1 I/O Queue Element
        • 3.6.3.2 Completion Queue Element
        • 3.6.3.3 Synch Queue Element
        • 3.6.3.4 Fork Queue Element
        • 3.6.3.5 Timer Queue Element
      • 3.6.4 I/O Channel Format
      • 3.6.5 Device Tables
        • 3.6.5.1 $PNAME Table
        • 3.6.5.2 $STAT Table
        • 3.6.5.3 $DVREC Table
        • 3.6.5.4 $ENTRY Table
        • 3.6.5.5 $DVSIZ Table
        • 3.6.5.6 $HSIZE Table
        • 3.6.5.7 $UNAM1 and $UNAM2 Tables
        • 3.6.5.8 $OWNER Table
        • 3.6.5.9 Adding a Device to the Tables
  • Chapter 4 Extended Memory Feature
    • 4.1 Introduction
      • 4.1.1 16-Bit Addressing
      • 4.1.2 Virtual and Physical Addresses in a 28K-Word System
      • 4.1.3 Circumventing the 28K-Word Memory Limitation
      • 4.1.4 18-Bit Addressing
      • 4.1.5 Virtual and Physical Addresses with Extended Memory Hardware
      • 4.1.6 Circumventing the 32K-Word Addressing Limitation
    • 4.2 Hardware Concepts
      • 4.2.1 Memory Management Unit
      • 4.2.2 Concept of Pages
      • 4.2.3 Relocation
      • 4.2.4 Active Page Register (APR)
        • 4.2.4.1 Page Address Register (PAR)
        • 4.2.4.2 Page Description Register (PDR)
        • 4.2.5 Converting a 16-Bit Address to an 18-Bit Address
        • 4.2.6 Status Registers
        • 4.2.7 Kernel and User Processor Modes
        • 4.2.8 Default Mapping
    • 4.3 Software Concepts
      • 4.3.1 XM System Memory Layout
      • 4.3.2 How Programs Control Mapping
        • 4.3.2.1 Physical Address Regions
        • 4.3.2.2 Virtual Address Windows
        • 4.3.2.3 Program's Logical Address Space (PLAS)
      • 4.3.3 Two Kinds of Mapping
        • 4.3.3.1 Virtual Jobs
        • 4.3.3.2 Privileged Jobs
        • 4.3.3.3 Differences Between Virtual and Privileged Jobs
        • 4.3.3.4 Context Switching Between Virtual and Privileged Jobs
    • 4.4 Typical Extended Memory Applications
      • 4.4.1 Extended Memory Overlays
      • 4.4.2 Large Buffers or Arrays in Extended Memory
      • 4.4.3 Multi-User Program
      • 4.4.4 Work Space in Extended Memory
        • 4.4.4.1 Enabling the XM Feature of the .SETTOP Programmed Request
        • 4.4.4.2 Program and Virtual High Limits and the Next Free Address
        • 4.4.4.3 Non-XM .SETTOP
        • 4.4.4.4 XM .SETTOP
        • 4.4.4.5 XM .SETTOP and Privileged Jobs
        • 4.4.4.6 XM .SETTOP and Virtual Jobs
        • 4.4.4.7 Summary of .SETTOP Action
      • 4.4.5 Plan Your Own Application
    • 4.5 Introduction to the Extended Memory Programmed Requests
    • 4.6 Extended Memory Data Structures
      • 4.6.1 Region Definition Block
        • 4.6.1.1 Region Status Word
        • 4.6.1.2 .RDBDF Macro
        • 4.6.1.3 .RDBBK Macro
      • 4.6.2 Region Control Block
      • 4.6.3 Window Definition Block
        • 4.6.3.1 Window Status Word
        • 4.6.3.2 .WDBDF Macro
        • 4.6.3.3 .WDBBK Macro
      • 4.6.4 Window Control Block
      • 4.6.5 I/O Queue Element
      • 4.6.6 Free Memory List
    • 4.7 Flow of Control Within Each Programmed Request
      • 4.7.1 Creating a Region: .CRRG
      • 4.7.2 Creating a Window: .CRAW
      • 4.7.3 Mapping a Window to a Region: .MAP
      • 4.7.4 Getting the Mapping Status: .GMCX
      • 4.7.5 Unmapping a Window: .UNMAP
      • 4.7.6 Eliminating a Region: .ELRG
      • 4.7.7 Eliminating a Window: .ELAW
      • 4.7.8 Summary of Extended Memory Programmed Request Error Codes
    • 4.8 Restrictions and Design Implications
      • 4.8.1 PAR1 Restriction
      • 4.8.2 Programmed Requests
      • 4.8.3 PAR2 Restriction
      • 4.8.4 Synchronous System Traps
        • 4.8.4.1 TRAP, BPT, and IOT Instructions
        • 4.8.4.2 Traps to 4 and 10, and FPU Traps
        • 4.8.4.3 Memory Management Faults
        • 4.8.4.4 Memory Parity Errors
    • 4.9 Debugging an XM Application
    • 4.10 Extended Memory Example Program
  • Chapter 5 Multi-Terminal Feature
    • 5.1 Components of a Multi-Terminal System
    • 5.2 Hardware Background Information
    • 5.3 What Is the Console Terminal?
    • 5.4 Using Two or More Terminals
      • 5.4.1 A Video Console Terminal and a Hard Copy Printing Terminal
        • 5.4.1.1 The Video Terminal Is the Boot-Time Console
        • 5.4.1.2 The Hard Copy Terminal Is the Boot-Time Console
      • 5.4.2 Switching the Console Terminal
      • 5.4.3 A Separate Terminal for Each Job
      • 5.4.4 Multi-Terminal Applications
    • 5.5 Introduction to Multi-Terminal Programmed Requests
    • 5.6 Multi-Terminal Data Structures
      • 5.6.1 Terminal Control Block (TCB)
        • 5.6.1.1 Format
        • 5.6.1.2 Patching a TCB
      • 5.6.2 Asynchronous Terminal Status (AST) Word
    • 5.7 Using the Multi-Terminal Programmed Requests
      • 5.7.1 Attaching a Terminal: .MTATCH
      • 5.7.2 Getting Terminal Status: .MTGET
      • 5.7.3 Setting Terminal Characteristics: .MTSET
      • 5.7.4 Getting a Character: .MTIN
      • 5.7.5 Printing a Character: .MTOUT
      • 5.7.6 Printing a Line: .MTPRNT
      • 5.7.7 Resetting CTRL/O: .MTRCTO
      • 5.7.8 Getting System Status: .MTSTAT
      • 5.7.9 Detaching a Terminal: .MTDTCH
    • 5.8 Summary of Multi-Terminal Programmed Request Error Codes
    • 5.9 The Console as a Special Case
    • 5.10 Interrupt Service
      • 5.10.1 Local Terminals
      • 5.10.2 Remote Terminals
    • 5.11 Polling Routines
      • 5.11.1 Time-Out Routine for DL Terminals
      • 5.11.2 DZ Remote Line Polling Routine
    • 5.12 Restrictions
    • 5.13 Debugging a Multi-Terminal Application
    • 5.14 Multi-Terminal Example Program
  • Chapter 6 Interrupt Service Routines
    • 6.1 Non-Interrupt Programmed I/O
    • 6.2 Interrupt-Driven I/O
      • 6.2.1 How an Interrupt Works
      • 6.2.2 Device and Processor Priorities
      • 6.2.3 Processor Status (PS) Word
    • 6.3 In-Line Interrupt Service Routines Versus Device Handlers
    • 6.4 How to Plan an Interrupt Service Routine
      • 6.4.1 Get to Know Your Device
      • 6.4.2 Study the Structure of an Interrupt Service Routine
      • 6.4.3 Study the Skeleton Interrupt Service Routine
      • 6.4.4 Think About the Requirements of Your Program
      • 6.4.5 Prepare a Flowchart of Your Program
      • 6.4.6 Write the Code
      • 6.4.7 Test and Debug the Program
    • 6.5 Structure of an Interrupt Service Routine
      • 6.5.1 Protecting Vectors: .PROTECT
      • 6.5.2 Setting Up the Interrupt Vector
      • 6.5.3 Stopping Cleanly: .DEVICE
      • 6.5.4 Lowering Processor Priority: .INTEN
      • 6.5.5 Issuing Programmed Requests: .SYNCH
      • 6.5.6 Running at Fork Level: .FORK
      • 6.5.7 Summary of .INTEN, .FORK, and .SYNCH Action
      • 6.5.8 Exiting from Interrupt Service: RTS PC
      • 6.5.9 Servicing Interrupts in FORTRAN: INTSET
    • 6.6 Skeleton Outline of an Interrupt Service Routine
    • 6.7 Interrupt Service Routines in XM Systems
  • Chapter 7 Device Handlers
    • 7.1 How to Plan a Device Handler
      • 7.1.1 Get to Know Your Device
      • 7.1.2 Study the Structure of a Standard Device Handler
      • 7.1.3 Study the Skeleton Device Handler
      • 7.1.4 Think About Using the Special Features
      • 7.1.5 Study the Sample Handlers
      • 7.1.6 Prepare a Flowchart of the Device Handler
      • 7.1.7 Write the Code
      • 7.1.8 Install, Test, and Debug the Handler
    • 7.2 Structure of a Device Handler
      • 7.2.1 Preamble Section
        • 7.2.1.1 .DRDEF Macro
        • 7.2.1.2 Device-Identifier Byte
        • 7.2.1.3 Device Status Word
        • 7.2.1.4 Device Size Word
      • 7.2.2 Header Section
        • 7.2.2.1 Information in Block 0
        • 7.2.2.2 First Five Words of the Handler
        • 7.2.2.3 .DRBEG Macro
        • 7.2.2.4 Multi-Vector Handlers: .DRVTB Macro
        • 7.2.2.5 PS Condition Codes
      • 7.2.3 I/O Initiation Section
      • 7.2.4 Interrupt Service Section
        • 7.2.4.1 Abort Entry Point
        • 7.2.4.2 Lowering the Priority to Device Priority
        • 7.2.4.3 .DRAST Macro
        • 7.2.4.4 Guidelines for Coding the Interrupt Service Section
      • 7.2.5 I/O Completion Section
      • 7.2.6 Handler Termination Section
        • 7.2.6.1 The .DREND Macro
        • 7.2.6.2 Pseudo-Devices
    • 7.3 Skeleton Outline of a Device Handler
    • 7.4 Handlers That Queue Internally
      • 7.4.1 Implementing Internal Queuing
      • 7.4.2 Interrupt Service for Handlers That Queue Internally
      • 7.4.3 Abort Procedures for Handlers That Queue Internally
    • 7.5 SET Options
      • 7.5.1 How the SET Command Executes
      • 7.5.2 SET Table Format
      • 7.5.3 .DRSET Macro
      • 7.5.4 Routines to Modify the Handler
      • 7.5.5 Examples of SET Options
    • 7.6 Device I/O Time-out
      • 7.6.1 .TIMIO Macro
      • 7.6.2 .CTIMIO Macro
      • 7.6.3 Device Time-out Applications
        • 7.6.3.1 Multi-Terminal Service
        • 7.6.3.2 Typical Timer Procedure for a Disk Handler
        • 7.6.3.3 Line Printer Handler Example
    • 7.7 Error Logging
      • 7.7.1 When and How to Call the Error Logger
        • 7.7.1.1 To Log a Successful Transfer
        • 7.7.1.2 To Log a Hard Error
        • 7.7.1.3 To Log a Soft Error
        • 7.7.1.4 Differences Between Hard and Soft Errors
        • 7.7.1.5 To Call the Error Logger
      • 7.7.2 Error Logging Examples
      • 7.7.3 How to Add a Device to the Reporting Program
    • 7.8 Special Functions
      • 7.8.1 .SPFUN Programmed Request
      • 7.8.2 How to Support Special Functions in a Device Handler
      • 7.8.3 Variable Size Volumes
      • 7.8.4 Bad Block Replacement
      • 7.8.5 Devices with Special Directories
    • 7.9 Device Handlers in XM Systems
      • 7.9.1 Naming Conventions and the System Conditional
      • 7.9.2 XM Environment
      • 7.9.3 The Queue Element in XM
      • 7.9.4 DMA Devices: $MPPHY Routine
      • 7.9.5 Character Devices: $GETBYT and $PUTBYT Routines
        • 7.9.5.1 $GETBYT Routine
        • 7.9.5.2 $PUTBYT Routine
      • 7.9.6 Any Device: $PUTWRD Routine
      • 7.9.7 Handlers That Access the User Buffer Directly
    • 7.10 System Device Handlers and Bootstraps
      • 7.10.1 Monitor Files
      • 7.10.2 Creating a System Device Handler
        • 7.10.2.1 Primary Driver
        • 7.10.2.2 Entry Routine
        • 7.10.2.3 Software Bootstrap
        • 7.10.2.4 Bootstrap Read Routine
        • 7.10.2.5 Bootstrap Error Routine
        • 7.10.2.6 .DRBOT Macro
      • 7.10.3 DUP and the Bootstrap Process
        • 7.10.3.1 BOOT ddn:filnam
        • 7.10.3.2 COPY/BOOT xxn:filenam ddm:
        • 7.10.3.3 BOOT ddn:
    • 7.11 How to Assemble, Link, and Install a Device Handler
      • 7.11.1 Assembling a Device Handler
      • 7.11.2 Linking a Device Handler
      • 7.11.3 Installing a Device Handler
        • 7.11.3.1 Using the Bootstrap to Install Handlers Automatically
        • 7.11.3.2 Using the INSTALL Command to Install Handlers Manually
        • 7.11.3.3 Using the DEV Macro to Aid Automatica Installation
        • 7.11.3.4 Installing Devices Whose Hardware Is Present
        • 7.11.3.5 Writing an Installation Verification Routine
        • 7.11.3.6 Overriding the Hardware Restriction
    • 7.12 How to Test and Debug a Device Handler
      • 7.12.1 Using ODT to Test a Handler
      • 7.12.2 Using ODT in XM
    • 7.13 Contents of .SYS Image of a Device Handler
  • Chapter 8 File Formats
    • 8.1 Object File Format (OBJ)
      • 8.1.1 Global Symbol Directory Block (GSD)
        • 8.1.1.1 Module Name (Entry Type 0)
        • 8.1.1.2 Control Section Name (Entry Type 1)
        • 8.1.1.3 Internal Symbol Name (Entry Type 2)
        • 8.1.1.4 Transfer Address (Entry Type 3)
        • 8.1.1.5 Global Symbol Name (Entry Type 4)
        • 8.1.1.6 Program Section Name (Entry Type 5)
        • 8.1.1.7 Program Version Identification (Entry Type 6)
        • 8.1.1.8 Mapped Array Declaration (Entry Type 7)
      • 8.1.2 End of Global Symbol Directory Block (ENDGSD)
      • 8.1.3 Text Information Block (TXT)
      • 8.1.4 Relocation Directory Block (RLD)
        • 8.1.4.1 Internal Relocation (Entry Type 1)
        • 8.1.4.2 Global Relocation (Entry Type 2)
        • 8.1.4.3 Internal Displaced Relocation (Entry Type 3)
        • 8.1.4.4 Global Displaced Relocation (Entry Type 4)
        • 8.1.4.5 Global Additive Relocation (Entry Type 5)
        • 8.1.4.6 Global Additive Displaced Relocation (Entry Type 6)
        • 8.1.4.7 Location Counter Definition (Entry Type 7)
        • 8.1.4.8 Location Counter Modification (Entry Type 8)
        • 8.1.4.9 Program Limits (Entry Type 11)
        • 8.1.4.10 P-sect Relocation (Entry Type 12)
        • 8.1.4.11 P-sect Displaced Relocation (Entry Type 14)
        • 8.1.4.12 P-sect Additive Relocation (Entry Type 15)
        • 8.1.4.13 P-sect Additive Displaced Relocation (Entry Type 16)
        • 8.1.4.14 Complex Relocation (Entry Type 17)
      • 8.1.5 Internal Symbol Directory Block (ISD)
      • 8.1.6 End of Module Block (ENDMOD)
    • 8.2 Symbol Table Definition File Format (STB)
    • 8.3 Library File Format (OBJ and MAC)
      • 8.3.1 Library Header Format
      • 8.3.2 Library Directories
      • 8.3.3 Library End Block Format
    • 8.4 Absolute Binary File Format (LDA)
    • 8.5 Save Image File Format (SAV)
    • 8.6 Relocatable File Format (REL)
      • 8.6.1 REL Files Without Overlays
      • 8.6.2 REL Files with Overlays
    • 8.7 Stream ASCII File Format
    • 8.8 CREF File Format
    • 8.9 Error Log File Formats
      • 8.9.1 Error Log Disk File Format
  • Chapter 9 File Storage
    • 9.1 Random-Access Devices
      • 9.1.1 Home Block
      • 9.1.2 Directory Structure
        • 9.1.2.1 Directory Header Format
        • 9.1.2.2 Directory Entry Format
        • 9.1.2.3 File Protection
        • 9.1.2.4 Sample Directory Segment
      • 9.1.3 File Storage on Random-Access Devices
      • 9.1.4 Size and Number of Files
      • 9.1.5 Splitting a Directory Segment
      • 9.1.6 How to Recover Data When the Directory Is Corrupted
        • 9.1.6.1 Examine Segment 1
        • 9.1.6.2 Follow the Chain of Segments
        • 9.1.6.3 Remove the Data from the Good Segments
        • 9.1.6.4 Remove the Data from the Bad Segment
      • 9.1.7 Interchange Diskette Format
    • 9.2 Sequential-Access Devices
      • 9.2.1 Magtape Structure
      • 9.2.2 Cassette Structure
  • Chapter 10 Programming for Specific Devices
    • 10.1 Magtape Handlers (MM, MS, MT)
      • 10.1.1 File Structure Magtape Handler
        • 10.1.1.1 Searching by Sequence Number
        • 10.1.1.2 Searching by File Name
        • 10.1.1.3 Programmed Requests
        • 10.1.1.4 Issuing Hardware Handler Calls with the File Structure Module
      • 10.1.2 Hardware Magtape Handler
        • 10.1.2.1 Exception Reporting
        • 10.1.2.2 Reading and Writing Physical Blocks
        • 10.1.2.3 Spacing Forward and Backward
        • 10.1.2.4 Rewinding
        • 10.1.2.5 Rewinding and Going Off Line
        • 10.1.2.6 Writing with Extended Gap
        • 10.1.2.7 Writing a Tape Mark
        • 10.1.2.8 Error Recovery
        • 10.1.2.9 Non-File-Structured .LOOKUP Programmed Request
        • 10.1.2.10 .CLOSE Programmed Request
        • 10.1.2.11 Non-File-Structured .WRITx Programmed Requests
        • 10.1.2.12 Non-File-Structured .READx Programmed Requests
        • 10.1.2.13 Enabling 100ips Streaming on a TS05
      • 10.1.3 Transporting Tapes to RT-11
        • 10.1.3.1 From RSTS/E
        • 10.1.3.2 From RSX-11M
        • 10.1.3.3 From RSX-11D and IAS
      • 10.1.4 Seven-Track Tape
    • 10.2 Cassette Handler: CT
      • 10.2.1 Handler Functions
        • 10.2.1.1 .LOOKUP Request
        • 10.2.1.2 .DELETE Request
        • 10.2.1.3 .ENTER Request
        • 10.2.1.4 .CLOSE Request
        • 10.2.1.5 .READ/.WRITE Requests
      • 10.2.2 Cassette Special Functions
        • 10.2.2.1 Rewind
        • 10.2.2.2 Last File
        • 10.2.2.3 Last Block
        • 10.2.2.4 Next File
        • 10.2.2.5 Next Block
        • 10.2.2.6 Write File Gap
      • 10.2.3 EOF Detection
    • 10.3 Diskette Handlers: DX and DY
    • 10.4 Card Reader Handler: CR
    • 10.5 High-Speed Paper Tape Reader and Punch: PC
    • 10.6 Console Terminal Handler: TT
    • 10.7 RK06/07 Disk Handler: DM
      • 10.7.1 Bad Block Replacement
      • 10.7.2 .SPFUN Requests
    • 10.8 RL/01 Disk Handler: DL
    • 10.9 Null Handler: NL
    • 10.10 DECtape II Handler: DD
      • 10.10.1 Write-Protect Feature
      • 10.10.2 Data Storage
      • 10.10.3 Adding Bad Blocks to Avoid Excessive Rewinds
    • 10.11 MSCP Disk Handler: DU
      • 10.11.1 Addressing an MSCP Disk
        • 10.11.1.1 MSCP Unit Numbers
        • 10.11.1.2 Controller Port Numbers
        • 10.11.1.3 Disk Partition Numbers
      • 10.11.2 .SPFUN Requests
    • 10.12 Virtual Memory Handler: VM
    • 10.13 Logical Disk Handler: LD
      • 10.13.1 LD Translation Tables
      • 10.13.2 Other Bits Used by the LD Handler
      • 10.13.3 Special LD Option: /$
  • Chapter 11 Specifics for Professional 300 Series Processors
    • 11.1 Professional 300 Series Keyboard
      • 11.1.1 Normal Mode
      • 11.1.2 Function Key Mode (DECFKM)
    • 11.2 Professional 300 Series Video Terminal
      • 11.2.1 Advanced Video Option Emulation
      • 11.2.2 Text Cursor Mode (DECTCEM)
      • 11.2.3 Device Attributes (DA)
  • Appendix A RK, DX, and PC Device Handlers
  • Appendix B Converting Device Handlers to V05 Format
  • Appendix C Sample Application Program

Copies

No copies are known to be online. Feel free to create a bug report on our GitHub project if you know of an online copy of this publication.