RT-11 Software Support Manual Update Notice 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.