Input / Output Subsystem
(Release Level 2.0, Preliminary)
Implementation Guide
Revision: 4 December 1978
Table of Contents
Section | Subject | Page |
---|---|---|
1.0 | Purpose of This Document | 1 |
1.1 | Introduction to the I/O Subsystem | 1 |
2.0 | The Pascal Level: Unit I/O Procedures | 4 |
2.1 | Calling the Next Level Down: RSP/IO | 4 |
2.1.1 | Units and UNITNUMBERS | 5 |
2.1.2 | The CONTROL Parameter | 5 |
2.2 | IORESULT and Completion Codes | 6 |
2.3 | Logical Disk Structure | 7 |
2.3.1 | Physical Sector Addressing Mode | 8 |
2.3.1.1 | Physical Sector Numbers | 8 |
2.3.1.2 | Physical Sector Size | 9 |
3.0 | The Interpreter Level: RSP/IO | 10 |
3.1 | Calling Mechanisms | 10 |
3.1.1 | UNITREAD and UNITWRITE | 10 |
3.1.1.1 | Parameter Description | 10 |
3.1.1.2 | Parameter Stack Format | 12 |
3.1.2 | UNITBUSY | 12 |
3.1.3 | UNITWAIT | 13 |
3.1.4 | UNITCLEAR | 13 |
3.2 | Semantics | 16 |
3.2.1 | Special Character Handling on Output | 17 |
3.2.1.1 | Blank Compression Code (DLE's) | 17 |
3.2.1.2 | Carriage Return - Line Feed | 17 |
3.2.1.3 | NOSPEC Bit in CONTROL | 17 |
3.2.2 | Special Character Handling on Input | 17 |
3.2.2.1 | Console EOF Character | 18 |
3.2.2.2 | BIOS Functions | 18 |
3.2.2.3 | NOSPEC Bit in CONTROL | 18 |
3.3 | Modelling RSP/IO Using Pascal | 18 |
4.0 | The Machine Level: BIOS | 20 |
4.1 | Design Goals | 20 |
4.2 | Completion Codes | 21 |
4.3 | Calling Mechanisms | 21 |
4.3.1 | Console | 21 |
4.3.2 | Printer | 22 |
4.3.3 | Disk | 22 |
4.3.4 | Remote | 22 |
4.4 | Character Codes | 22 |
4.5 | Semantics | 24 |
4.5.1 | Console | 24 |
4.5.1.1 | Output Requirements | 24 |
4.5.1.2 | Output Options | 25 |
4.5.1.3 | Input Requirements | 26 |
4.5.1.4 | Input Options | 26 |
4.5.1.4.1 | START/STOP | 26 |
4.5.1.4.2 | FLUSH | 27 |
4.5.1.4.3 | ALPHALOCK | 27 |
4.5.1.4.4 | BREAK | 27 |
4.5.1.4.5 | Type-Ahead | 27 |
4.5.1.5 | Initialization | 28 |
4.5.2 | Printer | 28 |
4.5.2.1 | Output Requirements | 29 |
4.5.2.2 | Input Requirements | 29 |
4.5.2.3 | Initialization | 30 |
4.5.3 | Disk | 30 |
4.5.3.1 | Mapping Logical Blocks onto Physical Sectors | 30 |
4.5.3.1.1 | Interleaving | 30 |
4.5.3.1.2 | Bootstrap Location | 31 |
4.5.3.2 | Output Requirements | 31 |
4.5.3.3 | Input Requirements | 32 |
4.5.3.4 | Initialization | 32 |
4.5.3.5 | Physical Sector Mode | 33 |
4.5.4 | Remote. | 33 |
4.5.4.1 | Output Requirements | 33 |
4.5.4.2 | Input Requirements | 33 |
4.5.4.3 | Initialization | 33 |
4.6 | Special BIOS Calls | 33 |
4.6.1 | Memory Sizing | 34 |
4.6.2 | System Halt | 34 |
4.6.3 | Start Clock | 34 |
A | Pascal Realization of RSP/IO | 35 |
B | Summary of BIOS Calling Sequences | 36 |
C | Examples of Current Processor-Specific BIOS Calling Sequences | 38 |
C.1 | Z-80/8080 | 38 |
C.2 | 6500 Series | 39 |
C.3 | 6800 | 40 |