Print UserManual.tif (222 Pages) DEC 15 ODUMA A DOS15_UM_Dec72 DOS15 UM Dec72
DEC-15-ODUMA-A-DOS15_UM_Dec72 DEC-15-ODUMA-A-DOS15_UM_Dec72
User Manual: DEC-15-ODUMA-A-DOS15_UM_Dec72
Open the PDF directly: View PDF .
Page Count: 222
Download | |
Open PDF In Browser | View PDF |
DEC- 15-0DUMA-A-D -15 users manual SOFTWARE SUPPORT CATEGORY The software described in this document is supported by Digital Equipment Corporation under Category I, as defined on page iii of this document. For additional copies, order No. DEC-15-0DUMA-A-D from Software Distribution Center, Digital Equipment Corporation, Maynard, Massachusetts 01754 First Printing December, 1972 Your attention is invited to the last two pages of this document. The "How to Obtain Software Information" page tells you how to keep up-to-date with DEC's software. Completion and return of the "Reader's Comments" page is beneficial to both you and DEC; all comments received are acknowledged and are considered when documenting subsequent manuals. Copyright by Digital Equipment Corporation DEC assumes no responsibility for the use or reliability of its software on equipment which is not supplied by DEC. The material in this document is for information purposes and is subject to change without notice. The following are trademarks of Corporation, Maynard, Massachusetts: CDP COMPUTER LABS COMTEX-ll DDT DEC DECTAPE DIBOL Teletype is a Corporation. DIGITAL EDUSYSTEM FLIP CHIP FOCAL GLC-8 IDACS INDACS KA10 LAB-8 OMNIBUS OS/8 OS/l1 PDP PHA registered trademark Equipment Digital of QUICKPOINT RAD-8 RSTS RSX SABR TYPESET-8 UNIBUS the Teletype SOFTWARE SUPPORT CATEGORIES Digital Equipment Corporation (DEC) makes available four categories of software. These categories reflect the types of support a customer may expect from DEC for a specified software product. DEC reserves the right to change the category of a software product at any time. The four categories are as follows: Software CATEGORY Products Supported at no Charge This classification includes current versions of monitors, programming languages, and support programs provided by DEC. DEC will provide installation (when applicable), advisory, and remedial support at no charge. These services are limited to original purchasers of DEC computer systems who have the requisite DEC equipment and software products. At the option of DEC, a software product may be recategorized from Category I to Category II for a particular customer if the software product has been modified by the customer or a third party. Software Products CATEGORY II that Receive Support for a Fee This category includes prior versions of Category I programs and all other programs available from DEC for which support is given. Programming assistance (additional support), as available, will be provided on these DEC programs and non-DEC programs when used in conjunction with these DEC programs and equipment supplied by DEC. CATEGORY III Pre-Release Software DEC may elect to release certain software products to customers in order to facil itate final testing and/or customer familiarization. In this event, DEC will limit the use of such pre-release software to internal, non-competitive appl ications. Category III software is only supported by DEC where this support is consistent with evaluation of the software product. While DEC will be grateful for the reporting of any criticism and suggestions pertaining to a pre-release, there exists no commitment to respond to these reports. CATEGORY IV Non-Supported Software This category includes all programs for which no support is given iii PREFACE This manual is the prime document for the DOS-1S Monitor Software System and describes its features, concepts, programming, and operating procedures. The first four chapters provide a general descrip- tion of the 005-15 System components, both hardware and software, fundamental syste~ concepts, and file structures. Th e remaining six chapters deal with the 005-15 system at a more technical level. They are primarily concerned with I/O programming requirements and techniques under the Monitor, runtime keyboard commands, and operating procedures. The information in these chapters is directed primarily to readers wbo are familiar with either the FORTRAN IV language or the PDP-1S assembly language, MACRO-1S (described in DEC-lS-GFWA-D and DEC~15-:-AMZC-D-I respectively). FORTRAN users, however, need only be concerned with Chapters 7, 8, and 10, since FORTRAN I/O considerations are specifically covered in the PDP-1S FORTRAN IV Operating Enviro$ment manual (DEC-lS-GFZA-D). Detailed information on the internal operations of the 005-15 Monitor and its file structure as well as procedures for preparing usercre ated system software are provided in the DOS-1S System Manual (DEC-1S-NRDA-D). Brief descriptions of all system programs with applicable document numbers are contained in Chapter 2. A quick reference summary of the command strings, operating procedures and error messages for the Monitor and system programs is provided in the 005-15 Keyboard Command Guide (DEC-1S-NGKA-D). v CONTENTS PREFACE CHAPTER 1 1.1 1.1.1 DISK OPERATING SYSTEM INTRODUCTION System Features 1-1 1-2 SYSTEM HARDWARE 1.2 Minimum Hardware Requirements 1. 2.1 1. 2. 2 Optional Hardware 1.2.2.1 Control X Feature 1.2.2.2 Real-Time Clock 1. 2.3 The System Device 1.3 1. 3.1 1.3.2 CHAPTER 2 SYSTEM SOFTWARE How DOS is Supplied DOS Checkout Package 1-3 1-3 1-5 l-S 1-6 1-6 1-6 1-10 1-10 SYSTEM PROGRN1S 2.1 INTRODUCTION 2-1 2.2 2.2.1 2.2.2 2.2.3 CHOICE OF LANGUAGES FORTRAN IV Compiler MACRO Assembler FOCAL Programs 2-1 2-1 2-2 2-4 2.3 SYSTEM GENERATOR (SGEN) 2-4 2.4 PATCH SYSTEM UTILITY PROGRAM 2-S CHAIN AND EXECUTE PROGRAMS Advantages/Disadvantages of CHAIN & EXECUTE Advantages 2.5.1.1 2.S.1.2 Disadvantages 2-7 2-7 2. S 2.S.1 2-7 2-8 2.6 LINKING LOADER 2-8 2.7 DYNAMIC DEBUGGING TECHNIQUE (DOT) PROGRAM 2-9 2.8 DUMP PROGRA."1 2-9 2.9 MAGNETIC TAPE DU"1P 2.10 TEXT EDITOR PROGRAMS, EDIT, EDITVP AND EDITVT 2-10 2.11 PERIPHERAL INTERCHANGE PROGRA:1. (P IP) 2-10 2.12 DECTAPE COPY (DTCOPY) 2-11 2.13 LIBRARY UPDAT~ (MTDU"1P) UTILITYPROGRAI1 2-9 PROGRAM vii 2-11 2.14 SOURCE COMPARE PROGRAM (SRCCOM) 2-11 2.15 GRAPHIC-IS 2-11 2.16 PDP-8 TO PDP-IS TRANSLATOR (8TRAN) 2-11 2.17 PDP-8 TO PDP-9 TRANSLATOR (89TRAN) 2-12 2.18 VP15A GRAPHICS SOFTWARE 2-12 CHAPTER 3 SYSTEM CONCEPTS 3.1 .3 .1.1 3.1. 2 DOS-IS MONITORING FUNCTIONS System Communication Table • Monitor/User Interaction 3.2 3.2.1 3.2.2 3.2.3 I/O COMMUNICATION Device Independence I/O Device Handlers Device Assignment Table (.DAT) 3-4 3-4 3-5 3-S 3 ..3 3.3.1 3.3 . 2 FILE STRUCTURES User File Directories and UIC's Monitor Identification Code (MIC) 3-5 3-6 3-6 3.4 FILE PROTECTION 3-7 3.S I/O BUFFERS 3-7 (SCO~1) 3-1 3 -2 3-3 CHOICE Op · EXECU'TABLE FORM 3.6 3.6.1 Relocatable Binary 3.6.2 Absolute Binary Forms 3.6.2.1 .ABS and .ABSP Binary 3.6.2.2 .FULL and .FULLP Binary 3-7 3-7 3-8 3-8 3-8 LOADER CONTROL 3.7 3.7.1 G10bals 3.7.2 Program Loading 3.7.2.1 Page Mode Operation Bank Mode Operatio ns 3.7.2.2 3-8 3.8 CHAPTER 4 ERROR DETECTION 3-9 3-9 3-9 3 -9 . 3-10 FILE STRUCTURES 4.1 INTRODUCTION 4-1 4.2 DEVICE ASSIGNMENTS 4-1 4.3 4.3.1 4.3.2 4.3.3 FILES Records Words Data Modes 4-2 4.4 4.4.1 4.4.2 4.4.3 FILE STRUCTURES File and Data Access Techniques Sequential Acoess Direct Access 4-3 4-4 4-4 4-4 4.5 MAGNETIC TAPE FILE STRUCTURE 4-5 4-2 4-2 4-3 viii 4.6 DECTAPE FILE STRUCTURE 4-6 4.7 4.7.1 4.7.2 4.7.3 4.7.4 4.7.5 DISK FILE STRUCTURE User Identification Codes (UIC) The User File Directory Table (.UFDT) File Protection Organization of Specific Files on Disk The Disk Handlers 4-8 4-8 4-9 4-9 4-11 4-11 CHAPTER 5 5.1 DOS SYSTEM MACROS INTRODUCTION 5-1 5.2 MONITOR-PROCESSED COMMANDS 5.2.1 Summary of DOS Monitor System Macros 5.2.2 DOS-IS System Macro Expansions 5.2.2.1 .PUT 5.2.2.2 .GET 5.2.2.3 .GTBUF (Get Buffer) 5.2.2.4 .GVBUF (Give Buffer) 5.2.2.5 .OVRLA 5.2.2.6 .EXIT 5.2.2.7 . TIMER CHAPTER 6 PROG~~MED 5-1 5-1 5-2 5-3 5-4 5-5 5-5 5-6 5-6 5-7 I/O COMMANDS 6.1 INTRODUCTION 6-1 6.2 6.2.1 6.2.2 GENERAL I/O COMMUNICATIONS .READ/.WRITE/.RTRAN Operations .TRAN Operatiolns 6-1 6-3 6-3 SEQUENTIAL FILE PROCESSING Logical Record Format, lOPS and Image Modes 6.3.1.1 Header Word Pair Format 6.3.1.2 Using the Header Word Pair 6-3 6-3 6.4 DATA MODES 6.4.1 lOPS Modes 6.4.1.1 IOPS ASCII 6.4.1.2 lOPS Binary 6.4.2 Image Modes 6.4.3 Dump Mode 6.4.4 Log ica1 Record Terminators 6-6 6-7 6-7 6-9 6-10 6-12 6-12 6.6 SPECIFYING I/O DEVICES 6-16 6.7 6.7.1 6.7.2 6.7.3 6.7.4 6.7.5 6.7.6 I/O MACRO DESCRIPTIONS . CLEAR .CLOSE .DLETE . ENTER .FSTAT .INIT 6-16 6-17 6-17 6-18 6-18 6-19 6-20 6.3 6.3.1 ix 6-4 6-4 6.7.7 6.7.8 6.7.9 6.7.10 6.7.11 6.7.12 6.7.13 6.7.14 6.7.15 6.7.16 6.7.17 6.8 6.8.1 6.8.2 6.8.3 6.8.4 6.8.5 6.8.6 CHAPTER 7 .MTAPE . RAND . READ .RENAM .RTRAN .SEEK .TRAN .USER • WAIT .WAITR . WRITE 6-21 6-21 6-22 6-23 6-23 6-24 6-25 6-26 6-27 6-27 6-28 USING I/O MACROS Physical Device Capabilities Device Handler Characteristics I/O Macro Syntax .Se1ecting an I/O Macro Sequence Programming Example File Integrity Considerations 6-29 6-29 6-29 6-29 6-31 6-33 6-44 SYSTEM INITIALIZATION 7.1 INTRODUCTION 7-1 7.2 HOW THE SYSTEM SOFTWARE IS SUPPLIED 7-1 7.3 SYSTEM STARTUP PROCEDURES 7.3.1 Disk Restoration (DOSSAV) 7.3.1.1 Operating Procedures 7.3.1.2 Commands 7.3.1.3 Examples of DOSSAV Commands 7.3.1.4 Error Messages and ~eanings 7.3.1.5 Restart Procedures 7.3.2 Loading and Starting the Monitor 7.3.2.1 Loading the Bootstrap 7.3.2.2 Bootstrap Restart Procedures 7-2 7-2 7-3 7-3 7-5 7-7 7-8 7-8 7-9 7-9 7.4 7-10 CHAPTER 8 SYSTEM MODIFICATION (TAILORING) PROCEDURES KEYBOARD COMMANDS 8.1 INTRODUCTION 8-1 8.2 8.2.1 8.2.2 8.2.3 KEYBOARD COM~ND FORMATS AND CHARACTERS Keyboard Command Elements Editing Features When to Issue Keyboard Commands 8-2 8-2 8-2 8-3 8.3 8.3.1 8.3.2 8.3.3 COM'1ANDS TO REQUEST SYSTE'1 INFORMATION SCOM INSTRUCT REQUEST 8-3 8-3 8-5 8-8 8.4 8.4.1 8.4.2 8.4.3 8.4.4 COMMANDS RELATED TO FILE PROTECTION LOGIN MICLOG PROTECT LOGOUT 8-8 8-8 8-9 8-9 8-9 x 8.5 8-10 8.5.1 8.5.2 8.5.3 COMMANDS DEALING WITH I/O DEVICE ASSIGNMENTS REQUEST ASSIGN KEEP ON/OFF 8.6 8.6.1 8.6.2 CORE ALLOCATION COMMANDS BUFFS X4K ON/OFF 8-13 8-13 8-14 8.7 8.7.1 8.7.2 8.7.3 8.7.4 CORE IMAGE SAVE/RESTORE COMMANDS CTRL Q QDUMP PUT GET 8-14 8-15 8-15 8-15 8-16 8-10 8-12 8-13 8.8 VT15 DISPLAY COMMANDS 8.8.1 Operating Features 8.8.1.1 Display Modes 8.8.1.2 Clearing the Display Screen 8.8.1.3 Editing 8.8.2 Display Command Description 8.8.2.1 VT ON/OFF 8.8.2.2 HALF ON/OFF 8.8.2.3 CTRL X 8.8.2.4 Command Default Settings 8-17 8-17 8-17 8-18 8-18 8-18 8-18 8-19 8-19 8-19 8.9 MISCELLANEOUS COMMANDS 8.9.1 API ON/OFF 8.9.2 33TTY ON/OFF 8.9.3 CHANNEL 7/9 8.9.4 LP ON/OFF 8.9.5 BANK ON/OFF - PAGE ON/OFF 8.9.6 DATE 8.9.7 TIME 8.9.8 TIMEST 8.9.9 LOG 8.9.10 HALT 8.9.11 CTRL D 8-19 8-19 8-20 8-20 8-20 8-20 8-21 8-21 8-22 8-22 8-22 8-22 8.10 8-23 SYSTEM PROGRAM LOADING COMMANDS 8.11 PROGRAM START/RESTART/CONTINUE COMMANDS 8.11.1 CTRL C CTRL P 8.11.2 8.11. 3 CTRL S 8.11. 4 CTRL T 8.11.5 CTRL R 8-23 8-23 8-23 8-25 8-25 8-25 8.12 BATCHING KEYBOARD COMMANDS 8.12.1 Preparation 8.12.2 Operator Commands 8.12.2.1 BATCH 8.12.2.2 CTRL T 8.12.2.3 CTRL C 8.12.2.4 CTRL R 8.12.3 Job Control Commands 8.12.3.1 $JOB 8.12.3.2 $DATA 8.12.3.3 $END 8.12.3.4 $PAUSE 8.12.3.5 $EXIT 8.12.4 Restrictions 8-25 8-25 8-26 8-26 8-26 8-26 8-26 8-26 8-26 8-27 8-27 8-27 8-27 8-27 8.13 8-28 KEYBOl\RD ERHOR DETECTION AND Hl\NDLING xi CHAPTER 9 I/O DEVICE HANDLERS 9.1 INTRODUCTION 9-1 9.2 DEVICE HANDLERS ACCEPTABLE TO SYSTEM PROGRAMS FORTRAN IV (F4) MACRO-IS FOCAL EDIT, EDITVP, and EDITVT Linking Loader and DDT PIP (Peripheral Int e rchange Program SGEN (System r, e nerator) PATCH UPDATE DUMP CHAIN J;XECUTE SRCCOM (Source Compare) DTCOPY (DEC tape Copy) 8TRAN (PDP-8 to PDP-IS Translator) 89 TRAN (PDP-8 to PDP-9 Translator) MTDUMP (Magtape User's Utility Program) 9-2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.2.6 9.2.7 9.2.8 9.2.9 9.2.10 9.2.11 9.2.12 9.2.13 9.2.14 9.2.15 9.2.16 I/O HANDLER DESCRIPTIONS 9.3 9.3.1 Teleprinter Handler (TTA) 9.3.1.1 General Description 9.3.1.2 Device Dependent Characteristics Program -Control Characters 9.3.1.3 Paper Tape Punch Handlers (PPA,PPB, and 9.3.2 PPC) General Description 9.3.2.1 Device Dependent Characteristics 9.3.2.2 Paper Tape Reader Handlers (PRA and PRB) 9.3.3 DEC tape Handlers (DTA, DTC, DTD, DTE, 9.3.4 and DTF) General Description 9.3.4.1 Device Dependent Characteristics 9.3.4.2 DECdisk and Disk Pack Handlers (DKA/DPA, 9.3.5 DKB/ DPB, and DKC/DPC) General Description 9.3.5.1 Device Dependent Characteristics 9.3.5.2 Magtape Handlers (MTA, MTC, and MTF) 9.3.6 General Description 9.3.6.1 Device Dependent Characteristics 9.3.6.2 Line Printer Handler 9.3.7 9.3.7.1 General Description Device Dependent Characteristics 9.3.7.2 9.3.8 Card Reader Handler (COB) 9.3.8.1 General Description Device Dependent Characteristics 9.3.8.2 9.3.9 VP15A Storage Tube Display (VPA) CHAPTER 10 9-3 9-4 9-5 9-6 9-6 9-7 9-7 9-8 9-8 9-8 9-9 9-9 9-9 9-10 9-10 9-10 9-10 9-11 9-11 9-11 9-13 9-14 9-14 9-15 9-15 9-17 9-17 9-18 9-18 9-18 9-20 9-23 9-23 9-25 9-25 9-25 9-26 9-27 9-27 9-28 9-29 OPERATING PROCEDURES 10.1 INTRODUCTION 10-1 10.2 EXAMPLE OF KEYBOARD OPERATIONS 10-1 10.3 EXAMPLE OF OPERATING PROCEDURES USING COMMAND BATCHING MODE 10-9 10.4 ERROR DETECTION AND RECOVERY PROCEDURES 10-14 xii APPENDIX A PDP-15 lOPS ASCII STANDARD CHARACTER SET A-1 APPENDIX B SAMPLE lOPS ASCII PACKING AND UNPACKING ROUTINES B-1 APPENDIX C INPUT/OUTPUT DATA MODE TERMINATORS FOR SPECIFIC DEVICE HANDLERS C-1 APPENDIX D lOPS ERROR CODES D-1 APPENCIX E LINKING LOADER AND SYSTEM LOADER ERRORS E-1 APPENDIX F ·PDP-15 ASCII/HOLLERITH CORRESPONDENCE F-1 APPENDIX G DOS-15 CHECKOUT PROCEDURES G-l APPENDIX H DOS TERMS AND ACRONYMS H-1 INDEX xiii CHAPTER 1 DISK OPERATING SYSTEM 1.1 INTRODUCTION The PDP-15 ~isk Qperating §ystem (OOS-15) is an integrated set of software designed to meet the demands of research, engineering, and industrial environments. It includes the software necessary brings to the user the advantages of disk resident storage via rapid access to the system's resources. The operating system runs with a PDP-l5/20 Central Processor having at least 16,384 lS-bit words of main memory and the specific capabilities required by the system (see Paragraph 1. 2, "System Hardware"). The Sys tem Moni tor is an integrated set of commonly-used programs for the development of user applications. These programs include tools for: Program Preparation, Compilation, Assembly, Debugging, and Execution of User Programs. The DOS Monitor, the heart of the system, incorporates all the functions of the "Advanced Monitor System" plus the added power of fully automatic random access file operation. The user controls the operating system by instructions to the Monitor. The Monitor runs the jobs, supervises data and file manipulation, and interacts with the operator/user in a simple, conversational manner. In the operating system; data on mass storage is handled by macro statements used with the MACRO-l5 symbolic assembler language, and by the mass storage language elements incorporated into the FORTRAN IV compiler. 1-1 1.1.1 System Features Disk Resident System Software All DOS-15 System Software resides on either Interactive An interactive keyboard/program Monitor permits Operation device-independent programming and automatic DECdisk or Disk Pack. calling and loading of system and user programs. I/O Device Data and file manipulating I/O device handlers Handlers ~re Programmed Input/Output programming is simplified by the i1onitor use of a set of system commands which are Commands standardized for system-supported I/O devices. Conversational System Utility Programs interact with the operator/ Mode user in a simple, conversational manner. Dynamic Storage The available disk storage is automatically allo- Allocation cated for optimum storage utilization. Dynamic Buffer Input/Output core is automatically optimized by Allocation the Monitor. supplied for standard system peripherals. It allocates only that space which is required for the system and the user. Disk File Allows the most efficient use of disk capacity Structure and data retrieval for processing via: o System supported DECdisk and Disk Pack devices, providing both economy and storage capacity o Virtually unlimited data capacity (Disk Pack = 83.7 million words, DECdisk - 2.09 million words) o Random/Sequential File access o File Protection through unique user directories 1-2 o User/user file independence - identically named unformatted Input/Output (FORTRAN-IV) o Random Access - formatted as well as unformatted User-Created Input/~utput {FORTRAN-IV) The user may easily incorporate his own software System Files into the operating system, thereby tailoring the system to his hardware and software needs. Programming Several programming languages are offered: Languages FORTRAN IV, FOCAL, MACRO-IS. Bank and Page Choice of 8K (Bank Mode) or 4K (Page Mode) direct addressability. Modes Bank Mode permits DOS-IS operation on the PDP-9. The system provides for several levels of user file protection. Using unique User Identification Codes, each user can be assured of his file integrity. Files are protected and invisible to other users. The system provides privileged access to all files via a supervisory code maintained by the system owner or manager. 1.2 SYSTEM HARDWARE The Disk Operating System is defined within the limits of a particular PDP-IS hardware system configuration; i.e., central processor model, minimum and maximum core requirements, necessary features, and types and numbers of peripheral devices. The system software is distributed DEC tape or as a Disk Restore system on Magtape, and operates from DECdisk or Disk Pack with DEC tape or Magtape backup storage. 1.2.1 Minimum Hardware Requirements The minimum equipment configuration for the DOS-15 software includes the PDP-IS Central Processor with tthe following features: 16,384 lS-bit, 800-NScore memory 35 Teleprinter PC15 High-speed Paper Tape Reader and Punch 1-3 KE15 Extended Arithmetic Element TC15 DECtape Control 1 TU56 Dual DEC tape Transport or 2 TU55 DEC tape Transports, or TC59 Magtape Control 1 TU10, TU20, or TU30 Magnetic Tape Transport (7- or 9-track) RF15 DECdisk Control 1 RS09 DECdisk Drive (262,144 words) or RP15 Dis~ Pack Control 1 RP02 Disk Pack Drive (10.24 million words) 1 RP02D Disk Pack The PDP-15 hardware environment is illustrated in Figure 1-1. MEMORY BANKS ,..--,--.., r--r-.., L--t- 14K ' 4K' t4K~4KI L-i--..J J ~-----'---T""---'-----_J REAL TIME I CLOCK I _______ J AUTOMATIC EXTENOED ARITHMETIC ELEMENT I PRIORITY :'!..NIE.!!.R.llP.! INPUT/OUTPUT PROCESSOR OATA CHANNELSL---'-~~--'-~__--'-~__--'-~__~~ 1262K) ~~ LA-J ~ __ 1.I _____ OECTAPE rNTRDL - - - - - OTHER ONE REQ!, RED ~l MAGTAPE CONTROL - - - - OPTIONAL SUBSYSTEMS I L~ , - HIGH SPEED PAPERTAPE STATION , I • I , __ ~ I , L~ " 8 \ '--~ Figure 1-1 Hard~are Environment 1-4 I ---1 _ _ 1.2.2 Optional Hardware Additional hardware supported by the operating system is as follows: up to 32,768 18-bit, 800-NS core memory KAlS Automatic Priority Interrupt KW1S Real Time Clock FPlS Floating Point Processor 35 and/or 33 Teleprinter or LA3~ DECwriter PC15 High Speed Paper Tape Reader and Punch TC15 DEC tape Control 4 TU56 Dual or 8 TUSS DECtape Transports RF15 DECdisk Control 8 RS09 DECdisk Drives (262,144 words per drive) RPlS Disk Pack Control 8 RP02 Disk Pack Drives (10,240,000 words per drive) TCS9Magtape Control 8 TUlO, TU20 or TU30 (7- or 9-track) Tape Transports Card Readers CR03B 200 cpm Reader and Control or CRlS 1000 cpm Reader and Control VP1S Point Plotting Displays VTIS Graphic Display Processor VT04 Graphic Display Console LK3S Keyboard Line Printers LPIS - 1000 Ipm, 132 column line or - 356 Ipm, 80 dolumn line VWA Writing Tablet 1.2.2.1 CTRL X Feature - The Control X feature is available to the user whose system configuration incl.udes a VT15 Display Processor or a VT04 Display Console. This featute gives the capability of changing' from the hard copy output of the teleprinter to the soft copy output of the VT15 Display. __1~5 1.2.2.2 Real-Time Clock - The Real-Time Clock (on systems having this option) runs continuously, in order to update an elapsed time register. It can be used by the user to time jobs or to control program execution. In addition to the above, the user may adapt the system to incorporate many othe r specialized peripherals, such as X-Y plotter, d a ta acquisition equipment, etc. 1.2.3 The System Device The system device for 005-15 may be either the RF1S DECdisk, or the RP02 Disk Pack. The RF1S DECdisk equipment is composed of up to eight fixed-head, rotating disks which are treated by DOS as one contiguous storage area. The DOS Monitor provides for simultaneous use of the DECdisk or Disk Pack as a system device, file device, and scratch device. 1.3 SYSTEM SOFTWARE The PDP-IS Disk Operating System's service routines perform four primary tasks for all user applications (see Figure 1-2). 1. Run-Time Aids - External routines from several libraries are available to the user. The li- braries may contain either user-designed routines or those provided by DOS-1S which can be implicitly or explicitly called. 2. Utilities - OOS-lS provides facilities for efficient storage, flow, and retrieval of system and user data. There are also system programs that provide file verification and data buffer allocation, file data manipulation, etc. 3. Program Preparation and Maintenance - There are system programs to aid user program preparation by preparing file text for source programs and 1-6 LANGUAGES [DITVT DOS-15 MONITOR Figure 1-2 PDP-iS Monitor Disk Operating System Software 1-1 programs to aid testing and maintenance of object programs. 4. Language Assembly and Compilation - Programs are a v ailabl"e to translate problem-oriented and procedure oriented languages into machine language and to incorporate routines into complete, executable programs. The system software lets the user deal with many complex problems in a simple and straightforward manner. The system will perform all of these functions: 1. Write programs in three higher-level languages FORTRAN IV, FOCAL and MACRO-1S. 2. Edit and debug the program prior to run. 3. Load and link programs. 4• Run the progr am by: a. handling I/O, b. reading and writing named random-access files on disk storage, c. providing run-time device independence, -_.-__ __ -= __ _~-_-.:.;"~~_ _~...ir" ii·"~____!,r;:]1~-.:~:o.i .; L' ..j';J,.:·~!.S-~·._:~'l~'-~"'~ ' "'~~~~ -- -"l '-i~"~-~~ -'c; '';~ ;-:'';:-;''-'''':''-~"~~~~~~~~~~~~-===================- 5. Batch process from paper tape or cards. Listed in Table 1-1 are individual system programs in the PDP-1S Disk Operating System. Table 1-1 DOS System Software Program Name Sys t em Functions Description MONITORS DOS-1S Monitor Allows s yst e m parameter chang e s and device assignments. LANGUAGES FORTRAN IV Compiler, Object Time System, Science Library. FOCAL An on-line interactive algebraic language. MACRO-1S A symbolic assembler languag e. 1-8 Table 1-1 DOS System Software (Cont' d) Program Name System FUnctions PREPARATION AND Description DDT A Dynamic Debugging Technique for FORTRAN and MACRO programs. DUMP The capability to output specified core locations. EDIT Text Editor providing insertion, deletion, and modification of symbolic text. EDITVP & EDITVT Special versions of EDIT which provide fast soft copy editing on the VT or VP display system. PIt' Facilitates the manipulation and transfer of data files from any input to any output device. DTCOPY High-speed DECtape copy program. UPDATE Binary program retrieval and library update program. SRCCOM Source compare program. MTDUMP Magnetic Tape DUMP program. 8TRAN Translates PDP-a Source code into PDP-IS code. 89TRAN Translates PDP-a source code into PDP-9 code. SGEN Provides the ability to tailor the system structure to a particular hardware/software configuration. PATCH Makes corrections to systems programs on the systems device, and adds programs to the system. Linking Loader Loads relocatable programs and required routines. CHAIN & EXECUTE Multiple segmentation of large programs and overlays to allow economy of core. DEBUGGING UTILITIES General UTILITIES System OPERATING PROGRAMS 1-9 These programs are supervised by the Monitor to form an interactive collection of service programs. This relationship is illustrated in Figure 1-2. 1. 3.1 How DOS is Supplied General purpose software is suppli~d to the PDP-IS user on two DECtapes or one 7- or 9-track magnetic tape as a disk-restore initialization. The DOS-IS System tape (s) I contain all of the standard PDP-IS DOS System Programs, Utility Programs, and I/O Device Handlers supplied and supported by Digital Equipment Corporation. An unmodified master system tape or tapes should ,be maintained as a reference backup s ystem. Users with the FP-IS Floating Point hardware are provided with additional FP-lS routines on DECtape or Magtape. 1. 3. 2 DOS Checkout Package Digital Equipment Corporation supplies a checkout package for the DOS-lS which allows the user to te~t installation on DECdisk or Disk Pa¢k. b atch paper tapes . . ~n two vers~ons, the System software for proper The package is available on I ; as follows: RF.CHK For the RFIS DECdisk system (DEC-IS-CIDA-PA) RP.ChK For the RP~2 Disk i Pack system (DEC-IS-CIAA-PA) These programs provide the user with the ability to briefly test all the basic system software supplied i for DOS-IS. refer to Appendix G, DOS-IS Checkout Packaqe. 1-10 For more information, CHAPTER 2 SYSTEM PROGRAMS 2.1 INTRODUCTION This chapter gives information necessary for the System's Manager and Analyst to evaluate system programs to be run under DOS-15 control. Each system program will assist the user in performing a particular task in the process of application design and implementation. Con- siderations for system modification are reserved for DOS System Manual DEC-15-NRDA-D. 2.2 CHOICE OF LANGUAGES Use r s ource programs can be implemented at several levels depending on tho s e particular system features required for a given processing environment. DOS-15 supports three levels of automation for object pr ogram pr e paration: 2.2.1 1. Compiler level language - FORTRAN IV 2. Assembly language - MACRO-15 3. Interpretive language - FOCAL FORTRAN IV Compiler The PPP-l5 FORTRAN IV compiler is a higher-level, procedure-oriented language system that accepts statements written in the FORTRAN IV language and produces a relocatable object program capable of being loade d by the Linking Loader. All versions of PDP-15 FORTRAN IV are based on the language of USASI Standard FORTRAN (X3.9-l966). The system is augmented by the Floating Point Processor, the FORTRAN IV compiler, and an Object Time System. Object time program capabilities include "floating point" instructions. Subroutines written in either FORTRAN IV or MACRO-15 assembly language can be loaded with and called by FORTRAN IV main programs. Compre- hensive source language diagnostics are produced during compilation, and a symbol table is generated for use in on-line debugging with DDT. 2-1 The system's Data-Directed Input-Output package permits input or output of ASCII data without reference to a FORMAT statement. system can also perform memory-to-memory transfers The (Encode/Decode) moving data from memory to the I/O Buffer to memory. There are three versions of the FORTRAN IV supported by DOS-IS: (1) F4X (PDP-IS mode) ; (2) F4X9 (BANK mode) ; and (3) FPF4X (Floating Point mode). Each version has its own Object Time System and Science Library so that program routines may utilize all system hardware and software features. A FORTRAN IV program may be compiled and run in several different equipment environments. The FORTRAN programmer need not be too concerned with the details of his environment since the FORTRAN Object-Time System (OTS) will ensure that his source statements generate the appropriate computer instructions. For example, an arithmetic statement such as A=A*B will appear the same in any FORTRAN IV program. In the object program it may be transformed to a subroutine call or a floating point instruction, depending on the hardware configuration on which the program is produced. FORTRAN data-transmission statements automatically call a number of OTS subroutines which serve as an interface between the user program and the Monitor. These l:'outines may also be called from MACRO-IS assembly language programs. Further, programs written in FORTRAN IV can be linked to programs or routines written in the MACRO-IS assembly language. For more information concerning this higher-level programming language, refer to Volume One and Volume Two of the FORTRAN IV Reference Manual (DEC-lS-GFWA-D) . 2.2.2 MACRO Assembler The MACRO Assembler provides users with highly sophisticated macro generating and calling facilities within the context of a symbolic assembler. Some of the prominent features of MACRO-IS include: The ability to: (al define macros, (b) define macros within macros (nesting), (c) redefine macros (in or out of macro definitions) , (d) call macros within macro definitions, (e) have macros call themselves (f) combine up to three input files for one assembly. 2-2 (recursion) 2. Conditional assembly based on the computational results of symbols or expressions. 3. Repeat functions. 4. Boolean manipulation. 5. Optional octal, symbolic, and cross-reference listings. 6. Two forms of radix control (octal, decimal) and two text modes (ASCII and 6-bit trimmed ASCII). 7. Global symbols for easy linking of separately assembled programs. 8. Choice of output format: relocatable, absolute binary (checksummed), or full binary -- capable of being loaded via the hardware READIN switch. 9. Ability to utilize user-designed input/output macros. 10. A Table of Contents option containing the page numbers and text of all assembled .TITLE statements in the program. MACRO-1S permits the programmer to use mnemonic symbols to represent instruction operation codes, locations, and numeric quantities. is essentially a comprehensive macro instruction generator. g(~nerator It Thi. s permi ts easy handling of recursive instruction sequences, changing only the arguments. The assembler facilitates the development of instructions called "macros" which, when used as a source statement, can cause a specific sequence of instructions to be generated in the ob;ect program. Refer to the PDP-IS MACRO-IS Assembler Manual (DEC-IS-AMZC-D) for a complete description of the language. The standard object code produced by MACRO-IS is in a relocatable format which is acceptable to the Disk Operating System's Linking Loader utility program. Relocatable programs that are assembled separately and use identical global symbols} where applicable, can be combined by the Linking Loader into an executable program. An output listing, showing both the programmer's source coding and the binary object program produced by MACRO-1S, is printed if desired. lSymbols which are referenced ih one program and defined in another. This listing includes all the symbols used by the programmer with their assigned values. If assembly errors are detected, erroneous lines are marked with specific letter error codes. 2.2.3 FOCAL FOCAL Interpreter (~ormulating ~n-line ~alculations in ~lgebraic ~anguage) operates in on-line conversational mode, using natural language and arithmetic terms to establish a simplified environment for the computer aided solution of business and scientific arithmetic problems. Included in FOCAL are such features as: 1. Linkage to assembly language (MACRO) routines to establish a user library of commonly used functions. 2. Use of COMMON to facilitate chaining in the same manner as FORTRAN IV. With FOCAL, the user can generate mathematical models, plot curves, solve sets of simultaneous equations in n-dimensional arrays, and do much more. Refer to the PDP-IS FOCAL-IS Manual (DEC-lS-DJZB-D) for a complete description of this program. FOCAL library commands allow the user to save and then call programs by name. These commands result in files consistent with the DOS file format. Such files can be manipulated by other DOS programs, such as PIP and EDITOR. FOCAL has commands which allow the segmenta- tion (chaining) of FOCAL programs. The ability to write FOCAL functions in MACRO assembly language and subsequently interface these functions with the FOCAL interpreter is an important feature. These functions are processed in the same way as the normal internal functions which DEC supplies with the interpreter. 2.3 SYSTEM GENERATOR (SGEN) The System Generator (SGEN) is a standard DOS Utility program used to modify disk resident system files. SGEN, provided as part of the general-purpose package, enables the user to tailor his system and add to the supplied software in order to develop a resident software system unique to the installation or to his specific needs. 2-4 The user (System Manager) calls the system generator program via the Monitor command "SGEN". When SGEN is loaded, i t initiates an inter- active question/answer sequence regarding the following system functions and parameters: 1. Existence of an extra memory page, 2. Options, 3. Type of printer unit used, 4. Required device handler designations (i.e., the standard I/O configuration the user wants for the system programs), 5. Skip-Chain information - Priority Interrupt Skip Chain contents and order, 6. Default assumptions, including: type of teleprinter used, use of additional 4K of core, etc., 7. System device designation, 8. .DAT slot assignments, 9. Monitor Identification Code to designate the privileged access by the System Manager, 10. Default buffers that are needed at any time during a user program, 11. Default Files Protection Code. Careful planning -is necessary to ensure that the most efficient system will be developed for the user's particular needs. For more informa- tion, refer to the DOS-SGEN Utility Program Manual, (DEC-15-YWZB-DN12). 2.4 PATCH UTILITY PROGRAM PATCH is used to: (1) make corrections to the binary version of system programs on the system device, (2) examine and change any word in any DECdisk or Disk Pack block, or (3) convert re1ocatab1e binary programs into system programs. Further, i t has the capability of patching all system software. Facilities - provide for: 1. The selection, examination and alteration of registers within DOS System programs, and any data word block on mass storage, including the system information blocks, SYSBLK and COMBLKi 2-5 2. The installation of suitable relocatable programs into a user system as a non-relocatable System program; 3. The loading of absolute programs into a user system as a System program. The PATCH user must first be logged in under the Monitor Identification Code (MIC) to have access to system files. Binary programs which are not in system program format (e.g., relocatable link-loadable programs, and XCT programs which are executable files built by the System program CHAIN) cannot readily be corrected by using PATCH. With PATCH the user can: 1. S e lect a System program to be patched. 2. Select a single block to be patched. 3. Obtain an octal printout of the contents of a particular location in a program. 4. Alter the content of the listed location by simply t y ping the desired content in octal. 5. Use the READ command to either replace or patch a system program via Paper Tape input. This enables the user to easily make corrected copy available for instant use without requiring reassembly, regeneration of a system or core patching. This is most use- ful for handling small updates or new versions of a pro gram. 6. Select and open specific word locations within SYSBLK or COMBLK. to 7. Select and examine registers within a system area. 8. Automatically convert relocatable binary files into system program format and load the converted file onto the system device, provided disk space has been reserved by SGEN. This feature p e rmits user programs to be called directly from the Monitor. It also enables the program to completely overlay its loader, to make the most effective use of core storage. For more information concerning this System utility program, refer to the PATCl! Utility Prog-ram Manual (DEC-1S-YWZB-DN5). 2-6 2.5 CHAIN AND EXECUTE PROGRAMS The programs CHAIN and EXECUTE allow the user to segment programs in order to construct and run a system of core overlays in an easy and straightforward manner. CHAIN reserves portions of user core (called COMMON blocks) from one segment to another so that the program segments can communicate. The FORTRAN IV compiler and the MACRO-IS assembler can reserve COMMON blocks for future segmentation. This method of segmentation permits multiple overlays of executable code, constants, variables, arrays, and labeled COMMON blocks. Both system programs are required for segmentation: 1. CHAIN - processes a version of the Linking Loader Code (Object Program code) allowing the user to build all the various segments (or chains) of his program into an absolute (not relative) executable (XCT) type file. 2. EXECUTE - a control program which initiates loading of an executable file and transfers control from one segment chain to another. At load-time, Execute is faster than the Linking Loader. CHAIN organizes subroutines into units called LINKS, which may overlay each other. Several LINKS may overlay a larger LINK without overlay- ing each other. A LINK is loaded into core when a subroutine within the LINK is called, and remains resident until overlayed. A LINK's core image is not recorded or "swapped out" when it is overlayed. same image is brought into core each time a LINK is loaded. mum run-time efficiency, segments must be processed serially. The For maxiSee the PDP-IS CHAIN and EXECUTE Manual for detailed instructions (DEC-15-YWZB-DN2). Advantages/Disadvantages of CHAIN & EXECUTE 2.5.1 2.5.1.1 1. Advantages CHAIN a. Can build an operable program whose core requirement 'is larger than that of the run-time machine: b. Can be used to create elaborate overlay structures; c. Is more efficient than using the .OVRLA System Macro (see 5.2.2.5); 2-7 2. 2.5.1.2 2.6 The d. Allows the user to request a detailed load mapi e. Generates core image files which are smaller than relocatable binary files. EXECUTE a. Its loader is more core efficient than the Linking Loader since Linking Loader code is processed only oncei b. Is smaller at load time than the Linking Loader; c. Gives faster execution times. Disadvantages 1. One additional step is required to process Object Code in preparation for run time. 2. DDT (Dynamic Debugging Technique) cannot be used with a segmented program. 3. At run-time, the execution of a segmented file requires a certain amount of processing overhead. LINKING LOADER L~nking Loader loads any FORTRAN IV or MACRO object program which exists in relocatable format. Its tasks include relocation of programs, loading of called external subroutines, retrieval and loading of implied subroutines, and building and relocation of the necessary symbol tables. See "Linking Loader" in the PDP-IS utility Programs Manual (DEC-15-YWZB-DN8) for detailed instructions. The loader first loads all the named programs included in the keyboard command string. It then additionally loads and links all requested library subprograms. The requested library subprograms are loaded from the device handler directory (105), the external (user) ·library, if one exists, and the bank or page mode system library (BNK or PAG). In addition, the loader can type out a core map which specifies the name~d address of each program, subprogram, library routine, and common block loaded. 2-8 .GLOBL 2.7 DYNAMIC DEBUGGING TECHNIQUE (DDT) PROGRAM DDT provides on-line debugging facilities that enable the user to load and operate his program in a real-time environment while maintaining strict control over each program section. DDT allows the operator to insert and delete breakpoints, examine and change registers, patch programs, and search for specific constants or word formats. A breakpoint halts operation when the program flow arrives at the designated location. The DDT breakpoint feature allows the insertion and simultaneous use of up to four breakpoints, any or all of which may be removed with a single keyboard command. The search facility allows the operator, to specify a search through any part or all of an object program with a printout of the locations of all registers that are equal (or unequal) to a specified constant. This search feature also works for portions of words, as modified by a mask. With DDT, registers may be examined and modified in either instruction format or octal code, and addresses may be specified in symbolic relative, octal relative, or octal absolute. either MACRO source language or octal. Patches may be inserted in For more information, refer to the Dynamic Debugging Technique, Utility Program (DEC-IS-YWZB-DNl). 2.8 ' DUMP PROGRA~ DUMP gives the user the ability to output, on any device specified, core locations that have been preserved on disk via the CTRL Q (tQ) disk blocks nni-n ;onl! -'lo..,.:i..oo. k'or rno,,"c board Command Guide (DEC-lS-NGKA-D). 2.9 :i.. n .cV.LUlClL.l.Ull Lerer co tne ~ MAGNETIC TAPE DUMP (MTDUMP) UTILITY PROGRAM The MTDUMP program provides the user who employs magnetic ta~e as a storage medium with the ability to view and manipulate any named portion (i.e., file) of a tape. Some of the features provided by MTDUMP are: a. Files may be output (dumped) onto any system device in any of four possible formats. b. Comments may be inserted into a DUMP file. 2-9 c. Files may be copied onto another tape. d. Magtape directories can be listed and cleared. For more information, refer to theMTDUMP, utility Program (DEC-15-YWZB-DN4). 2.10 TEXT EDITOR PROGRAMS, EDIT, EDITVP AND EDITVT The Text Editor provides the ability to read alphanumeric text from paper tape, DECdisk and Disk Pack, DECtape, etc. The user can then examine and correct the text, writing it back on paper tape, Disk Pack~ DECdisk, and DECtape devices. Programmers can also use the Text Editor to create new symbolic programs. The Editor operates on lines of symbolic text delimited by carriage return (CR) or ALT MODE characters. These lines can be read into a buffer, selectively examined, moved, deleted, or modified, and writ~~~~~~~~t~e!n~o~u~t~.~~N~e~w~t~ex~t~m~a~y~b~e~s~u~b~S~t~i~t~u~t~e~d~.~i~n~s~e~rJt~e~d~~Q~r~ain~p~e~n~d~e~d~________________~______________ ,~ T='- Tne programs r;ULTVP and EDITVT are similar to EDIT except that they permit text to be displayed on the VPl5A Graphic Display and VTl5 (CRT). 2.11 Refer to the EDIT Utility Program Manual (DEC-l5-YWZB-DN6l. PERIPHERAL INTERCHANGE PROGRAM' (PIP) PIP can transfer data files from any input device to any output device. It can be used to (1) refresh file directories, (2) list file directory contents, (3) delete, insert, segment, or combine files, (4) perform code conversions, (5) assign protection codes, ,( 6) transfer files, or (7) copy the entire contents of disk and DEC tape storage units. It may also be used to update and allocate restricted disk storage surfaces. Refer to the PIP (DOS Monitor) Utility Manual (DEC-15-YWZB-DN13). 2-10 2.12 DECTAPE COpy (DTCOPY) This program permits high speed copying of DECtape to DECtape units. The advantage of DECtape Copy over the PIP copy function is that DECtape Copy is faster. For more information concerning this utility program, refer to the Keyboard Command Guide (DEC-lS-NGKA-D). 2.13 LIBRARY UPDATE PROGRA~ This system program gives the user the capability to examine, extract, and upd a t e the binary library files on mass storage devices. For more information, refer to the UPDATE Utility Program Manual (D EC-lS-YWZB-DN7). 2.14 SOURCE COMPARE PROGRAM (SRCCOM) The SRCCOM program compares any two symbolic source programs (ASCII) and indicates their differences. This program is useful for program identification and/or verification, proofing an edited program, comparison of old and new versions of the same program, etc. For more information, refer to the SRCCOM Utility Program Manual (DEC-lS-YWZB-DNll). 2.lS GRAPHIC-IS Within this stand-alone system, VT-1S Graphics Software programs are used to compile display commands, define display elements, and direct linking, displaying and deleting of the elements necessary for a DOS resident graphics run-time system. Subprograms provided include: sub- picture routines, main display file routines, input routines, relocating routines, and system I/O device handlers resident in the DOS I/O Service (lOS) directory. For more information refer to the GRAPHIC1S Programming Manual (DEC-IS-ZFSA-D). 2.16 PDP-8 TO PDP-1S TRANSLATOR (8TRAN) This program is used as an aid in translating programs written in the assembly ~nguages into MACRO-1S form. pr~ram, of the Digital PDP-8 computer (PAL III, MACRO-8) The translator does not produce an executable but translates a major portion of the PDP-8 code into equi- valent MACRO-IS code and indicates those areas of the 8 program which must be reviewed and processed by the programmer. tion see the PDP-IS 8-TRAN Manual (DEC-IS-ENZA-D). 2-11 For more informa- 2.17 PDP-B TO PDP-9 TRANSLATOR (B9TRAN) The PDP-B/PDP-9 Translator ' is used to translate programs written for PDP-B in PAL III or MACRO-B assembly language to MACRO-9 assembly language. This tra.nslator is available as a DOS system program for a user installation consisting of several DEC computers including a PDP-B, a PDP-9, and a PDP-IS. For detailed information concerning this program, refer to the 8TRAN Manual, DEC-09-ENZA-D. 2.1B VP15A GRAPHICS SOFTWARE The VP15A Graphics Software package consists of a group of routines which can be used with either FORTRAN IV or MACRO-IS programs to operate the VPlSA Storage Tube Display. Included in the package are a n I / O device handler, text, point-plotting, and other routines, all described in the VPlSA Graphics Software Manual (DEC-15-UXSA-D). 2-12 CHAPTER 3 SYSTEM CONCEPTS 3.1 005-15 MONITORING FUNCTIONS There are three sections to the 005-15 Monitor: Monitor, (1) the Resident (2) the Nonresident Monitor, and (3) the System Loader. The Resident Monitor remains in core when system or user programs are running, and acts as the interface between the program and the system's facilities. During program operation, the Resident Monitor has general control over the system. 1. It functions to: Maintain orderly program flow, 2. Handle teleprinter I/O, 3. Act on Monitor calls, 4. Validate and transmit I/O calls to device handlers, 5. Announce error diagnostics. The operator may alter the structure of the Resident Monitor via commands to the Nonresident Monitor. The Nonresident Monitor allows the operator to interrogate and alter many key parts of the system, in order to set up the system for the next program. 1. It functions to: Set I/O conditions by assigning physical devices to logical unit numbers, 2. Supply system information, 3. Save or restore core images, 4. Load and Execute system and user programs, 5. Change default system parameters. Normally, at the end of a particular program, the operator, the Batching Command String, or the program itself returns control to the Nonresident Monitor. At that point, the operator or the Batching Command String sets up the system for the next program and calls it in via commands to the Nonresident Monitor. The System Loader (.SYSLD) builds the Resident Monitor according to prior commands to the Nonresident Monitor. It loads (a) all core- image system programs and all handlers for those system programs, 3-1 (b) the Linking Loader or (cl EXECUTE. In almost all cases, a change of program involves actions by the System Loader. The System Loader, however, is completely invisible to the user except for LOAD errors, such as insufficient core. The DOS-15 Software System provides an interface between the system or user-created program and the external world of I/O devices. simplifies I/O programming. This This interface is comprised of a function- ally related group of software called the !nput/~utput ~rogramming (1) the I/O device handling routines within DOS-15, (2l a portion of the Monitor which is used in dis- ~s- patching I/O commands to them, and (3) a Monitor routine for printing error messages. I/O device handlers are provided for all standard devices 9). (see Chapter These handlers relieve the user of the burden of I/O service, file management, overlapping I/O considerations and unwanted device dependence. I/O commands and data modes are standardized and are recognized by DOS-15 device handlers. This facilitates device independence. For example; a non-file structured device handler such as the paper tape reader will ignore (rather than declare an error) a command to "seek a file" (which is required for file structured devices prior to issuing commands to read). There are other features of the system which contribute to device independence; they are discussed in later paragraphs. 3•L 1 Sys tem Communi ca tion Tab le (SCOM l The System Communication Table (SCOM) is a set of registers that are referenced by the Monitor, I/O device handlers, and other system programs. It acts as a common parameter area for information required by both the System Loader and Monitor. User programs may also utilize the information in this table as desired. The System Communication Table begins at absolute location 1008 (Bank ~). The following list briefly outlines some of the SCOM table functions: Free Core Limits Option Availability System and User Program Start Addresses Handlers 3-2 Interrupt Levels Magtape Status Register Number of Buffers Allocated Number of Words/Buffer Number of Entries in Mass Storage Busy Table User Identification Code Software Control Switches Date (MMDDYY) Time (HHMMSS) and other Clock Information Default Protection Code for Files A complete list of the SCOM table functions is given in the DOS System Manual (OEC-l5-NROA-0). 3.1.2 Monitor/User Interaction The console teleprinter is the primary user-system interface for DOS-IS program control. This control is implemented by commands to the t40ni tor, which accepts the three types described below: 1. Commands which perform special services 2. Commands which load system programs 3. Control character commands which provide system control while running user or system programs. NOTE In the context of this manual, the term "console keyboard" designates anyone of several keyboard/ printer/display I/O devices which could be used by the Monitor as the system command console device (generally, a Model 33 or 35 teleprinter). The operator at the keyboard types commands to allocate system re- sources, load and start System and user programs, terminate program operation, and exchange information with the Monitor. Most of the Monitor's keyboard commands are issued prior to loading programs and are interpreted by the Nonresident Monitor, since it is not resident in core during system or user program execution. During program exe- cution, a small set of keyboard commands is available for general program control. These commands are interpreted by the teleprinter's I/O device handler (which is part of the resident portion of the Monitor), and are used to control program start and restart, dumping of core, and the reloading of the Nonresident Monitor. Details on the DOS-IS commands which can be issued from the console keyboard are described in Chapter 8. 3-3 The keyboard commands are, however, not strictly limited to input from ,ke ¥ hnar- 17 J V 1/0 MOOE I CHE~~ k~~O~~ L ......-L~:::::::::::::::::::::::::::::::::.:.L,"__ "' -_-_-_L_:.-_-_.L_-_-_---'-....L__-_-_J.~-----~:::::::::::::::::..,....I BINARY INPUT WORD PAIR COUNT, INCLUOING HEADER WORD PAIR UN USED VALIDITV BITS: DO-DATA CORRECT Ot-PARITV ERROR 10' CHECKSUM ERROR It· BUFFER OVERFLOW 110 MODE : 0000' lOPS BINARV 0001 -IMAGE BINARV oOlo-rops ASCII DOlt - IMAGE ALPHANUMERIC I 0100 -UNUSED 0101 -EOF (LOGICAL) 0110 -EOM (PHVSICAL) 0111 - TAPE LABEL o• l 17 -L____ HEADER WORDIL.__-J____L___~___L__ L___~__-L__~____L___~__....IL___L____L___~__....IL___L__~ CHECKSUM: TWO'S COMPLEMENT OF HEADER WORD 0 PLUS DATA WORDS (O-CHECKSUM NOT COMPUTED) 1$ -0646 Figure 6-2. B. Format of Header Word Pair Before Input The user need not be concerned with the header word pair since it will be set up by the device handler during input to enable the user to determine the status of his record after input has terminated. 6-5 C. During Input The Word Count (specified in the .READ Macro) is used by the device handler to determine the maximum number of locations provided in the user's input buffer for the data being read. If the Word Count is ex- the handler sets the validity bits of header word ~ as required to indicate the error. D. After Input Header word ~ of each logical record input should be examined by the user program to determine whether errors have occurred. the validity and I/O Mode bits should be tested. Specifically, If both checksum and parity errors are detected by a handler, priority is given to a parity error and the checksum error will not be indicated. sum errors on binary input if bit ~ of word ~ lOPS ignores check- is set to 1. When exam- ining the I/O Mode Bits (bits 14-17) the occurrence of a buffer overflow condition means that the user program's I/O buffer,as specified by the Word Count in the .READ Macro,is not large enough to contain the record just read. The portion of the record which caused the end-of-file (EOF) has been reached; otherwise, these bits specify the Data Mode of the Record. 6.4 DATA MODES The device handlers within lOPS allow data transfers via .READ and .WRITE Macros in one of the five Data Modes listed below: ~) lOPS Binary (Mode lOPS ASCII (Mode 2) Image Binary (Mode 1) Image Alphanumeric (Mode 3) Dump (Mode 4) Data Hodes permit the user to select the data structuring features of the system which are important to his application. The device independ- ent features of the system can be enhanced through the use of the lOPS Modes, which are standardly used by all DOS-15 System programs (e.g., both FORTRAN IV and !1ACRO-15 accept source programs in the form of lOPS 6-6 ASCII files and produce object code as lOPS Binary files}. Conversely, if specific device dependent features are desired, Image and Dump Modes can be used (primarily applicable when used with non-mass storage devices). 6.4.1 lOPS Modes The lOPS Data Modes, both ASCII and Binary are the standard data structures of the DOS Software System. Using these modes, all ASCII and Binary data input is verified and converted into standard records regardless of its original form on the input device. programs must format data into standard Before output, lOPS records. rops On output, calculates checksums and either reconverts the data to the form required by the output device or, in the case of mass storage devices, stores the data in the standard record format. 6.4.1.1 lOPS ASCII lOPS ASCII is used by DOS-15 System Software as the standard ASCII Data Mode. It accommodates the entire 7-bit ASCII (1968) 128 character set as shown in Appendix A. All alphanumeric data, whatever its original form on input (i.e., 8-bit ASCII, Hollerith, etc.) or final fQrm on output, is converted internally by the non-mass storage device handlers and stored in core and on mass storage devices as "5/7 ASCII". This term refers to the internal packing and storage scheme used for lOPS ASCII in which five 7-bit ASCII charactets are packed into two contiguous l8-bit words. o WORD 0 Figure 6-3 shows this relationship. • 6 I 1 ST CHARACTER 3 WORD I , 13 7 • 2ND CHARACTER .9 I 4TH CHARACTER Figure 6-3 10 t4 ASCII packed 3RD CHARACTER 1-4 • 16 I 5TH CHARACTER 5/7 ASCII Packing Scheme 6-7 • 17 I 17 UNUSED' in this form can be stored "as is" on any mass storage device. I/O requests involving 5/7 ASCII should be made using an even word count argument to accommodate the paired data. ASCII data is ordinarily in- put or output character-by-character via non-mass storage devices such as teleprinter, line printer, paper tape reader and punch. It can also be stored on mass storage devices in 5/7 form (see Figures 6-4 and 6-5). On paper tape an lOPS ASCII character is defined as a 7-bit character with even parity in the eighth (high order) bit, in keeping with USASCII standards. Further, lOPS performs a parity check on input, prior to the 5/7 packing and on output lOPS generate s the corr e ct parity. Non-parity lOPS ASCII occurs in data originating at a Model 33, 35, or 37 Teleprinter, without the parity option. with the eighth (high order) bit set to 1. This data always appears Apart from parity checking, the lOPS routines handle lOPS ASCII and non-parity lOPS ASCII data identi cally. TAPE CHANNEL 8765432 1 FEED . DIRECTION OF TAPE MOVEMENT • 1 • ••• • •• • •• • • }::~1' ..on ~,,~~~~--~ ~----7 - 8IT ASCII CODE ~-------PARITY BIT (EVEN PARITY) '&- 0 641 lOPS ASCII on Paper Tape Figure 6-4 /aWORD PAIR COU NT 14 17 0 1 I2 I 2 HEADER WORD PAIR CHECKSUM A C Figure 6-5 I I .J B I I C I 1 ABC .J IN 517 ASCII lOPS ASCII in I/O Buffers and on Mass Storage Devices 6-8 Each logical record is an alphanumeric line, and a Carriage Return (CR) or ALT MODE. CR (or ALT MODE) is a required line terminator in lOPS ASCII mode to non-mass storage. Unused character positions in the lOPS Word Pair after the CR or ALT MODE are ignored. Control character scan- ning is performed by some device handlers for editing or control purposes (refer to Chapter 9). On input, each lOPS ASCII .READ results in a 5/7 packed ASCII line being placed ,in the program's I/O buffer. If this line is to be interpreted, it must be unpacked by the program. Conversely, on output each .WRITE assumes that the data in the user's I/O buffer is a 5/7 packed ASCII line. Thus, i t is up to the program performing lOPS ASCII data trans- fers to unpack each input line and pack each output line. Appendix B contains assembly listings of generalized packing and unpacking routines which can be incorporated into user programs as required. 6.4.1.2 lOPS Binary _ lOPS Binary data is blocked in an even number of words, with each block preceded by a two-word header (see Figure 6-6). On paper tape (see Figure 6-7), lOPS uses six bits per frame, with the eighth channel always set to 1, and the seventh channel containing the parity bit (odd parity) for channels 1 through 6 and channel 8. The parity feature supplements the checksumming as a data validity provision in paper tape lOPS binary. lOPS binary~ WORD PAIR COUNT (INCLUDING HEADER WORD PAIR) 01 14 17 t-..I..-1__4 _ _.1..-.1_.1..-.1°--\ } HEADER CHECKSUM WORD PAIR t---------l } } t------------------ - - .- .- .... ----- PAIRS Of le ' BIT BINARY WORDS } ~---I H~ · oeSI Figure 6-6 lOPS Binary in I/O Buffers and on Mass Storage Devices 6-9 TAPE CHANNEL 87654 ~21 FEED DIRECTION OF TAPE MOVEMENT 1 ,.t 6 -BIT 2nd 6-BIT IIYTE BYTE 3,d 6-BIT BYTE • 0 0 0 0 0 0 0 0 • 0 0 0 0 0 0 0 0 • 0 0 0 0 0 0 0 0 • 0 0 0 0 0 0 ~o 11 L ,."" " """ ""' PARITY BIT (ODD PARITY) MUST ALWAYS BE PUNCHED 15 -0650 Figure 6-7 6.4.2 lOPS Binary Data on Paper Tape Image Modes Image Mode data, both Image Alphanumeric and Image Binary, is read, written and stored (on mass storage devices) in the form established by the source or terminal device. These modes permit the user to take advantage of the data structuring features peculiar to non-mass storage devices. These modes are strictly device dependent and no checking, packing or interpretation of data is performed. For example, when deal- ing with Alphanumeric data the teleprinter editing features RUBOUT and CTRL U, described in 9.3.1 are ignored, as well as the lOPS ASCII line terminators Carriage RETURN and ALT MODE. ever, Carriage RETURN and ALT ~ODE With the line printer, how- are accepted as legal line termina- tors. Image Alphanumeric Mode results in the transfer of all eight bits of an ASCII character to or from an I/O buffer (see Figures 6-8 and 6-9). Image Binary data is unchecksummed binary and appears on paper tape, in 1/ 0 buffers and on mass storage devices as shown in Figures 6-10 and 6-11. o I 3 I I3 HEADER WORD PAiR CHECKSUM A B C ABC~ FOUR 8-BIT CHARACTERS (R IGHT JUSTIFIED) ~ 15 - 08&2 Figure 6-8 Image Alphanumeric Data in I/O Buffers and on Mass Storage Devices 6-10 TAPt: CHANNEL 87654321 FEED DIRECTION OF TAPE MOVEMENT 1 ••• ••• • • • •• • •• • } ~~~8'BIT CHARACTER ~--~,,~~~~~ t' - - - - - - - A L L EIGHT CHANNELS 1~· 0 6~3 Image : Alphanumeric Data on Paper Tape Figure 6-9 /aWORD PAIR COU NT 17 0 1 14 1I 0 0011010101111001,011,,0 000100010001000]0001000 2 1 HEAOER WORD PAIR 1 OATA WORD- ~IR CONTAINING 123456(8) 15-0654 Figure 6-10 Image Binary in I/O Buffers and pn Mass Storage Devices TAPE CHANNEL .. . .... • •••• 87654 3 FEED DIRECTION OF llIPE MOVEMENT 1 ••• • } REPRESENTS OCTAL NUMBER 123456 ~ f . 6-81T 81NARY CODE (3 FRAMES/WORD) IGNORED Figure 6-11 MUST ALWAYS BE PUNCHED Image Binary on Paper Tape 6-11 6 .4.3 Dump Mode Dump Mode permits complete freedom in data structuring in the context of a file structured environment l • Data input or output in Dump Mode is not interpreted, checked or packed and record length is not limited by the software. Dump Modeis used to output from, or load directly into, any core memory area. All data transferred are treated strictly as l8-bit binary words (i.e., core images). used. No Header Word Pair is Each .READ or .WRITE statement in Dump Mode requires arguments which merely define the core starting address of the area input or output and the number of words (Word Count) to be transferred. Dump Mode is normally used with mass-storage devices although paper tape I/O is possible. With paper tape, data is interpreted on output or input as three six-bit frames per l8-bit word (see Figure 6-11). 6.4.4 Logical Record Terminators rops detects the end of each logical record transferred using a predefined group of terminators or terminating conditions. These logical record terminators vary with the Data Mode in effect, the particular device or set of devices involved, and the transfer direction (input or output). Table 6-2 summarizes the terminating conditions for logi- cal records during input and output for each lOPS Data Mode. Detailed information on terminating conditions for each I/O device handler is provided in Appendix C. lThe .TRAN System Macro (paragraph 6.7.13) permits user specified file structuring as well as data structuring. A Dump Mode transfer can be thought of as effectively a file structured .TRAN. 6-12 Table 6-2 Logical Record Terminators Output Input Data Mode - .- lOPS ASCII Carriage RETURN or ALT MODE Word Pair Count! EOM Word Count 2 EOF l Carriage RETURN ALT MODE Word Pair Count 3 lOPS Binary Word Pair Count EOM Word Count 2 EOF i Word Pair Count Image Alphanumeric and Image Binary Word Pair Count l Word Count EOM EOF 1 Word Pair Count Dump Word Count EOM EOF l Word Count i -- t1as s storage only. 2If word count is exceeded before a terminator is encountered, lOPS sets bits 12 and 13 of Header Word ~ to 3 (Buffer Overflow). 3 If the Word Pair Count is 1 or less, the line is ignored; than 1, ignore the count and accept Carriage RETURN or ALT Bulk storage devices require file oriented devices only). Pair Count greater than 1 and less than 177 Si otherwise an error will occur. 6-13 if greater MODE (nona word lOPS 23 6.S I/O BUFFERS 6.5.1 Space Allocation Each system or user program which is to perform I/O operations must allocate an I/O Buffer for each I/O device and unit (i.e., a .DAT slot) that is to be used simultaneously. This can be accomplished by, but is not limited to, one of the methods described below. Static buffer allocation can be accomplished through the use of the MACRO-IS Assembler's .BLOCK pseudo-op as described in DEC-lS-AMZC-D. A tag must be used to permit referencing of the buffer in each I/O Macro. For example: INBUF OTBUF .DEC .BLOCK S2 .BLOCK 254 .OCT /CREATES 52(10) WORD BUFFER /CALLED INBUF /CREATES 254(10) WORD BUFFER /CALLED OTBUF Dynamic buffer allocation can be performed through the use of the Monitor Macros .GTBUF and .GVBUF described in Chapter 5. Alternatively, the user can create a buffer at execution time from free core by simple calculation, using the information contained in the System Communication Registers, .SCOM+2 and .SCOM+3 (absolute locations 102 and 103). These registers contain the lowest and highest addresses of the registers in unused core, respectively. 6.S.2 Size Considerations When choosing a maximum I/O buffer size to specify in the Word Count arguments for .READ and .WRITE I/O Macros, both the set of possible devices and the Data Mode must be considered. As a general rule, when using lOPS and Image Modes, the maximum logical record size can never exceed the maximum buffer sizes specified in Table 6-3. are based on physical device limitations. These In Dump Mode, however, there are no restrictions on buffer size except for the absolute bounds of core itself; a logical record can occupy any number of physical blocks on a mass storage device. Programs which are to communicate with a number of devices using lOPS or Image ~odes must limit the output buffer size to that of the device with the smallest maximum buffer. Conversely, in setting-up input buffers, the size must be at least as large as that for the device with the largest maximum buffer size. 6-14 Table 6-3 Maximum I/O Buffer Sizes for lOPS and Image Mode Transfers Device ~ax. Buffer Size! Data Modes 254 (376 8 ) All Disk Pack (DP) 254 All DEC tape (DT) 255 Magtape (MT) 255 (376 ) 8 (377 ) 8 (377 > 8 DECdisk (OK) Teleprinter (TT) 74 All All Allows for 80 5/7 packed characters (though only 72 are printable) Image Alphanumeric (Allows for 72 characters) All Paper Tape Punch (Pp) All 84 Line Pr1nter LP-15 (132 column) 56 136 Card Reader (CD) (70 ) 8 lOPS and Image Modes permit more than one logical record (depending on its size) per physical block. Dump Mode records can span an unlimited number of blocks. lOPS ASCII Paper Tape Reader (PR) Line Printer LP-l5 (80 column) Comments lOPS ASCII Allows for 80 5/7 packed characters Image Alphanumeric Allows for 80 characters lOPS ASCII Allows for 132 5/7 packed characters. rmage Alphanumeric Allows for 132 characters raps ASCII Allows for 80 5/7 oacked characTAY!': n1 I!': handler supplied Carriage RETURN. a VPl5A Storage Tube Display 74 rops ASCII Allows for 80 5/7 characters (only 72 can be displayed) Image Alphanumeric Allows for 72 characters !Octal representation of buffer sizes is shown for values returned after issuing a .INIT and indicating the maximum size which can be used for lOPS Modes. Other sizes shown can be used with Image Modes as specified. 6-15 For example: Consider the I/O buffer requirements for a program which must be capable of transferring lOPS ASCII lines to either a teleprinter or the DECdisk. The maximum I/O buffer size for the tele- printer is 34 locations and for the DECdisk is 254 10 locations. 10 Therefore, the user should choose the smaller size since his program must deal with both. More importantly, if the ASCII records stored on the DECdisk were greater than 34 locations in length, the user could not transfer them back to the teleprinter without truncation or reformatting. 6.6 SPECIFYING I/O DEVICES As mentioned in preceding chapters, the Monitor maintains a Device Assignment Table (.DAT), which has "slot" numbers that correspond directly to logical device numbers. Each .DAT slot contains a pointer to a d e vice handler and a unit number when applicable (for Disk Pack, DEC tape or Magnetic Tape units). All I/O communication in the 005-15 Monitor environment is accomplished by the logical/physical device associations provided by the Device Assignment Table. When writing a MACRO-15 program which uses I/O Macros, it is necessary to incorporate the MACRO-15 Assembler's .IODEV pseudo-op somewhere in the program to specify to CHAIN or the Linking Loader which logical device numbers (.DAT slots) are to be used. The .IODEV pseudo-op causes the Assembler to generate a code in the object program which instructs CHAIN or the Linking Loader to load the device handlers associated with the specified .DAT slots. For example: .IODEV 3,5,6 causes the device handlers assigned to .DAT slots 3, 5 and 6 to be loaded with the program issuing the pseudoop. 6.7 I/O MACRO DESCRIPTIONS The paragraphs which follow describe the function of the I/O Macros, the information to be provided by the user (arguments), and the assembly language expansion of eachl, Either the I/O Macros or their assembly language expansions can be incorporated directly in MACRO-15 programs. Typical I/O command sequences are discussed in paragraph 6.8.4. lparagraph 5.2.2 describes conventions and symbology used in presenting the I/O Macros. 6-16 6. 7 • 1 • CLEAR Initializes all bit maps and directories on the device. Eliminates all references to files in the directory of the device associated with the named .OAT slot. In order to avoid clearing a directory when its files are still in use, the directory ~s checked for open files. If there are no open files, ~he directory is cleared; otherwise, an lOPS l~ error message (file still active) results . . CLEAR may only be used destroy the system. unde~ the MIC, because it will FORMAT: • CLEAR &,..I [ -] ds ARGUMENTS: ds= .OAT slot (octal radix) EXPANSION: (all values below are octal) LOC+~ LOC+l 6.7.2 CAL 5 [-]ds&777 .CLOSE When directed to a .OAT slot used for input: Clears all flags related to that .OAT slot. This deactivates the .OAT slot, and another .INIT will be necessary to use the .OAT slot in the future. Any allocated buffer is returned. When directed to a .OAT slot used for output: Allows all assoc~ated output to finish, and then wr~tes an end-of-file (EOF)! software indicator in the last header word pair. If the .OAT slot is associated with a directoried device, any earlier file of the same name and extension is deleted from the directory. Operation then continues as for input files (above). FORMAT: ARGUMENTS: ds EXPANSION: = .OAT slot (octal radix) (all values below are octal) LOC+~ LOC+I 1~~l~005 776773 6-17 6.7.3 .DLETE Deletes a file from the directory of the device associated with the named .DAT slot. If the specified file cannot be found, the contents of the AC will be ~ on return. FORMAT: • DLETE .....,[ -] ds , namptr ARGUMENTS: ds • namptr EXPANSION: 6.7.4 .DAT slot number (in octal radix) Pointer to the address of the first of 3 words containing the .SIXBT representation of the name and extension of the file to be deleted (unused spaces must contain nulls). (all values below are octal) LOC+~ CAL+I~~~.....,[-]ds&777 LOC+I LOC+2 2 namptr . ENTER Initializes a directory for a new output file. The file will be placed on the device associated with the .DAT slot named as one of the parameters to the macro. Transfers control to the Monitor error handler to print the appropriate error message if there is no available space in the file directory. FORMAT: .ENTER.....,[-]ds,namptr,p ARGUMENT: ds namptr p .DAT slot (octal radix) Pointer to the address of the first of three words containing the . . SIXBT representation of the name and extension of the file to be created. Disk file protectl.on code to be assig,ned. possible values for p: 1 2 3 file is unprotected file is WRITE protected file is READ/WRITE protected If P is omitted, default protection code is used. 6-18 6.7.4 (Cont.) EXPANS!ON: 6.7.5 ' (all values below are octal) LOC+~ CAL+l~~~*p~[-]ds&777 LOC+l LOC+2 4 namptr .FSTAT Checks the status of a file in a directory. Ignored by non-directoried devices. The namptr parameter points to the name and extension of the file whose status is desired. On return, the AC will contain the first block number of the file, if the directory lists a file with the indicated name. The contents of the AC will be zero on return if the specified file is not on the device. It is recommended that programmers use .FSTAT prior to executing .SEEK if they wish to retain program control when a file is not in the directory. Bits ~ through 2 of LOC+2 must be set to zero prior to the execution of the CAL. On return, these bits of LOC+2 will contain a code indicating the type of device associated with .OAT slot ds. ~ 1 2 3 4 non-directoried device DEC tape file structuring RF OECdisk file structure RP Disk Pack file structure Magtape FORMAT: .FSTAT~[-]ds,namptr ARGUMENTS: ds namptr EXPA.NSION: .OAT slot petal radix) Pointer to the address of the first of tnree words containing the .SIXBT representation of the name and extension of the file (unused spaces must contain nulls). (all values below are octal) LOC+~ CAL+3~~~~[-]ds&777 LOC+l LOC+2 2 namptr 6-19 6.7.6 .INIT Initializes a device and device handler. Programmers must give a .INIT prior to giving any I/O commands referencing the named .DAT slot. Any .DAT slot initialized via a .INIT must eventually be closed via a .CLOSE. The handler that services any .INIT will return (in LOC+3 of expansion) the maximum size of the line buffer allowed for that handler. For example, DTA will return 377 (255 ) in LOC+3, and DKA will 10 return 376 (254 ) in LOC+3 of the expansion. 10 FORMAT: • INIT L..I[ - J ds, dd, restrt ARGUMENTS: ds .DAT slot (octal radix) dd Direction of data flow ~ - file will be an input file 1 - file will be an output file restrt EXPANSION: Restart address. Although restrt must be included to avoid assembly time errors, it has meaning only for .INIT commands referencing .DAT slots assigned to the teleprinter. (all values below are octal) LOC+,9 LOC+l LOC+2 LOC+3 CAL+dd*1,9,9,9L..1[-]ds&777 1 restrt ~ (Handler will return maximum buffer size in LOC+3.) NOTE: Bits 5, 6 and 8 of LOC+~ provide added information for the GRAPHIC-1S software the line printer handler and the disk handlers. See the individual handler descriptions for more information. Bit 7 of LOC+~ should always be ~. 6-20 6.7.7 .MTAPE Performs functions unique to industry-standard magnetic tape, i.e., functions for non-directoried magnetic tape. Limited functions are also provided on DECtape and disk (see Chapter 9). See descriptions of appropriate handlers for more information. FORHAT: .MTAPE~[-Jds,nn ARGUMENTS: EXPANSION: ds .DAT slot number (in octal radix) nn code number of magnetic tape function or configuration: ~16 - rewind to load point - backspace record - backspace file - write end-of-file - skip record - skip file - skip to log ical end of tape 116 11 12 13 14 15 16 17 - 7-channel, 7-channel, 7-channel, 9-channel, 7-channel, 7-channel, 7-channel, 9-channel, even parity,216!6 bpi even parity, 556 bpi even parity, 8!6!6 bpi even parity, 8!6!6 bpi odd parity, 2!6!6 bpi odd parity, 556 bpi odd parity, 8!6!6 bpi odd parity, 8!6!6 bpi (all values below are octal) LOC+.0' LOC+l 6.7.8 162 163 164 165 166 167 CAL+nn*l.0'!6'~[-Jds&777 7 • RAND Opens a disk file for random access via .RTRAN macros. Returns the number of blocks in the file in LOC+3 of the expansion. FORMAT: 8,namptr ARGUMENTS: ds narnptr EXPANSION: .OAT slot (octal radix) Pointer to the first word of a 3-word, .SIXBT representation of the file to be opened (unused spaces must contain nulls). (all values below are octal) LOC+!6 LOC+ 1 LOC+2 LOC+3 CAL+5.0'!6.0'~[-]ds&777 , narnptr !6 6-21 6'.7.9 . READ Returns the next logical record to the user's I/O buffer. If the record is longer than the user's I/O buffer, the handler will fill the buffer and the rest of the record will be lost. If the record is shorter than the user's I/O buffer, the handler will use only the part of the buffer it needs. The handlers use several indicators to determine the length of record. Appendix C, Input/ Output Data Mode Terminators, shows which handlers use w~t indicators for each data mode. pince I/O operations and in~rnal data transfers may proceed asynchronously with ~omputation, a ,WAIT command must be used after a .READ aommand before the user attempts to access the data in his I/O buffer, or to read another line into it. The user should always check bits 14 through 17 of the first word of the I/O buffer' for end-of-medium and endof-file conditions. In non-Dump modes, the user should also interrogate bits 12 and 13 of the first word of the I/O buffer to ensure that the record was read without error. FORMAT: .READ~[-]ds,m,bufadd,wdc ARGUMENTS: ds m • OAT slot (octal radix) Data Mode, as follows: ~ 1 2 3 4 buffadd wdc ~ ... ,.. ;.. Data Data Data Data Data Mode Mode Mode Mode Mode is is is is is address of user's I/O buffer word count (decimal radix), including the two-word header. wdc should equal the length of the buffer at bufadd. EXPANSION: (all values below are octal) LOC+/6 LOC+l LOC+2 LOC+3 lOPS Binary Image Binary lOPS ASCII Image Alphanumeric Dump Mode CAL+m*1/6J6/6~[-]ds&777 U bufadd -wdc 6-22 6•7•I 0 • RENAM Renames a file (useful only with directoried devices). The old name and extension are pointed to by namptrj the new name must be located at namptr+3. The AC will be zero on return if the file specified at namptr cannot be found. FORMAT: .RENAM~[-Jds,namptr ARGUMENTS: .OAT slot (octal radix) ds narnptr pointer to~e old name and extension (new name is at namptr+3). (Unused spaces must contain nulls.) (all values below are octal) EXPANSI.ON: LOC+-" LOC+l LOC+2 6.7.ll CAL+2-"-"~~[-]ds&777 2 namptr .RTRAN Allows random access to blocks in a file opened via a .RAND I/O macro. Programmer may read or write into any block of a file, but may not change the length of the file. FORMAT: .RTRAN~[-Jds,d,r.elblk,bufadd,beg,wdc ARGUMENTS: ds .... OAT slot (octal radix) d direction: ~ - direction is input I - direction is output relblk = block number (octal radix) relative to beginning of the file ... first block is block 1, etc. bufadd • address of I/O buffer in user's core space. beg first block nored octal physical word of physical to be mad or..ci tten ..• igfor disk pack ... must be radix, ~_be~_375. wdc number of words, starting with beg, to be read or written ... ignored for disk pack ... must be DECIMAL radix, ~_cn~~(253-beg). 6-23 6.7.11 (Cont. ) EXPANSION: (all values below are octal) LOC+.0 LOC+l LOC+2 LOC+3 LOC+4 LOC+5 6.7.12 CAL+4.0.0~~[-]ds&777 2 d*4.0f1f1f1f1+relblk bufadd -beg .DEC -wdc .SEEK Opens a file for input on a directoried device. is ignored by non-directoried devices. SEEK If the file is listed in the device's directory, the handler reads the first block of the file into a buffer. (A subsequent .READ will obtain the first logical record in the user's I/O buffer.) If the file is not listed in the device's directory, the handler will pass control to the error handling routine in the Monitor. If the user wishes to retain control in the case that the desired file is not in the directory, he should first issue a .FSTAT command. FORMAT: .SEEK~[-]ds,namRtr ARGUMENTS: ds .OAT slot (octal radix) namptr EXPANSION: pointer to ehe three-word .SIXBT representat~on of the name and extension of the file to be opened for input. ' (Unused spaces must be null-filled.) -(all values LOC+.0 LOC+l LOC+2 be~ow are octal) CAL~[-]ds&777 3 namptr 6 • 7 • 13 . TRAM Allows device-dependent, non-directoried input and output to any mass storage device. Users address such blocks by their physical locations. .TRAN should be followed by a .WAIT macro, to ensure that the transfer has been completed. FORMAT: .TRAN~[-]ds,d,biknum,bufadd,wdc ARGUMENTS: ds .OAT slot (octal radix) d = direction of transfer: ~ I 2 3 NOTE: inptlt, forward output, forward input, backward (OECt~pe on~y) output, backward (OECtape only) OECtape blocks must be read in the direction they were written in, in order to obtain meaningful results. blknum = block number (octal radix) of block at which to start input or output; I/O with word count larger than one block will continue with the next contiguous block; end of tape or disk will cause lOPS error. bufadd address of I/O buffer; I/O buffer must be at least as long as wrdcnt. wdc number of words to be transferred (decimal radix) EXPANSION (all values below are octal): LOC+~ LOC+l LOC+2 LOC+3 LOC+4 CAL+d*I~~_~[-]ds&777 13 blknum bufadd -wdc . 6-25 6.7.14 .USER Allows users to dynamically assign UIC's to desired UFOT slots, thus permitting access to UFO's other than the UFD specified at LOGIN time (refer to paragraph 8.4). Protection for the specified UFD and its files remains in effect. .USER must be issued before the .INIT of the I/O sequence for which UFO change is desired (see example below) . FORMAT: • USER....,[ -] ds, uic ARGUMENTS: ds .UFOT/.OAT slot number (octal radix) uic EXPANSION: (UIC) the .SIXBT representation of the three-character User Identification Code (all values below are octal) LOC+~ CAL....,I - Jds &777 LOC+l LOC+2 23 uic For example: .USER l,ABC .INIT 1 .USER l,CDE .SEEK l,FILE .S~EK (;his searches for FILE under th:l LUFO called ABC .CLOSE 1 .INIT 1 .SEEK 1,FILE J th~ f;his .SEEK searches for FILE under ~D called C D E . J _ 6-26 6.7.15 .WAIT Obtains and holds control until the user's I/O buffer is available after an I/O operation. Should be used before accessing an I/O buffer after .READ, .WRITE, .TRAN, and .RTRAN commands. FORMAT: • WAIT~[ -] ds ARGUMENT: ds = .DAT slot (octal radix) EXPANSION: (all values below are octal) LOC+f6 LOC+l 6.7.lEi CAL....,[ -] ds&777 12 • WAITR Returns control to the address specified as an argument to the CAL, if I/O is not complete. If I/O is complete, returns control to next location after macro expansion. It is the user's responsibility to return to the .WAITR command, or do another one. FORMAT: .WAITR [-]ds,waitad ARGUMENTS: ds waitad EXPANSION: .DAT slot (octal radix) address 'to which control will be returned, if I/O is incomplete. (all values LOC+f6 LOC+l LOC+2 be~ow CAL+1f6f6S 12 waitad 6-27 are octal) [-] ds&777 6.7.17 . WRITE .WRITE transfers a logical record from the user's I/O buffer to the handler's buffer. The .WRITE command establishes the mode in which data is transferred. The Header Word Pair Count determines the max imum amount of data to be transferred in all mode s except Dump, which references the "wrdcnt" argument. The only limits on data transferred in Dump Mode are the size of core and the capacity of the device accepting the data. On physically blocked devices, such as DECtape and disk, the handler will start from its current position in a block and fill successive blocks until the transfer is complete. If a Dump Mode transfer does not completely fill the last block used, a subsequent Dump Mode transfer will fill that block, before using any other. ' .WAIT or .WAITR must be us~d after a .WRITE command, before the user's I/O buff~r is used again, to ensure that the transfer to the d~vice has been completed. FORMAT: .WRITEI...II-Jds,m,bufFidd,wdc ARGUMENTS: ds m .DAT slot (octal radix) = data mode for transfer fI - lOPS Binar!r 1 2 3 4 bufadd wdc - Image Binary lOPS ASCII Image Alphanumeric Dump = address of usek's I/O buffer containing data to be trahsferred. = word count, number of words to be transferred (decima~), (relevant for Dump Mode transfers only) . EXPANSION (all values below are octal) LOC+~ CAL+m*1~~fI~[-]ds&777 LOC+l 11 LOC+2 bufadd LOC+3 -wdc 6-28 6.8 USING I/O MACROS The programmer must observe certain conventions when incorporating I/O Macros into a program. 6.8.1 In general, consideration must be given to: o o The physical device and its capabilities o The I/O Macro Syntax o The I/O Macro Sequence for the desired file access/ structure (see Chapter 4) I/O device handler characteristics Physical Device Capabilities The considerations involved here are obvious and need little comment. Simply stated, the user must understand the gross differences between various devices. printer. Ei. 8.2 For example, a.READ cannot be issued to a line Similarly, binary data cannot be output to a teleprinter. Device i HandlerCharacterist~cs Many of the standard PDP-lS I/O de~ices available to DOS-15 users are provided with several hand),E!r:_ "~~~l()J1E3.. _. These versions vary from one to another as to the I/O Macros anq Data Modes which are acceptable to them. Some versions permit the fu~l set of I/O Macros and Data Modes to be used, while others incorporatie a subset of these features. These limited capability handlers are provided primarily for use where core allocation is a problem, since they are smaller than those with greater capability. The user must be aware of these handler differences, particularly if he wishes to utilize device dependent characteristics. Detailed descriptions of the DOS-15 device handlers are provided in Chapter 9. 6.8.3 I/O Macro Syntax The order in whi.c h I/O Macros are used is important to the . success of an I/O transfer. There are basic rules of syntax which must be ad- nered to in order to avoid run time I/O (lOPS errors) errors. rules apply to any I/O sequence directed to the same .DAT Slot. 1. .INIT must always be issued before any other I/O Macro. It initializes the handler associated with the referenced .DAT slot for either input or output. Subsequent .INITs can be used to unconditionally terminate an unwanted I/O operation. These Table 6-4 Legal I/O Macro Combinations j Commands Commands which may ..Qrecede Misc. I which may Misc. Directorv Maintenance File Structure Initialize Data Transfer follow: INIT .FSTAT RENAM .DLETE .CLEAR .SEEK .ENTER .RAND .MTAPE .READ .WRITE .RTRAN .TRAN .WAIT .WAI'!'.R .CLOSE J C7\ t · w o • INIT X . FSTAT .RENAM X X X X X X X X X X X X X .DLETE X X X X X X X X X X X ? X X X X X ? X X X X X X X X X X X • CLEAR X X X X ? X X X X .SEEK X X X X ? X X X X • ENTER X X X X X X X X X • RAND X X X X X X X X .MTAPE X X X X X X X X X X • READ X • WRITE X .RTRAN X .TRAN X X X X X .WAIT X X X X X X x: X X X X .WAITR X X X X X X X X X X .CLOSE X X X X X X X X X X .USER ? Notes: ? X Blank = = = X X t X X X X X Illogical Combination Legal combination Illegal Combination ? ? ? ? ? ? X X x: X X X X X X X X X X X X X X X X X x: X X X X X X X ? X ? ? X X X ? X X ? I I I I I I 2. .CLOSE (or .MTAPE Rewind, for Magtape) must always be the last Macro issued in the sequence. It terminates the current I/O operation and use of the associated .OAT §lot. Another .INIT must be issued if subsequent transfers are to be made via this .OAT slot. 3. I/O transfers to directorted devices (OECdisk, Disk Pack, OECtape or Magtape) require the use of .SEEK before .READ, .ENTER before .WRITE and .RAND before .RTRAN. 4. Intermixing of .SEEK, . ENTER, .MTAPE, and .RAND Macros in the same I/O seq,u ence (i. e., occurring between an .INIT and a .CLOSE referencing the same .OAT slot) is illegal. The acceptability of specific combinations of I/O Macros is shown in Table 6-4. 6.8.4 Selecting an I/O Macro Sequence The user has the capability of selecting command sequences which emphasize either device independence or pevice dependence, as his needs dictate. Much of the device independence of the DOS-15 System is ob- tained by using I/O Macro sequences! which are general enough to be acceptable toa wid.e range._o.fdevi.cie.llandlers. based on sequential file access vi~ These sequences are the .READ and .WRITE I/O Macros, which are recognized by all DOS-15 pevice Handlers. .lNIT - .READ (or .WRITE) - Simply by using .CLOSE :sequences along with the applicable lOPS Data Modes, a user's program has the capability of communicating with all non-mass storage devices (including teleprinter, paper tape reader arid punch, line printer, ca~d reader and VP-15 display). By adding the .FSTAT, .SEEK, and .ENTER Macros, the same program can, in addition, utilize the system's mass storage devices DECdisk, Disk Pack, DEC tape and Magtape). (including The examples below further illustrate these sequences. Example 1 - Typical Output Sequence . IOOEV 1 fUse .DAT slot 1 .INIT /Initialize .OAT slot 1 for output (1) 1,1, RSTRT Optional check for existing file and device type, e.g., .FSTAT, .RENAM, .OLETE, etc. 6-31 Example (cont·CO Ifroces~ data for outputl • ENTER l, NAME r------+ . WRITE l, 2 ,BUFF, 34 .WAIT 1 Yes /Output a record to .OAT slot 1 /from BUFF in lOPS ASCII Mode. /Wait till buffer is free Is there more data ? No .CLOSE 1 -"FIL@@@9RC" NAME .SIXBT BUFF .BLOCK 42 /File name in .SIXBT :/Spaces are null filled (i.e., @=null) flf&-buHer Example 2 - Input Sequence .IOOEV 1 • .INIT l,~, '1use .OAT slot 1 RSTRT ./Initialize .OAT slot 1 for input(~) Optional check for existing file and device type (e.g., .FSTAT, .RENAM, and .OLETE Macros) . . SEEK r-------~.REAO • WAIT l,NAME l,2,BUFF,34 1 Process input data Yes 1 RSTRT • CLOSE NAME BUFF .SIXBT "FIL@@@SRC" /File name in .SIXBT. Spaces are .BLOCK 42 /null filled (i.e., @=null) /1/0 buffer 6-32 - Device dependent I/O programming i$ based in large part on the use of device-specific I/O Macro sequences and to a lesser degree on the structure (Data Mode) of the data. For example: .RTRAN can only be used with disk handlers; non-mass storage devices do not need .SEEK or .ENTER for operation (they igno~e them). Furthermore, the inter- pretation of data using the Image and Dump Data Modes becomes the user's responsibility, rather than the handler's. The user who does not need device independence can e~iminate unnecessary instructions in his program and obtain addition~l free core for other purposes. For instance, assume thatm the was never to be used. pr~vious examples a directoried device The programier could then economize by eliminat- ing all I/O Macros associated with !I/O on directoried devices such as .SEEK, .ENTER, .CLEAR, .DLETE, .FS~T. Figure 6-12 shows the relationship ;between standard I/O Macro sequences and the various I/O devices and file structure/access features of the DOS-15 system. Except for .INIT and .CLOSE, there is no implied order to the macros in any partic~lar I/O sequence shown (the reader should refer to paragraphs 6.7 ,an~' 6.8.3.1 for this information). 6.8.S Programming Example The following example illustrates the use of I/O Macros in a Macro-1S ' Assembly Language program. The program accepts an ASCII line from the teleprinter keyboard, creates a fi~e on ' the disk (or if the .DAT slot is properly assigned, on any bther directoried device), reads the file back from the disk, and prints it 9n the teleprinter. Before subse- quent keyboard inputs, the program :prints the following message on the teleprinter: FILE ALREAD'!l PRESENT! 1 DO YOU WISH TO KEEP IT? (Y OR NAND CR). > By typing a Y on the keyboard, the file previously ,created is saved and a new file is created for the next line input from the keyboard. By typing an N rather than a Y, the next line input from the keyboard is written on the disk using the filename assooiated with the line previously typed (that line will be deleted). The name of the file is initially ECHO 001. A new file name is created each time a Y is typed in response to the above message by 6-33 .INIT No - ( L e., Te1e rinter, Paper Tape, Line Printer, etc. ) (i.e., DECdisk, Magtape) D~sk Pack, DECtape, NO No Yes . FSTAT .RENAM .DLETE . CLEAR Random or • ENTER • WRITE .MTAPE . RAND .RTRAN .MTAPE . READ or .WRITE .TRAN • READ or . WRITE • WAIT or .WAITR Figure 6-12 I/O MACROS APPLICABLE TO SPECIFIC DEVICES AND DATA ACCESS TECHNIQUES 6-34 - increment±ng-the -·locat:i:on---±n-the-PLf'9'L am called - NMffi' 2--wh±ch--in±tial-ly contains the "001" extension of the!file name in Sixbit trimmed ASCII (.SIXBT pseudo-opl. This produces I6 series of uniquely named files . (one each time a Y is typed) as fol~ows: ECHO 001, ECHO 002, ECHO 003, ECHO 004, etc. The arguments used by the I/O Macro~ in this program are given symbolic names by means of MACRO-lS direct assignment statements at the beginning of the program. These names p ~it the programmer to change the real values of these arguments read'ly and also facilitate recall. Tne l,isting shown below is the sour ~_listing and is followed by an aseembly listing which shows how Macr s are expanded at assembly time. Tne reader may wish to compare .thes expansions with the Macro descriptions in the beginning of this chap era Programming Example - Source Listing ,TITLE DKECHO ;) I5K-7 TTI·6 TTO-5 IN a 0 (JUh1 101'5=2 13EGIN START ,lODE V ,,6,7 o lSK, OUT. Rt STAT , IN tr • IN 1T TTl .!N,RESTRT , I f\J I T TTO.OUT,RESTRT ,F'ST AT SlA DISK, NAME JMP ,WRITE: ,REAO ,WAIT ,EJEcT LAC U~OA TE TTO,lDPS,,.,SG3,S4 TTl,IOPS,BUF'F'[R,J4 TTl uDSW 52A JM~ WR J TF: REAQOT ,E"-IrtR ,WRITE ,WAIT ,CLOSE , I NIT ,SEEK ,RrA') ,WAIT ,EJECT ,WRITE. ,WAIT ,CLOSE ,CLOSE ,CLOSE J"1F' NEWF'II. DlSK,NAME OISK,lOPS,aUr'[R,34 nISK niSK OISK,I~,RESTRT OISK,NAM( 0ISK,IOPS,aUF'F'(R,34 OISK TTO,IOPS,BUfr[R,34 no TTO TTl DISK BEGIN 6~3S IINITIALI~E OISK OUTPUT, ITEI.ETYpr INPUT. IANO TELETYPE OUTpUT lIS riLE PRESENTl INO, 1~PuT KEYBOARO IYES, OUTPUT MSG1 AND MSc2 ITyPE A GO AHEAD SYMBOL c» IINPuT loPS ASCII fROM K[YBOARD IWAIT UNTIL tNPUT COMPLETE ITEST UPOATE SWITCH I~ R[PLAr,( t~PUT flLr l~lcSAVE INPuTI CRlATE NEW OUTPT ICREATE ~EW OISK riLE IOUTPUT DATA ON DISK IWAIT UNTIL OUTPUT COMPLrTEO ICLOSE fYLE IINITtALylE DISK INPUT ILOCATE rILE "NAME" IREAD INTO BUFfER IWAIT UNTIL READ COMPLETE IOUTPUT TO TELETypE /WAIT UNTIL OUTPUT COMPLfTE ITERMINATE TfLETYPl OUTpuT, ITEI.ETYPr INPUT, IANU DISK INPUT/OuTPUT ILOOP FOR UPDATE OPTION ,WRITE " lolA IT ,EJECT TTO.IOPS,MSG1,34 TTO lOUT PUT MSG1 IANU MSG2 ,WRITE TTO.IOPS,MSG2,;S" TTO TTI.IOPS.COM,S ION ITEL.ETYPr IREAD RESPONSE IWAIT UNTIL READ COMPL.ETE IGET fIRST WORD ISAVE rIRST SEVEN BITS liS CHAR A Y? ','WA I T ,READ ,' 11/ AI T LAC AND SAO JMI' YES (5"4210IZJ YES !)iM UDS\oI JMI' ROOKB CLC DAC JMP t"tWflL TTl CO"'+2 ( 7742100 UOSw READI<8 INO, SET TO REPL.ACl INPUT rlL.E ILOOP TO R[A~ KEYBOARD 15fT UPDATE SW, TO SAvE IINPUT, CREATE NEW OUTPUT ILOOP TO READ KEYBOARD ICIoIA"JGE or ILEAST SIGNIrICANT DIGIT 0' ISrXeT VALUE Or LAST CHAR !N tXT ISTHIP orr HIGH PART or CODE LAC LRS 3 qTR RAR LRS :5 ILEAS' SIGNl,lCANT DIGIT 0, ISIXBT VALUE Or MIDDLE CHAR IN EXT ISTHIP orr HIGH PART or slxeT CODE U.S 6 AND (771 IPUT BACK IN AC ISTHIP Or HIGH OReER PART or REMAINING ISIXBT CoDE rOR LAST EXT CIolAR IINCREMENT TO MAKE NEW ExT IR[VERSE PAOCESS rIx uP ExT 1"J IPROPEH SIXBT ~JAME+2 RTR IUR TAO LRS f1 6 ,0 RTL RAL LLS RTL RAL u.s 3 3 AND (~10707 xOR r')AC JMP flAME.;:! (61'1!6060 wRITE "!SG2:MSGll2·H~~ ITO CRlATE NfW I~PC ~ ,ASCtl "rILE ALREADy" ,ASC I I "PRESENT! 1"(15) ,EJECT '1SG3';'MSG2/2·1~~~ ",ASCII MSG3 "no YOU WIS~ TO KEEP IT 1" :ASC!I "(Y OR N ANO CR) >"(175) COH-"1SG3/2*HH1J0 !II COM ~UrrF.R ~AME ,"ASCt I .BLOCK ,BLOCK ,S!XRT ")"<17~> 1~ 42 "EC~O~~~~1" IJDSW .ENO 8ECd i~ rOR ~EA 0 ER OUT~UT ~OHO 0 programming Example - Assembly Listing OACE 1 DI0('51 ~ 0e51 ~ F; A *G A *G ~ £00074 R .G ; ~~00~0 A *G R ~0~~07 r~~ 52 R ~a~~el ~~~ 53 ~ 0~54 COMPLETE ITrST UPDATE SWITCN II REPLAC[ INPUT 'ILI I_i-SAVE INPUT. C~EATE NEW OUTPT IC~EATt NEW DISK rILE IOUTPUT DATA ON DISK BUrFER .DEC .. 34 ,WAIT r."ISI( CAl. 0 I SKA777 12 .CLOSE ~ISK CAl. DISK&717 25 2~ I~PUT 11 24 2'~"'0?7 0~~~12 LAC uOSW Si!A JMP NEWF'tL .ENTER OISI(,NAME +CAL*1000 OISK&777 IWAIT UNTIL 4 ree41 R ~~ 20e7 A ec r 0 ~ 42 R 000011 A ec ~r~43 R Ce~2J7 R *C *c ,'ee44 R 777736 A *C ;IN'45 R TTl CAL. TT 14777 12 ~0~36 I IINPUT lOPS ASCII PROM KEVBOARD 10 BurFER .DEC A *G A *C R 200304 R ~ 740200 A R 600136 R 0~~33 l0034 .READ TTI,IOPS,BU~~ER.34 CA~·tOFS*1~0~ TTl&777 IWAIT UNTIL OUTPuT COM'L£T£O ICLOSE FILE 6 ReADOT • t NIT OISK.1N.RESTRT DISK&7 77 CAL+tN.l~~0 1 RESr .. T.0 ~ .EJlCT IINITIAI.IlE DISK INPuT Programming Example - Assembly Listing (Cont.) PAGE 3 DK[CI10 [}I([CIolO 02'1 27 R 001007 A *G r0056 R ~00023 , *G 0 0~5' R 000301 R *' ~e055 28 ~0~6r, ~ 0061 ~0062 29 0\ I \.oJ '" 31 R 002007 A eG ~ 020'10 A *c R e~e231 R .G ., 00063 R 777736 A *G ~ 006. ~ e000 ~ 7 00065 ~ e~0012 A .G A *c R 002005 A *c 00067 R 000011 A *G ~007~ R 000237 R *G *' J 0071 q 777736 A *c ~0066 32 33 A *c R 000012 A *c RESTRT e. 01i174 R c0l74 R 000E05 A *c ~e ~ 75 ~ 000006 A *c 0 e ~ 72 c 0~73 ~ ~~0005 J 0~76 q 00~0~6 ~e077 R 0~0~l6 A *c A *G a~l~ r rrl~l 0~102 R ~ ? ~lr7 A *c 34 35 36 Q 00rJ26 A *G R 6~e~0~ ~ • SEl;.l< OUI<, NAM( CAl. 0151<&717 I~OC'TE rILE "NAME" l NAME • READ OlSK,IOPS,BurrER,J • CAL·IOPS.1e •• 0lSK4777 1" IREAD INTO BurfER BU"~ER ,Dre ·U cUI< • wAi T CAl. OUK&1Y7 12__. • WRl TE TTO,IopS,BUrfER,3 4 CAI..loPS.~e •• TTO&717 IWAIT UNTIL READ COMPLETE IOUTPUT TO TELETYPE 11 BurrER .OEC! .. 3-' ,WAIT Ho CAL nOU11 12 .CL.OSE TTO CAL. TTO&7'17 6 .CLOSE TTl CAL TT 1&717 6 .CI..OSE OIS/( CAl. DISK&]77 6 JMP .£J~CT aE.CIN /WAtT UNTIL OUTPUT COMPLETE /TERMINATE TELETVP£ OUTPuT, ITEI.ETVP£ INPUT, /ANO DISK INPUT/OUTPUT /LOOP rOR UPDATE OPTio~ Programming Example - Assembly Listing (Cant.) t>AGE J7 S8 4121 4 OI '101"3 R A aG 00104 R 000011 A -C 00105 ~ ~00163 R -G ~0103 ~ ~02~05 -c 0~106 R 777736 A -C 00107 e00005 A -C R ~0e012 A -C ~011~ ~ R 002005 A -G R 000011 A -C 00113 R 00e177 R -a ~~111 ~0112 '" .~~ 0 ac 41 42 0e114 R 777736 A -C 00115 R 000005 A -C ~0116 R 000012 A -C A ac ~r12l R 002010 A -C 00 121 R 0~0227 R aG ~0117 q 002~06 ac 43 00122 R 777770 A ac ~ 0123 44 45 46 47 48 49 50 R'0~00 0 6 A ac 00 124 R erc02 12 A .C ?0125 R 2~~231 R 00 126 R 5P23Z5 R r~ 127 ~ ~4~3~6 R ,' 013::' ~ 6~~133 R ~ e131 R 14e3 ~ 4 R ('''132 R 6"e?21 R yES ~e13J R 750~ ~ 1 • to/RITE TTO,IOPS,~SG1,J. CA~·IOPS.1002 TT04 7 77 IOUTPUT MSG1 11 ",SC1 ,DEC "J4 ,WA 1T Tro CAl. non71 12 ,~R 1 TE TTO,lOPS,M$C2,34 CAL·IOPS-1e0~ TTO&111 11 lAND ,",5(;2 ION "'SC~ ,DEC .. J4 ,~AIT TTO CAl.. TTO&7n 12 ,REAQ TTJ,tOPS.C OM,8 CAL+tOPS.1000 TTl&171 10 COM .OEC .. 8 ,id 1 T TTl CAl. TTI&777 12 LAC CO M+2 ( 77401/1121 A'JO (544~00 SAD yES JMP 'JiM L'DSw J~p REAOl(8 CI.C ,EJt.CT ITt~ETVPE IRUO RESPONSE IWAIT UNTIL READ COMPI.(T£ ICET F'JRST WORD ISAVE rlRST SEVEN 8ITS IlS CHAR A Y? INO, SET TO REPI.ACE iNPUT rILE II.OOP TO READ KEyBOARD ISET UPDATE Slol. TO SAVE Programming Example - Assembly Listing (Cant. ) PAGE 51 52 53 !54 55 !56 157 58 59 60 61 62 63 5 DKEr.i-!Q DKECHO Y.'2 1 0 0134 q ~ e135 R 600021 R 040334 R 0 ~136 ~ 2003 r 3 R 0 0131 R 640503 A NEWF"II. (7\ I ~ !oJ ~0147 LRS 69 ANO uo R 340310 R 640506 • LRS Q '7e 71 72 13 14 75 76 71 18 79 80 81 00151 R ~0152 R 00153 R 00154 R J0155 ~ ~0156 R ~~157 R 0 016r R 6 (777 II'UT BACK IN AC ISTRIP 0' HIGH ORDER 'ART or REMAIN ISlxBT coor 'OR LAST EXT C~AR IINCREMENT TO MAKE NEW ExT IREvERSE '~OCESS TO 'IX UP ExT IN IPROPER S!XBT (1 6 R41. LI.S RTL. 3 RAL. A 5~~311 R 240312 R ~0161 R e 403 ~ 3 R 0 0162 R 6~00J6 R ~~163 ~ 006000 A 00164 R ?~0000 A ~0165 R 432231 A 00166 R 4425 a ~ 4 ~ e167 ~ 4e6312 A 0 ~17 r R 242632 A r ~171 R 422624 A r 0172 R creee~ A ~0173 q 5024~0 A 00174 M 551612 A 0 0175 q 4725 / 4 A j 0176 ~ 12e432 4 II.E4ST SIGNI"CANT DICIT 0' ISlxeT VALUE 0' ~IOOL[ CHAR IN EXT ISTRIP 0" HIGH PART 0' SIXBT CODE RTI.. 742010 A 740010 A 6406 e 3 4 742010 A 740010 A 6406~3 3 RTR RAR U.S 67 68 "4,,,[.2 3 LRS RTR 6~ 0015 0 LAC IINPUT, CREATE NEW OUTPUT ILOOP TO READ KEyBOARD IC~.NCE EXT II.[AST SIGNI'lCANT DIGIT or IS!X9T V.~UE or LAST C~AR IN EXT ISTRtP orr HIGH PART 0' CODE ~EADI ,BI.OCI< .9\.,OCI< 10 ~AI1E ,SrXBT ,·ECI-IC .... 01Z'1 " UOSW " BEGIN 8Uf'F'ER ,ENU *L *L *L *L *L *L "!Y OR NAND CR) NO ERROR l.1 NES 42 >"(175) ~EAOER wORD ~ Program Example - Assembly Listing (Cont.) PAGE BECPl 9UH'ER COM ')JSI( IN 1011'S "I5C1 MSG2 ~5C3 a\ I ~ ,w ,; ,"IE '~ E IoIr I L. ')UT ~[.O D T Q[ADKB QE5T~T SH!:IT nI no 7 DKECMO CROSS REFER[NCE 0U0 ll 00237 U221 00000'7 111001/J0 Q! 0U0e2 00163 9_ 16 42 228 5- 29 10 737 30301 ('l 0136 000001 030S1 26- (1I :!!021 15- 0!2J01. 0I~014 ~00006 2'~r?!0r; 23 44 9 4C 15 12 21 6- 1'0171 e0223 36 9 123- 4_ 41 15 7878 83 22 539 49 1'1 94 28 87 31 12 35 26 22 23 24 25 i6 27 16 23 28 31 31 411 .a 87 53 16 92. 52 11 26 33. ,54 42 32 33 43 31 J8 d 78 83. 81. 21 83 11 10 16 11 15 17 3t 46 51 93_ UOSw J POAT[ :10304 ? ("1~~ 19 14 ",RIH YES <-el036 22- n ~013~ 47 50- 37- 91- 91h 6.8.6 File Integri ty Cons~derations ~ In a system such as 005-15, which offers flexible I/O command reper- toire, I/O programming requires care ••. otherwise, numerous lOPS errors may result. Further, there are I/O sequences which the system allows ..• which, if carelessly used, can result ih the destruction of the user's files or those of others. The paragraphs below describe some important considerations. a. Extreme care must be exercised when using the .TRAN macro to output to the DECdisk, Disk Pack, DECtape or Magtape. must know the disk and . DECtape file cause .TRAN operates completely and ignores the existence of ~tructures outsid~ ~ll The user completely, be- these file structures, directories and bit maps. entire contents of the disk or :DECtape The OJ:' Magtape, therefore, are vulnerable to the user of .TRAN. o. Caution should be used when rea~ing a file from the disk sequentially (.READ) from one .oAT slo~, while modifying the same file via another .DAT slotusing random access (.RTRAN). c. Generally speaking, output files are not recognized by the system until they are .CLOSEd. Under most circumstances, termination of program control and return to the Monitor will cause the Monitor to delete any unclosed output files. Occasionally, a system crashor ·other unusual phenomenon will cause a disk output file t~ be truncated. Truncated files are the remains of output : files that the system did not get a chance to delete. Dit-ectory listings from PIP that contain an asterisk (*1 after a file name indicate a truncated file. They take up disk space and should be deleted via commands to PIP. 6-44 CHAPTER ·7 SYSTEM INITIALIZATION 7.1 INTRODUCTION This chapter describes the procedur.s to be followed when loading, starting, and tailoring the 00S-15 $oftware System. Under normal cir- cumstances, these procedures Shouldlrarel Y need to be used. Occasion- ally, however, a program may enter, runaway condition which could re- I sult in the inadvertent destruction of a part of the 00S-15 software residing on the system device or in : core. In addition, it may be neceS- sary to change the 00S-15 software tonfiguration from time to time to permit the use of a new I/O device Or system program. These alterations to the system are Only permitted to ; be performed by those who have access to the system's Monitor Identification Code (MIC). Thus, the average user need not be concerned with the contents of this chapter except as regards the loading and u~e of the DOS-IS Bootstrap (Para- graph 7.3.2). , Chapter 10 contains the operating procedures to be used once the system is loaded and running. 7.2 HOW THE SYSTEM SOFTWARE IS SUP~LIEO The 00S-15 Monitor and System prog~ams are supplied to users on either DEC tape or Magtape, depending upon the particular hardware configuration. The software system r~sides on the OECtape or Magtape medium in a special form which is cieaningful only to those programs which can transfer the system to tHe disk. Thus, these tapes are often called "disk restore tapes" as they! may only be used for this purpose. The OOS-15 Software System occupies' two reels of OECtape or one 7- or 9-track reel of Magtape which are identified as follows RF Disk l : RP Disk OECtape Tape 11 OEC-15-MKOA-UC OEC-15-MKAA-UC Tape *2 OEC-15-MKDA-UC DEC-15-MKAA-UC DEC-15-MPMA-M7 (7 channel) DEC-15-MPZA-M7 (7-channel) DEC-l5-MPMA-M9 (9-channel) DEC-15-MPZA-M9 (9-channel) Magtape JAn additional DECtape (DEC-15-FFDA-UB) or Magtape (DEC-l5-FFDA-M7, 7channel; OEC-l5-FFDA-M9, 9-channel). is required for systems with the optional FP-lS Floating Point Processor. The installation and loading of software contained on these tapes is described in the SGEN-DOS Manual (DEC-15-YWZB-DN12). TWO paper tape programs are- alSO - I>~t<1"e"a· to ' ass!sttheuser 1n load'- ing and starting the DOS-15 system; : name1y the Disk Save/Restore program DOSSAV (DEC-l5-YIDA-PB) and DOS-15 Bootstrap (RFBOOT - RF15 Mu1ticore Bootstrap, DEC-15-LWDA-PH, RPBOOT - RP~2 Mu1ticore Bootstrap, DEC-15-LWAA-PH) • 7.3 SYSTEM STARTUP PROCEDURES The following paragraphs describe t~e procedure for loading and stait~ ing the DOS-15 Software System usinf the DOSSAV and DOS-15 Bootstrap programs. 7.3.1 Disk Restoration (DOSSAV The DOS-15 Software - System is transferred from the Disk Restore DECtapes or Magtapes supplied by Digital Equipment Corporation to the appropriate disk device using the DOSSAV utility program. provides users with the ability to ~ave This program and subsequently restore all occupied blocks on the disk using either DECtape, Magtape, DECdisk, or Disk Packs as the storage medium. Though the program is most often used to install the DOS-15 System, It can also make additional copies of the system currently on the disk~ of a newly tailored system (i.e., after System Generati.Qn). __o~_ of t:.he~ntents .of__OiskF.Q...CK units 1 - 7 (in the case of multiple Disk Pack pystems). DOSSAV operates interactively via t~e console teleprinter and asks the user a series of questions to dete~ine which devices and unit numbers are to be used and, for Magta,pe, par ,iitty , density and track count information. When all necessary info~tion has been obtained, DOSSAV automatically begins the specified bperation. I If a save or restore operation requires more than one tape, the program stops and outputs tha~ a message on the teleprinter to detect both hardware and commi'lnn messages on the teleprinter. effect. ",tor-inn ~Y'rnr'" The user can then mount ;,nil "",t-n"t-", "n.., .. ",","";""~ In addition, the program permits DECdisk users to restore systems created in a small DECdisk configuration to an environment with a larger DECdisk configuration. possible. The reverse situation, however, is not The DOS-15 Disk Restore tapes supplied by Digital for a one-platter system configuration, therefore, can be restored to any size DECdisk system configuration l • DOS$AV is a stand-alone program supplied IThis type of operation . should only ' be done with master tapes (or copies of them) since block 1775 9 must not be occupied when performing a restoration to a system with 5 or more platters. in paper tape form (identification ' number~ DEC-1S-YIDA-PB) and is loaded via the high speed paper tape reader using the PDP-1S's Hardware Readin Mode (load address 7.3.1.1 3772~, restart address 34S~~). Operating Procedures - The following procedures should be used when restoring or saving the 005-15 System Software (or other usercreated data on Disk Pack units 1-1): a. Place the DOSSAV paper tape in the Paper Tape Reader. b. Set the console ADDRESS switches to 37720. c. To restore the disk: 11 Mount the 005-15 Disk Restore DECtape or Magtape for the appropriate hardware configuration (i.e., DECdisk, Disk Pack, Floating Point or non-Floating Point hardware) on the applicable tape drive. 2t Set the DECtape drive :WRITE ENABLE/LOCK switches to LOCK. (Magtape us~rs should remove the Write ~ape Enable ring from the 3} reel.) Set the disk READ/WRIlE PROTECT switches to ENABLE. To save the contents of the disk: 11 Mount a fresh tape on the appropriate tape drive. 21 Set the DECtape WRITE ENABLE/LOCK switch to ENABLE. (Magtape users should install the Write Enable ring on the tape reeL) d. Set the tape drive unit number switches as desired. Set the Disk Pack unit number switches as desired (005-15 Disk Pack Systems must be restored to unit ~). e. Set all ON LINE/OFF LINE switches of the devices being used to ON LINE. f. Press the Console Switches STOP and RESET simultaneously, then press the READIN switch. (The DOSSAV tape should pass through the reader.) 7.3.1.2 Commands - Once the paper tape has been read in, DOSSAV will identify itself on the teleprinter and begin to ask the user a series of questions about the devices to be used, as shown in Table 7-1. Each user response must be terminated by a Carriage RETURN. 7-3 It should also be notedthat.-some- .o£ tha- questi.6iiS. -ShO:wll are tyPed .out .only when applicable (i.e., no questions' are asked about Disk Pack unit numbers or ~agtape parity, density, or number of channels if these devices are not to be used). Legal input and output device combinations are shown in Table 7-2. Tablel 7-1 DOSSAV Conunands Query User Responses INPUT DEVICE? DT -- DECtapb, MT = Magtape, DK = DECdisk, DP = Disk pack UNIT NO? Legal unit humbers are 0 - 7 TRACK (7 OR 9)1 Magtape track or channel number. (If 9 is specified, density is assumed to be 800 BPI.) DENSITY (2,5,8)1 Magtape recprding density: 2=200 Bits Per Inch (SpIl, 1 5=556 BPI, 8=800 BPI. PARITY (E OR 0) 1 Magtape parity scheme: E = even parity, o = odd parity. OUTPUT DEVICE1 (See INPUT DEVICE above.) UNIT NO? (See UNIT NO. above.) TRACK (7 OR 9)1 _ (See TRACK above.) DENSITY (2,5,8)? (See DENSITY above.) PARITY (E OR OJ? (See PARITY above.) DATE CREATED: The date that the restore tape was created is typed out by DOSSAV. Table 7-2 Legal DOSSAV I/O Device Combinations ~~ Input Dev Dev DEC tape (DT) Magtape (MT) DECdisk (DK) Disk Pack (DP) DECdisk Disk Pack DECtape Magtape! (OK) (DP) (DT) (MT) OK OK Illegal Illegal OK OK Illegal Illegal OK Illegal2. OK Illegal Illegal OK OK Illegal !All DOS-IS System Restore Magtapes distributed by DEC are 800 bpi, Odd Parity. 2Use PIP Utility program with no switch options for this operation (refer to DEC-1S-YWZB-DN13). 7-4 Once the last- question has been answered, - OOSSAV proceeds with the specified operation. If additional tapes are required to complete tne restore or save operation, the following message is output: TAPE DONE. MOUNT ANOTHER At this point, the user should eit~r mount a fresh tape, if a save operation is being performed, or mdunt the next tape in the sequence established at tape creation, if a ;restore operation. Then type any character followed by a Carriage RtTURN to proceed with the operation. When the requested operation is en~irely complete, DOSSAV restarts and identifies itself as before: DOSSAV Vnn INPUT DEVICE? At this point the current restore or save operation is complete. If the DOS-IS Software was being restored, it is now ready to be started as specified in 7.3.2. If other DOSSAV operations are desired, the user should proceed again as specified in 7.3.1.1. 7.3.1.3 Examples of DOSSAV Commands - The following examples illustrate typical DOSSAV commands when restoring and saving the DOS-15 Software System. User responses are underlined. IDisk Restorationl 11 Restore DECdisk system from DEC tape unit 1: DOSSAV V3A INPUT DEVI CE? DT UNIT I? .J.. OUTPUT DEVICE? DK DATE CREATED: T'7'-OCT-71 TAPE DONE. MOUNT ANOTHER! G DOSSAV V3A INPUT DEVICE? 7-5 (The user mounted the next tape, then typed a G) to continue.} (Operation complete DOSSAV restarts. ) 21 RestClreDECdisRsystem from Magtape unit 0: DOSSAV V3A INPUT DEVICE? MT UNIT 11 0 TR ACK (7 DR 9>1 7 DENSITY (2,5,8)7 ~ PARITY (E OR O)? 0 OUTPUT DEVICE? DATE CREATED: 12 NOV 71 nx- (All DOS-IS System Disk Restore magtapes are 800 BPI, Odd Parity.) (Operation complete) DOSSAV V3A INPUT DEVICn 3) Restore Disk Pack System ~rom DECtape unit 1: DOSSAV V3A INPUT DEVICE? DT UNIT 11 I OUTPUT D~VICE1 DP UNIT I?..[ DATE CREATED 12-NOV-71 TAPE DONE, MOUNT ANOTHER .t DOSSAV V3A INPUT DEVICE? 41 (The user mounted the next tape, then typed a P) to continue. ) (Operation complete.) Restore Disk Pack system ~rom Magtape unit 1: DOSSAV V3A INPUT DE VI CE? I'IT UNIT I? I TRACK (7 OR 9)1 ~ DENSITY (2,',8)? ~ PARITY (E m O)? 0 OUTPUT DEVICE? DPUNIT I? " DATE CREATED: 12-NOV-71 DOSSAV V3A INPUT DEVICE? (Operation complete.) {Saving the Contents of the Diskl The single example below should suffice in illustrating this type of operation, since save operations are simply the reverse of restore operations. Save a DECOlsKsystem- ofiDEC1:apelllttt.l: " DOSSAV V3A INPUT DEVICE? ml OUTPUT DEVICE? DT UNITI? I -TAPE DONE. MOUNT ANOTHER (DOSSAV allows for as many DEC tapes or Magtapes as are necessary to contain the entire contents of the specified disk.) A DOSSAV V3A INPUT DEVI en 7.3.1.4 (Operation complete.) Error Messages and Meanin~s - DOSSAV attempts to detect all keyboard and run-time errors and t~ recover if possible. types of errors which can occur ar~ The three shown below along with their meaning and recovery procedures wh,n applicable. a. Command String Errors - These errors occur when a quest~on is answered incorrectly. DOSSAV r~peats the question. Message Meaning ILLEGAL DEVICE Either an illegal device mnemonic (one other thanDT, MT, OK, or DP) or an illegal " combination of devices (DT for input and MT for output) was typed. BAD TRACK A track number other than 7 or 9 was typed. BAD DENSITY A density other than 2(200 BPI), 5(556 BPI) or 8(800 BPI) was typed. BAD PARITY A parity other than E (even) or 0 was typed. , (odd) b. Message Meaning TAPE NOT READY The DECtape or Magtape unit is not switched to ON LINE, is not set to WRITE ENABLE, or is not set to the unit number specified in the UNIT NO? question. DISK NOT READY The DECdisk is not set to WRITE ENABLE. DISK PACK NOT READY The Disk Pack unit is not switched to ON LINE, is not set to WRITE ENABLE or is not set to the unit number specified in the UNIT NO? question. 7-7 Unrecoverable Errors - E~rors associated with these messages are pr~mar~ly ha~dware errors from which DOSSAV cannot recover. A~ter the message is typed, DOSSAV restarts itself. c. Meaning Message DECTAPE ERROR MAGTAPE ERROR DECDISK ERROR DISK PACK ERROR } H1rdware error detected ATTEMPT TO RESTORE SYSTEM TO WRONG DISK T~e user tried to restore a DECdisk system using a Disk Pack restore tape or vice versa. BLK 1775 OCCUPIED. NO 2ND SAT CREATED. The user did not use a master restore tape (i.e., block 1775 occupied) when restoring a system created for 4 or fewer platters to a system having 5 or more platters. 7.3.1.5 Restart Procedures - The ~estart procedures below should be used either to terminate premature~y the current operation or to reinitialize DOSSAV if it fails to start up automatically after an error. a. Press "the Console Switches STOP and RESET simultaneously. b. Set the ADDRESS switches to 34500. c. Press the START Console Switch. DOSSAV should then identify itself as when originally loaded, otherwise it must be reloaded as described in Paragraph 7.3.1.1. 7.3.2 Loading and Starting the Monitor The DOS-IS Monitor is loaded into core from either the DECdisk or Disk Pack and is automatically started with the DOS-15 Bootstrap Loader program. Once loaded, the bootstrap remains in the upper 1418 locations of the core bank into which it was loaded during all normal system operation. The bootstrap not only aids in initializing the Monitor, but also acts as an integral part of the Monitor as it operates. It is supplied on paper tape in two versions. One version, RFBOOT, (identified as DEC-15-LWDA-PH) is for use with DECdisk systems, and the other version, RPBOOT, (identified as DEC-15-LWAA-PH) is for use with Disk Pack Systems. 7-A Each time that theDOS~15 SystemSqftware is restored using DOSSAV, the bootstrap must be loaded into qore. Occasionally, a runaway program or hardware malfunction may c~use the destruction of the Monitor as it resides in core, and prevent ' the user from restarting it by keyboard command. In this circumstance, it is often possible to re- start the bootstrap (unless it, too, has been destroyed) and avoid reloading the bootstrap. The paragraphs which follow describe the initial loading and restart procedures for the DOS-15 Bootstrap Loader. 7.3.2.1 Loading the Bootstrap a. Select the appropriate veision of the bootstrap (either DECdisk or Disk Pack) and :place it in the paper tape reader. b. Set the console ADDRESS s~itches to one of the addresses shown below in accordance with the maximum core size of the system. c. Address tMaximum Core Size 37637 16K or 20K 57637 24K or 28K 7763-7-- 32K Press the console switche$ STOP and RESET; then press READIN. Once the bootstrap is loaded, it starts automatically and loads the Monitor from the disk. When loading is complete, the Monitor gets control and identifies itself on t~e console teleprinter as follows: DOS-15 Vnn ENTER DATE MM/DD/YY The system is now loaded and operab~e and is ready to accept the key- accor~ance Users wit~ new been tail~red, board commands (Chapter 8) in with the operating procedures described in Chapter 10. systems, that is, systems which have not previously 7.4.2. 7.3.2.2 should refer to Paragraph Bootstrap Restart Procedu~es - As mentioned above, situations occasionally arise in Which the Monitor must be reloaded by the bootstrap. If the bootstrap is intact! in core, it may be restarted by the procedures which follow. 7r9 a. 7.4 Set the console ADDRES"S switches to- one of the addresses shown below in ac~ordance with the maximum core size of the system. Address Maximum Core Size 37646 16K or 20K 57646 24K or 28K 77646 32K b. Press the console switches STOP and RESET; then press START. c. The Monitor should then identify itself as shown in 7.3.2 . 1. d. If the Monitor does not identify itself, the bootstrap has been destroyed and must be reloaded as described in 7.3.2.1. I SYSTEM MODIFICATION (TAILORING) fROCEDURES The software package supplied to e~ch user is a general purpose version of the DOS-15 Software system ~ This means that the system con- tains all of the standard DOS-15 l.nguage programs, utility programs, I library routines, and I/O device handling routines supported by Digital Equipment Corporation. In¢luded as a part of this general package is a -utili ty pr~g~~- -c~iief the- syst~ Generator (or SGEN). SGEN enables the user to tailor thelDOS-15 software to suit the particular hardware configuration and operating requirements of his installation. Specifically, SGEN provides the user with the ability to: (1) delete system programs or add his own l ; (2) add and delete I/O device handlers; (3) add and delete system library routines; load-time parameters ~uch (4) alter system as: I/O device assignments, teleprinter model currently being used, availability of an extra memory page, number of buffers to be allocated, file and directory protection codes, etc.; (5) change system operating parameters including: the Priority Interrupt Skip Chain, number of positive .DAT slots, the presence of 7- or 9-channel Magtape drives, the Monitor Identification Code (MIC). IDescribed in the DOS-15 j)ystem Manual (DEC-1S-NRDA-D) and the System Generator Utility Program Manual 7.- 10 (DEC-15-YWZB-DNI2). CHAPTER B KEYBOARD COMMANDS B.l INTRODUCTION This chapter describes the commands which can be issued from the console keyboard to direct the operations of the 005-15 system software. In communicating with the Monitor, the keyboard of the console teleprinter is used as the system's control device. The operator at the keyboard types commands to allocate system resources, load and start system and user-created programs, terminate program operation, and exchange information with the Monitor. Most of the Monitor's keyboard commands are issued prior to loading system or user programs and are interpreted by the Nonresident Monitor. During program execution, a small set of keyboard commands is available for general program control. These commands are interpreted by the teleprinter's I/O device handler (which is part of the Resident Monitor), and are used to control program start and restart, dumping of core, and the reloading of the Nonresident Monitor. Paragraph B.ll describes commands used during program execution. The console teleprinter is the communications interface between the user-operator and the Monitor. The interaction between the operator and the Nonresident Monitor is completely conversational. Each com- mand issued causes the Monitor to type out an appropriate reply. Monitor responses may vary from a single character to several pages of information. In the context of this manual, the term "console keyboard" designates anyone of several keyboard/printer/display I/O devices which could be used by the Monitor as the system command console device. it is associated with .DAT slots -2 and -3). (That is, Generally, a Model 33 or 35 teleprinter is used. The keyboard commands are, however, not strictly limited to input from the keyboard. The Monitor can be operated in a Command Batching Mode (see 8.12) in which keyboard commands can be issued from either punched cards or paper tape with minimum operator intervention. Similarly, the Monitor's responses to commands are not strictly limited to a keyboard device's printer or display, but may also be output to other devices including the VT15 Display or a line printer, when available. B-1 KEYBOARD COMMAND FORMATS AND CHARACTERS ~.l 8.2.1 Keyboard Command Elements All keyboard commands, except those using the keyboard CTRL key, consist of at least two elements, a command name and a terminator. Some com- mands require an additional third element consisting of one or more arguments inserted between the command name and the terminator. Each command name is separated from its argument (or argument string) by one or more spaces. Delimiters between multiple arguments vary, and are specified in the descriptions for the individual commands. Except as otherwise specified, each command string can be terminated by either a Carriage RETURN or an ALT MODE. CTRL commands are formed by simultane- ously depressing the keyboard's CTRL key and letter key, and are interpreted by the Resident Monitor. These commands need no terminators, such as Carriage RETURN or ALT MODE. after they have been typed. They are interpreted immediately Once typed, the command is echoed in the form of an up-arrow (t) followed by the letter which identifies the command. Thus, CTRL C is echoed tC. The symbols defined in the introduction to Chapter 5 are used in illus· trating the command formats described in the succeeding paragraphs of this chapter. DOS-15 system programs accept ASCII characters shown in Appendix A. 8.2.2 Editing Features The . teleprinter's device handler provides two keyboard editing functions which can be used to change the line currently being typed (prior to typing Carriage RETURN or ALT MODE). RUBOUT The RUBOUT key permits successive deletion of characters, st.:1rting with the last character typed. Each RUBOUT deletes one character and causes a backslash (\} to be echoed in response. RUBOUT does not delete characters past the previous line terminator. Once all characters in a line have been deleted, additional RUBOUTs are ignored. For example, if the command INSTRUCT were mistyped as INSTRUTC, it could be corrected by typing two RUBOUTs followed by CT, as shown below: Example: $INSTRUTC \\CT C'l'RL U Formed by depressing the CTRL key and striking the U key, this command during input eliminates all characters typed up to the last Carriage RETURN or ALT MODE and echoes a @. Thus an irretrievably bollixed input line may be eliminated (before typing Carriage RETURN or ALT MODE) by typing CTRL U. This feature can also be used during output to abort the current line. 8-2 8.2.3 When to Issue Keyboard Commands All keyboard commands, except for the CTRL commands (see 8.11) are only recognized and accepted when the Nonresident Monitor is in core, as evidenced by the appearance of either of the following identifiers on the teleprinter: DOS-15 Vnn where: Vnn version number $ or $ The operator can obtain the Nonresident Monitor by typing CTRL C, scribed in 8.11.1). (de- When the Monitor is initialized using the Boot- strap, or by typing CTRL C, the full identification is typed. At all other times it indicates its readiness to accept keyboard commands by simply typing the dollar sign ($). Once the $ is typed, the Monitor idles until the operator types a command. 8.3 COMMANDS TO REQUEST SYSTEM INFORMATION The commands in this paragraph provide the user with various lists of system information. formation, The lists include: (2) keyboard commands, slot assignments. (1) general system in- (3) error messages, and (4) .DAT Since these lists tendto be lengthy, users who have either a line printer or a VT-15 Display can speed up the output of this information by using the special line printer and VT-15 commands (described in paragraphs 8.9 and 8.8, respectively). 8.3.1 SCOM The SCOM command causes the typeout of 005-15 system information. The information includes (1) available I/O device handlers, tem default parameters, Priority Interrupt Skip Chain order. Form: (2) sys- (3) important core addresses, and (4) the S[COM]) 8-3 Example: SYSTEM INFO - DOS-IS - 11/02/71 77~46 77~36 - BOOTSTRAP RESTART ADDR 1ST FREE CELL BELOW BOOTSTRAP 2722- ADDR OF .DAT 27~0- ADDR OF .UFD 20 - NO. OF pas • • DAT SLOTS SYSTEM HAS API SYSTEM HAS EAE PAGE MODE OPERATION 7 CHANNEL MAGTAPE A,B, ••• /ETC.: .DAT SLOT MODS QDUMP(Q): SET TO SAVE CORE (tQ) ON .IOPS ERROR HALT(H): SET TO HALT ON .IOPS ERROR tQN: SAVE CORE ON UNIT N GET< G) : RESTORE CORE FROM tQ AREA GETP : RESTORE CORE FROM tQ AREA AND RESTART WITH tP GETT : RESTORE CORE FROM tQ AREA AND RESTART WITH tT GETS : RESTORE CORE FROM tQ AREA AND RESTART WITH tS GET (G) N FILE: RESTORE CORE FROM FILF. ON UNIT N AND RESTART GETP N F'ILE : RESTORE CORE FROM FILE (UNIT N) AND RESTART WITH tP GETT N FILE: RESTORE CORE FROM FILE ON UNIT N AND RESTART WITH tT GETS N F'IU: : RESTORE CORE FROM FILE ON UNIT N AND RESTART wITH tS PUT N FILENM : PUT tQ AREA INTO FILENM ON UNIT N API ON/OFF: CHANGE STATE OF API VT ON/OFF: TURN GRAPHIC DISPLAY ON/OFF ~ALr ON/OFF: TURN HALF BUFrER MODE FOR GRAPHIC DISPLAY ON/OFr 33TTY ON/Orr: CHANGE SlA1E OF lELETYPE LP ON/OFF: TURN ON/OFF LINE PRINTER FOR OUTPUT OF SOME NPM COMMAND~ X4K ON/OFF: CHANGE STATE OF EXTRA 4¥ CORE CONFIGURATIONS RANK ON/OFF: CHANGE STATUS OF RANK MODE PAGE ON/OFF: CHANGE STATUS OF PAGE MODE BUFFS N: CHANGE DEFAULT BUFFER ALLOCATION CPANNEL 7/9: SETUP OEFAULT ASSUMPTION FOR MAGTAPE tC: RESTORE D05-J 5 tP: USER RESTART tT: RESTART DDT tXt TUR N VT ON OR Orr nO~-15 ...B-S 'DOS-15 PROG LOADING COMMANDS ~"D PROGNAM FOR REQUEST COMMAND LOAD: LINK LOAD AND WAIT FOR tS GLOAD: LINK LOAD AND GO DDT: LI NK LOAD WITH SYMBOLS AND GO TO DDT DOTNS: LINK LOAD WIO SYMBOLS AND GO TO DDT MACRO: SYMBOLIC MACRO ASSEMBLER r4: rORTRAN IV COMPILER EDIT: TEXT EDITOR PIP: PERIPHERAL INTERCHANGE PROG SGEN: SYSTEM GENERATOR DUMP: BULK STOR DEV DUMP UPDATE: LIAR F'ILE UPDATE SPCCOM: SOURCE COMPARE EDITVP: STORAGE SCOPE EDITOR EDITVT: GRAPHIC DISPLAY (VT) EDITOR PATCH: SYSTEM TAPE PATCH ROUTINE EXECUTE(E) rILE: lOAD AND RUN rILE XCT CHAIN: XCT CHAIN BUILDER BTRAN: PDP-B TO POP-IS TRANSLATOR 89'ffiAN: PDP-8 TO PDP-9 TRANSLATOR MTDUMP: MAG-TAPE UTILITY PROGRAM DTCOPY: DECTAPE COpy PROGRAM DOS-15: RATCH BATCH(B) DV: ENTER BATCH MODE WITH DV AS BATCH DEV DV: PR = PAPER TAPE READER CD = CARD READER $JOR: CONTROL COMMAND WHICH SEPARATES JOBS $DATA: REGINNING OF DATA $END: END OF' DATA $PAUSE: WAIT FOR tf/ ON TTY $EXIT: LEAVE BATCH MODE tTl SKI P TO NEXT JOB tC: lEAVE BATCH MODE ,PI CONTINUE FROM $PAUSE ~orm 2: I [NSTRUCT] ERROR[SlJ Example: $1 ERRORS DOS-15 - .IOPS " III FUMCn ON CAL - CAL ADDR 1 CAL* ILL - CAL ADDR 2 .DAT SLOT ffiROR - CAL ADDR 3 ILL INTERRUPT - 1/0 STATUS REGISTER 4 DEV NOT READY - TYPE tR WHEN READY * 5 ILL .SETUP CAL - CAL ADDR 6 ILL HANDLER F'UNCn ON - CAL ADDR * 7 III DATA MODE - CAL ADOR * 10 FILE STILL ACTIVE - CAL ADOR ** 11 SEEKIENTER NOT EXECUTED - CAL ADDR * 12 lINPECOVERARLE DEVICE ERROR - STATUS REG B AND UNIT NO. 8-6 1.3 FILE NOT FOUND - CAL ADDR ** DJ P ECTORY FULL - CAL ADDR DEVICE FULL - CAL ADDR ** 1~ OUTPUT AU~F'ER OVERFlOW - CAL ADDR 17 TOO MANY FILES FOR HANDLER - CAL ADDR * 20 DISK ~AILURE (CTRLR TO RETRY) - DISK STATUS,BLK ',DEVICE/UNIT ',UIC 21 III DISK ADDR - BLOCK NO,DEVICElUNIT NO,CAL FUNCTION,UIC 22 TWO OUTPUT FILES ON ONE DECTAPE UNIT - CAL ADDR 23 ILL WORD PAIR COUNT - CAL ADDR ** 30 API SO~TWARE LEVEL ERROR - API STATUS REG 31 NON-EX! STENT MEMORY REF' - PC 32 MEMORY PROTECT VIOLATION - PC 33 MEMORY PARITY ERROR - PC 34 POWER FAIL SKIP NOT SETUP - PC 37 LINE OVFLO - CAL ADDR 40 HEADER LAREL F.P.ROR - CAL ADDR 41 DIRECTORY FORMAT ERROR - CAL ADDR 42 ACCESSIBILITY MAP OV~O - CAL ADDR 43 DIRECTORY RECORDING ERROR - CAL ADDR 44 LOGICAL EOT FOUND - CAL ADDR 45 LONG INPUT RECORD - CAL ADDR 46 ATTEMPT TO DELETE SYSTEM ~ILE - CAL ADDR 47 ILL HORIZONTAL TAB - CAL ADDR 51 ILLEGAL USER FILE DIRECTORY - CAL ADDR ** 55 NO BU~FERS AVAILABLE - CAL ADDR * 61 PARITY F.P.ROR IN DIRECTORY OR FILE BIT MAP - CAL ADDR * 63 PROTECTED USER FILE DIRECTORY - CAL ADDR * 64 PROTECTED FILE - CAL AD DR ** 65 UNRECOVERABLE MAGTAPE ERROR - MT STATUS 66 RELATIVE BLOCK IS " OR NOT WITHIN FILE SCOPE (.RTRAN) ** 67 .RTRAN ARGUMENTS CAUSE DATA BLOCK OVERFLOW - CAL ADDR ** 70 RUFFER SIZE TOO SMALL - CAL ADDR * 71 EMPTY UI C ** 72 INPUT PARITY ~ WRITE CHECK ERROR (tR TO RETRY> - CALADDR,BLOCK NO,DEVICE/UNIT NO,CAL FUNCTION,UIC 73 NULL FILE NAME GIVEN ON SEEK/ENTER/DLETE/FSTAT/RANO * 74 FILE STRUCTURE DEGRADATION - ATTEMPT TO CLEAR SUBMAP BIT THAT WAS ALREADY OFF ** 75 FILE STRUCTURE DEGRADATION - ILLEGAL SURMAP WORD I 7~ FILE STRUCTURE DEGRADATION - ILLEGAL BACKWARD POINTER FOR FIRST MFD Of! UFD BLOCK (,R TO RETRY) 77 ATTEMPTF.D USE OF NON-EXISTANT tQ AREA 14 15 * ** DISK ONlYt CAL ADDR,DEVICE AND UNIT NO.,CAL FUNCTION,UIC DISK ONLY: CAL ADDR,DEVICE AND UNIT NO.,CAL FUNCTION,UIC,FILE NAME UIADER EPRORS - .LOAD OR • SYSLD MEMORY OVERF1.0W 2 DATA ERROR :5 SUBR NOT FOUND ~ .OAT SLOT ASSIGNMENT ERROR 5 PROG SEGMENT GREATER THAN 4K (PAGE MODE) OBJECT TIME SYSTEM ERRORS - .OTS 5 ILL REAL SQUARE ROOT ARG ~ ILL DOUALE SQUARE ROOT ARG 7 ILL INDEX IN COMPUTED GOTO 10 ILL I/O DEV # II ILL INPUT DATA 12 ILL FORMAT STATEMENT 13 TL.l REAL LOG ARG 8-7 14 15 21 22 23 24 25 2~ ILL noURU LOG ARG ZERO RAISED TO ZEFIO OR NEGATIVE POWER UNDEFINED FILE ILLEGAL RECORD SIZE SIZE DISCREPANCY ILLr.GAL RECORD NUMRER MODE DISCREPANCY TOO MANY OPEN FILES 30 SINGLE INTEGER OVERFLOW 31 EXTENDED (DOURLE) INTEGER OVERFLOW ~? f,INOtE FLT. OVERFLOW 33 DOURU: Fl T. OVERFLOW 34 SINGLE FlT. UNDERFLOW 35 DOUALE Fl T. UNDERFLOW 3" FLT. nIVIDE CHECK 37 INTEGER DIVIDE CHECK 4C ILLEGAL CHARACTER COUNT 41 ARRAY EXCEEDED 42 nAD INPUT DATA se FPP MEf'10RY PROTECT/NON-EXISTANT "'EMORY VIOLATION 51 ILLEGAL liD DIRECTION CHANGE TO DISK 8.3 . 3 REQUES~ The REQUEST command causes a typeout of the I/O Device Handlers currently associated with the slots of the Monitor's Device Assignment Table (.DAT). Since this conunand is closely related to the conunands which affect I/O device assignments, it is described in paragraph 8.5.1. 8.4 8.4.1 COMMANDS RELATED TO FILE PROTECTION LOGIN This conunand permits the operator to enter his User Identification Code (UICl into the system in order to do directoried disk I/O. After a LOGIN, the Nonresident Monitor sets the slots of the User File Directory Table (UFD~ to the three-character code entered. All input/ output operations to the disk are directed to the UFD associated with the last UIC entered by this conunand, unless a program has subsequently executed a .USER I/O Macro, or the operator has issued an ASSIGN conunand (see 8.5.2). 8-8 Each LOGIN command issued enters a new UIC into the s stem and autoI. matically deletes the one entered plicit LOGOUT prev~ously. Each LOGIN (see LOGOUT, in paragraph 8.4.4). ~s an ~m A UIC must consist of exactly three alphanumeric characters in any combination except "@@@", Form: where: 8.4.2 "PAG", "BNK", "SYS", "lOS" and "CTP". "???", LOGIN,-,uic) uic = User Identification Code MICLOG This command permits the Monitor Identification Code (MIC) to be entered into the s~stem. . tDV. rl'l;-~ l- . , Th1s prov~des the operator w~th unrestr~cted access to all files contained in the various directories on the disk and permits the system programs SGEN and PATCH to be used to modify the system. is "SYS". The MIC of each system, as initially supplied to the user, As with LOGIN, a MICLOG entry is deleted from the system by the LOGOUT or LOGIN commands. The MIC is usually known only by the system owner, and the code is easily changed at system generation. Form: where: 8.4.3 MICLOG~ic) mic = Monitor Identification Code PROTECT The PROTECT command is used to alter the default value of the file protection code, set when the system was generated (by the SGEN program). The default file protection codes set by this command remain in effect until another PROTECT command is given or until the User issues a LOGIN or LOGOUT (which resets the protection code to the system's default value). Refer to 4.7.3 for a list of these codes. Form: where: B.4.4 P [ROTECT1....,n ) n Protection Code LOGOUT This command deletes the current UIC or MIC entry from the system. LOGOUT also resets all system parameters affected by keyboard commands to their default status. These parameters include: 8-9 a. .DAT and .UFDT assignments (ASSIGN command) b. Commands which take an "O~/OFF" argument, such as: KEEP, X4K, 33TTY, HALF, LP, PAGE/BANK, API, and VT. c. Commands which take a numeric argument, including: CHANNEL, PROTECT, and BUFFS. Form: 8.5 LOGOUT) COMMANDS DEALING WITH I/O DEVICE ASSIGNMENTS 8.5.1 REQUEST This command causes a typeout of the I/O devices currently associated with the slots of the Monitor's Device Assignment Table (.DAT) and the UIC's associated with the User File Directory Table (.UFDT). The command can be issued using various arguments which result in a complete printout of the assignments or selected portions thereof. is issued with no argument, the entire .DAT/.UFDT ments is output. (user) ment list of assign- If the argument USER is inserted, only the positive .DAT and associated .UFDT assignments are output. which is a legal system 'program name R[EQUEST]L...I[~~:1 "prog" may be any of the following: MACRO F4 FOCAL PATCH DTCOPY GLOAD LOAD DUMP MTDUMP UPDATE PIP EDIT EDITVP EDITVT SGEN SRCCOM CHAIN EXEcdTE 8TRM4 89T9-N DDT I DDTNS Examples: .DAT -15 -14 -13 -12 DEVICE DKA DKA DKA LPA UIC SCR SCR SCR SCR 3-10 If an argu- is used (e.g., MACRO, PIP, etc.), only the assignments for that program are output. Form: If REQUEST -II -10 -7 -6 -5 -4 -3 -2 -I +1 +2 +3 +4 +5 +6 +7 +10 + II +12 +13 +14 +15 +16 +17 +20 DKA TTA DKL DKA NON DKA TTA TTA DKA DKA DKA DKA TTA PRA PPA DTAI VTA NO" DTA2 NON NOit NON NON NON NON SCR SCR SYS SCR SCR SCR SCR SCR SYS SCR SCR SCR SCR SCR SCR SCR SCR SCR SCR SCR SCR SCR SCR SCR SCR Example 2: $R USER .DAT +1 +2 +3 +4 +5 +6 +7 + IC" + II +12 +13 +14 +15 +16 +17 +21!l DEVICE DKA DKA DKA TTA PRA PPA DTA I VTA NON DTA2 NON NON NON NON NON NON UIC SCR SCR SCR SCR SCR SCR SCR SCR SCR SCR SCR SCR SCR SCR SCR SCR Example 3: SR !'!ACRO .DAT DEVICE DKA -II LPA DKA ITA .. 14 -13 -12 .UI DKA UIe SCR SCR SCR SCF SCR USE INPUt OUTPUT LISTING INPUT SECONDARY INPUT 8-11 8.5.2 ASSIGN This command permits the temporary reassignment of the various slots of the Monitor's Device Assignment Table (.DAT) to I/O device handlers other than those permanently assigned at system generation. In addi- tion, the corresponding slots of the User File Directory Table (.UFDT) can also be reassigned to UIC's in effect. oth~r than the UIC which is currently Unless the KEEP command: is issued, the change of assign- ment is effective only fo r the current job (Le., the program al;lout to be run}, since the permanent assignkents are restored when th~ Nonresident Monitor regains control (i.e., after the current job has terminated). The KEEP command (described below) can be used to retain assignments from job to job. Prior to using ASSIGN, the user should be familiar wi th the various handlers which can be used with the program for which the assignments are to be made. Chapter 9 describes the handlers in the system. A list of the handlers available on any given system can be obtained in the printout obtained with the SCOM command. The following rules should be observed when typing ASSIGN commands: a. Device handler names consist of three characters which can be abbreviated to two c~racters if the last character is an "A". Thus, "D "becomes "DK". In addition, a number can be typ as a fourth character to specify the device unit number (in octal). The unit number is applicable tor devices which can have more than one unit: Disk ~ack, DECtape, and Magtape. If the unit number~ zero, it need not be specified. Thus, "DTA.0" becomes simplir "DT", similarly, "DPB.0" can be typed as "DPB". "D~Al" may be typed as "DTl". b. .OAT/.UFOT slot numbers (octal) must be within the legal range for the particular system being used. Since the number of negative slots does not change (-15 is the lowest negative slot), the user need only be concerned with the number of positive slots available. This ~an be determined either from a SCOM or a REQUEST USER command. c. A series of assignments can be typed on the same line, using a single ASSIGN command, by separating the assignments with a slash (I). The user can then type another device name, UIC, ~nd slot number(s). (See examples below.) d. Assigning NON instead of a device handler name will assign a null handler to .OAT slots that are not needed. This will save core since no handler will be loaded at run time. 8-12 Form: A[SSIGN} 1dev dev NON RA PRB *OKA, OKS, OKC, 9-3 *Oi'A, OPB, OPC, MTF 9.2 . 2 MACRO-IS .OAT Slot -14 f - - - -- Handler ~ Macro Oefini tions File TTA PM PRB COB *OKA, OKB, OKC, *OPA, OPB, OPC, PPA PPB *OKA, OKB, *OPA OPB OTA, OTO OTE MTA OPA, OPB, OTA, OTO OTE MTA *OPA, OPB, OPC, OTA, OTO OTE MTA - -l3 -12 -11 Output Listing Output Input *TTA LPA VPA PPA, DKB, TTA PM PRB COB *OKA, OKB, OKC, ---- ~~- - -, .,.10 Parameter File Input *TTA PRA PRB CDB OKA, OKB, OKC, 9-4 OPA, OPB, ope, OTA, OTO OTE MTA 9.2.3 FOCAL • OAT Slot ----- ~ ~---- Library Input 3 51 Handler -- -- ~------------ TTA PRA PRB COB *OKA, OKB, OKC, TTA PPA OKA, OKB, LPA, VPA Library Output . *OPA, OPB, OPC, OTA, OTC, OTD, OTE MTA MTC DPA, DPB, OTA, OTD OTE MTA OPA, *OTA, OPB, OTC, OPC, DTD DTE MTA MTC OPA, *DTA, OPB, OTD OTE MTA -7 - ---- - ---- - TTA PRA PRB COB OKA, OKB, OKC, OKE, Data File Input ------- - - 10 Data File Output TTA PPA DKA, ORB, LPA VPA lprior to loading FOCAL, this .OAT slot must be reassigned to one of the devices listed, if library output is desired. 9 .. 5 9.2.4 EDIT, EOITVP, and EDITVT .OAT Slot -15 1------ - .. Handler Use Scratch/ Output TTA VPA LPA PPA *OKA, OKB, *OPA, OPB, OTA, OTO OTE MTA -- -------- -14 Input TTA PRA PRB COB *OKA, OKB, OKC, *OPA, OPB, OPC, OTA, OTO OTE MTA *TTA PRA PRB COB OKA, OKB, OKC, OPA, OPB, OPC, OTA, OTO OTE MTA r -10 10 9.2.5 Secondary Input Display Output (EOITVP only) VPA Linking Loader and DDT . OAT Slot Handler Use -------- -5 -4 -1 External User Library Input User Program Input System Library Input * NON PRA *DKA, DKB, DKC, PRA *DKA, DKB, OKC, 9-6 *DPA, DPB, DTA ope, DTC DTD DTE *OPA, DPB, OPC, OTA OTC DTO OTE 9.2.6 PIP (Peripheral Interchange Program) PIP uses all positive .OAT slots and -2 and -3 for TTY I/O. Prior to use, any non-standard device assignments should be made via the ASSIGN command to the Monitor. If severa~ functions are to be used with a variety of peripherals, assignment of these devices all at the same time avoids the necessity for returning to the Monitor to reassign devices and for repeatedly reloading PIP after each operation that requires a new device. The device handlers used with PIP should normally be those having the greatest capability (i.e., PRA, If both input and output are PPA, DTA, OKA, etc.). to occur on the same device (e.g., oECtape), separate .OAT Slots must be assigned. Both .OAT Slots mus t be assigned to the same handler. Positive .OAT Slot assignments for the system, as initially supplied, are as follows: .OAT Slot ~ 1 I/O *OKA or *OPA 2 I/O *OKA or *DPA 3 I/O *OKA or *OPA *TTA 9.2.7 Handler --- 4 I/O 5 Input *PRA 6 Output *PPA 7 I/O *OTA 1)J I/O *DTA 11 I/O *NON 12 I/O *NON 13 I/O *NON 14 I/O *NON 15 16 I/O *NON I/O *NON 17 I/O *NON 2)J I/O *NON SGEN (System Generator) .DAT Slot Handler Use - t----- -14 *DKA Input/Output 9-7 or *OPA 9.2.8 PATCH .DAT Slot 9.2.9 Use -14 I/O *DKA, *DPA, DTA DTD DTE -l~ Secondary Input *TTA PRA DRA, OPA, OTA UPOATE . OAT Slot -15 -14 -12 -l~ Handler Use PPA PPB PPC DKA, OKB, OPA, OPB DTA, MTA PRA *DKA, DKB, DKC, *DPA, OPB OPC DTA, MTA OPA, OPB OTA, MTA DKB, *TTA PRA ORA, OKB, OKC, OPA, OPB OPC DTA, MTA Output Input LPA *TTA VPA PPA Listing _. 9.2.10 Handler -- - ---- - -- - Secondary Input .. . --D1m, DUMP .DAT Slot -14 Handler Use Input *DRA, *DPA, DPB, DKB, DPC, DKe, - - - -- - --------Listing *TTA LPA VPA PPA DPA, DRA, DPB, DKB, *DTA, DTD DTE - -.- -- - - - --~- - -- - - -12 9-8 MTA _----_.'-- -- ' .. D'rA, DTD DTE MTA 9.2.11 CHAIN • OAT Slot Use Handler -5 User Library *NON -4 Input PRA *DKA, OKB, DKC, (same as • OAT slot -4 when used) DPA, OPB OPC, .. -1 System Library DTA, MTA OTC, DTO DTE MTC ce only if no other OT, OK, or MT is assigned. Same as for .OAT -4 -NOTE Use the smallest handlers possible since they are not recoverable as user handlers in the overlay system. 9.2.12 EXECUTE • OAT Slot -4 9.2.13 Use Handler CHAIN-Built PRA *DPA, OTA, Overlay Sys- *OKA, i OKB, DPB tern Input (Le. , XCT#- _ _OKC, . ___ ope.,_ _DTC, XCU Files) OTO OTE MTA {use only if MTC . n<;>t shared wl.th overlay system SRCCOM (Source Compare) • OAT Slot Handler ~ -15 Old File Input -14 New File Input -12 Listing -- - , - TTA (if not assigned to -14) PRA (if not assigned to -14) (if not assigned to -14) COB MTA *DPA, OTA, *DKA, OPB, OTO OKB, ' OKC, OPC, OTE _._- TTA (if not assigned to -15) PRA (if not assigned to -15) COB (if not assigned to -15) *OKA, *OPA, OTA, MTA OKB, DPB, OTO OTE *TTA PPA LPA VPA OKA, OKB, 9-9 OPA, DPB, OTA, OTD, DTE MTA -- - - ._-_.. , 9.2.14 DTCOPY (DECtape Copy) .DAT Slot 9.2.15 -15 Output OTA OTO OTE -14 Input DTA OTD OTE 8TRAN (POP-8 to POP-1S Translator) 89TRAN (PDP-8 to PDP-9 Translator) .DAT Slot Use -15 Input -14 9.2.16 Handler i Use Handler Output PRA COB TTA *OKA, DKB, OKC, *DPA, OPB, OPC, OTA, OTD OTE MTA PPA LPA TTA VPA OKA, OKS, OPA, OPB, OTA, OTD DTE MTA MTDUMP (Magtape User's Utility Program) .DAT Slot 2 Handler Use - - - -.- 9.3 1 Input MTA, MTF 3 Output MTA, MTF, TTA I/O HANDLER DESCRIPTIONS The following paragraphs describe the operating features of ,the standard DOS-15 I/O Device Handlers. The 005-15 System Manual (OEC-1S-NROA-O) describes functions which are internal to the handlers and provides instructions to assist users in creating their own special device handlers. Users having a VT1S Graphics Display System should refer to the GRAPHIC15 Programming Manual (DEC-15-ZFSA-D) for descriptions of the associated device handlers VTA, LKA, and VWA. iprior to program loading, one of these handlers must be assigned to both .DAT slots. 2 Pr ior to loading this program, the .DAT slots must be reassigned to one of the handlers listed here. 9-10 9.3.1 Teleprinter Handler (TTA) 9.3.1.1 ~ General Description The teleprinter handler is embedded in t the Resident Monitor and provides all functions necessary for teleprinter input/output. The handler performs I/ 0 using either lOPS ASCII (Mode 2) or Image Alphanumeric (Mode 3) data. Table 9-2 lists the handler's responses to the various I/O Macros. Table 9-2 TELEPRINTER I/O FUNCTIONS Response Macro Illegal 9.3.1.2 .INIT Accept • FSTAT Ignore .RENAM Ignore .DLETE Ignore • RAND Illegal .RTRAN Illegal .SEEK Ignore • EN'I'.~__ Ignore • CLEAR Ignore • CLOSE Accept .MTAPE Ignore • READ Accept .WRITE Accept .WAIT Accept .WAITR Accept .TRAN Illegal Illegal Function (IOPS6) Device Dependent Characte!istics - The following paragraphs describe the characteristics which are unique to the teleprinter handler in its response to certain I/O Macros and characters: a. .INIT 1) Maximum I/O buffer size returned: 42 8 (34 ) 10 21 Set up CTRL P restart address from address specified in .INIT argument "restrt". Refer to the DOS-IS System Manual (DEC-15-NRDA-D) for setup of the restart addresses for CTRL C . and CTRL T. 3) Output Carriaqe RETURN/LINE FEED 9-11 b. .CLOSE - output Carriage RETURN/LINE FEED. c. .WRITE - When in lOPS ASCII Mode a LINE FEED is normally output automatically before the line (logical record) is output unless an Overprint (2~) is the first character (see Table 9-3). d. Non~Printing Function Characters - The non-printing function characters contained in Table 9-3 have special significance when input and output in lOPS ASCII mode. Table 9-3 SPECIAL NON-PRINTING FUNCTION CHARACTERS FOR lOPS ASCII TELEPRINTER I/O FUNCTION (ASCII in parentheses) Carriage RETURN (~15 ) TRANSFER DIRECTION Input Output ALT MODE (33, 175, 176) Input Output ACTION Insert all characters typed, including this Carriage RETURN, since the last Carriage RETURN or ALT MODE, into the requesting program's I/O Buffer. Echo a LINE FEED on the printer. Terminate output of the contents of the requesting program's I/O buffer. Output Carriage RETURN. Terminate the current line and insert all characters typed since the last Carriage RETURN or ALT MODE into the requesting program's I/O buffer. Map into the I/O Buffer as 175. Terminate output of the contents of the requesting program's I/O buffer. r---~---------- -----------+-------------+--------------------------- LINE FEED Input (f3l2) Output Insert in requesting program's I/O buffer. Ignore if this is the first character in the I/O buffer; otherwise, output. t---------------4-------+.---------------------.----- .... -VT (Vertical Tab} (.0'13 ) Input Insert in requesting program's I/O buffer. or FORM Feed (1314 ) Output Model 35 teleprinters output FORM Feed. Model 33 teleprinters ignore. 9-12 Table 9-3 FUNCTION (ASCII in parentheses) - .-- .. -- . ---- ---- - _ ." - - 0" _ _ ._ _ _ _ _ _~_ ~- Horizontal TAB OH1) (Cont.) TRANSFER ACTION DIRECTION .-._-- -Insert in requesting program's I / O Input buffer. ------ ---- - -- - ,. - ."' ~ --- -- Output Model 35 telepr in ters output TAB CfIll) . Model 33 teleprinters output sufficient number of SPACEs (~4~) to position printer at columns 9, 17, 25, ..• etc. Skip One Line (,021 ) Output Only If this is the first character in the requesting program's I/O buffer, skip 1 line. Otherwise, ignore. Overprint (,0 2~ ) Output Only I f this is the first character in the requesting program's I/O buffer, suppress the LINE FEED norm a lly outOtherwise, ignore. put. Input Delete the last character typed prev ious to this and echo a backs lash _._" 1------- RUBOUT - - .- - -- (177 ) ( f - - - - - --- -- CTRL U (,0 25 ) Null (~"") CTRL D (,0,e~ 9.3.1.3 - ' 0. _ _ - ). --- - _ ._,.. ..-,- - -.-... Input D¢lete all characters typed since tlae last Carriage RETURN or ALT MODE, and echo an Hat" sign ( @ ) Output If typed while output is under way, ttuncate the remainder of the logical record being input and output an "atlf sign ( @ ) plus Carriage RETURN . Input/ Output 11 nore Input ) \ . -- --_ .. - . •.•.. - . -- --- . . Ttansmit to the requesting program's I/O buffer a logical record which consists of a header word pair only, with the I/O Mode Bits (14-17) set to "H,0l to indicate end-of -f ile. (See paragraph 6.3.1.1.) Program Control Characters - The teleprinter retains its role as control device during all I/O operations. The CTRL characters (CTRL C, CTRL P, CTRL S, and CTRL T) are recognized when typed, regardless of Data Mode or transfer direction. These characters perform specific system functions as described in 8.1. Experienced users who wish to alter their meaning may do so using procedures described in the DOS-15 System Manual (DEC-l5-NRDA-D). 9-]3 9.3.2 Paper Tape Punch Handlers (PPA, PPB, and PPC) 9.3.2.1 Ge neral Description - There are three paper tape punch handlers: PPA (571 registers). registers), PPB (416 registers), and PPC (322 8 8 8 All three handlers respond identically to the I/O Macros, but differ as to the various data modes which are acceptable to them. Table 9-4 lists the data modes which are acceptable and Table 9-5 shows the handlers' responses to the I/O Macros. Table 9-4 PAPER TAPE PUNCH DATA MODES Data Mode PPA Handler PPB PPC lOPS ASCII X - - lOPS Binary X X X Image Alphanumeric X X Image Binary X X - Dump X X - Table 9-5 PAPER TAPE PUNCH I/O FUNCTIONS Macro Response .INIT Accept . FSTAT Ignore .RENAM Ignore .DLETE Ignore • RAND Illegal .RTRAN Illegal .SEEK Illegal • ENTER Ignore • CLEAR Ignore • CLOSE Accept .MTAPE Ignore • READ Illegal .WRITE Accept .WAIT Accept .WAITR Accept .TRAN Illegal Illegal Illegal Function (IOPS6 Error) 9-14 9.3.2.2 Device Dependent Characteristics - The following paragraphs describe the characteristics which are unique to the Paper Tape Punch Handlers in their response to certain I/O Macros and characters. a. .INIT - 1) 2) b. .CLOSE- 1) 2) c. Maximum I/O buffer size returned: 64 (52 8 10 )• Punches two fanfolds of leader. Output EOF (end-of-file) header word pair (see 6.3.1.1) as last record on the tape. Punches two fanfolds of leader. Special Characters - The characters listed in Table 9-6 have special significance to the handlers when output in lOPS ASCII Mode. These characters, except TAB, are ignored if they do not appear as the first character in a logical record (line). If a LINE FEED, VT (Vertical Tab), or FORM Feed does not appear as the first characterm a logical record, a LINE FEED is supplLed by the handlers. Table 9-6 SPECIAL FUNCTION CHARACTERS FOR FIRST CHARACTER IN LINE ACTION 1 FUNCTION LINE FEED (fJ 12 ) VT Output. (Vertical TAB) Output, followed by four RUBOUTs 1 (177). (fJ 13) Output, followed by 40 Nulls! FORM Feed (~fJ~) • (fJ 14) Horizontal TAB output, followed by one RUBOUT 1 (177). (."11) 9.3.3 Paper Tape Reader Handlers (PAA and PRB) There are two paper· tape handlers: registers). PRA (673 registers) and PRB (446 8 8 Both handlers respond identically to the I/O Macros, but differ as to the data modes which are acceptable. Table 9-7 lists the data modes which are acceptable, and Table 9-8 shows the handlers' response to the I/O Macros. IThe RUBOUT and NULL functions which follow output of the desired characters are used for hardware timing purposes when the paper tape is to be transmitted to a printer in an off-line environment. 9-15 Table 9-7 PAPER TAPE READER DATA MODES Handler PRA PRB lOPS Ascii X X lOPS Binary X - Image Alphanumeric X - Image Binary X - Dump X - Data Mode c-------- Table 9-8 PAPER TAPE READER I/O FUNCTION Response Macro Illegal .INIT Accept' • FSTAT Ignore .RENAM Ignore .DLETE . RAND Ignore • RTF-AN Illegal Illegal .SEEK Ignore . ENTER Illegal • CLEAR Illegal • CLOSE Accept .MTAPE Ignore • READ Accept .WRITE Illegal .WAIT Accept .WAITR Accept .TRAN Illegal Illegal Function (IOPS6 Error) lMaximum I/O buffer size returned: 64 8 (52 9-16 10 ), 9.3.4 DECtape Handlers (DTA, DTC, DTD, DTE, and DTF) 9.3.4.1 General Description - There are five DECtape handlers for TU55/TU56 DECtape operation: o DTA (2761 8 locations) is the most general DECtape handler provided. It has a simultaneous threefile capacity, either input or output. Input files can be referenced on the same or different DECtape units; however, not more than one output file can exist on the same unit. (I.e., file creation on the same uni t must occur sequentially.) o DTC (1261 8 locations) is the most limited and also the most conservative of core (for lOPS data mode operations) of the handlers. It is an input only handler with a one-file capacity. o DTD (3071 8 locations) provides single file operation, either input or output. o DTE (2674 8 locations) is simi~ar to DTD, differing only in its I/O function capabilities as shown in Table 9-10. o DTF (11518 locations) is a handler which simulates the non-directoried, sequential access file structure of Magtape. It accommodates (serially) up to eight DECtape units, both input and output. When the last block of a tape on a particular unit has been accessed, DTF oauses the Monitor to output an IOPS4 message (Device Not Ready) to permit the operator to remove the current tape from the DEC tape drive and mount another. The operator can then type a CTRL R to continue processing. Table 9-9 illustrates the data modes which are acceptable to th e se handlers, while Table 9-10 shows the handlers' responses to the various I/O Macros. Table 9-9 DECTAPE DATA MODES Handler Data Mode DTA DTC DTD DTE DTF lOPS ASCII X X X X X IOPS Binary X X X X X Image Alphanumeric X --- - -.-X -X - --- X .. . Image Binary X Dump X ... - .9-17 f---- - X X X - 9.3.4.2 Device Dependent Characteristics - The following characteristics are unique to the DECtape Handlers in their responses to certain I/O Macros. a . . INIT - Maximum I/O buffer size returned: 377 8 (255 b. .MTAPE 10 1) DTD accepts REWIND and BACKSPACE RECORD subfunctions only. 21 DTF accepts REWIND, BACKSPACE RECORD and SKIP RECORD subfunctions only. ). Table 9-10 DECTAPE I/O FUNCTIONS Handler Macro DTA .INIT .FSTAT .RENAM .DLETE . RAND .RTRAN .SEEK . ENTER . CLEAR DTE DTF Accept Ac!ept t ! I]::: Illr Actept Illegal Accept AC1ept mr' Illegal. AC1ept .MTAPE . READ Illegal Illegal Accept Illegal .WAITR .TRAN D~Cdisk 1 Illegal ! Illegal Accept Ig~Ore Illigal Illegal Illegal Illegal Illegal .CLOSE .WAIT 9.3.5.1 DTD AC1ept Illegal Accept .WRITE 9.3.5 DTC Accept AClept j 1 Acr t Ignore Ignore Illj""' Accept ,ul" and Disk Pack Handlers (DKA/DPA, DKB/DPB, and DKC/DPC) General Description - Three handlers are provided for RV-15 DECdisk and RP-02 Disk Pack operations. Version for version, these handlers are identical in their functions with these two exceptions: a. While both the DECdisk and Disk Pack are block addressable for direct access operations (.TRAN and .RTRAN Macros) the DECdisk in addition provides word addressability. 9-18 b. The Disk Pack has a unit structure while the DECdisk does not. This means that each DECdisk is treated as a single addressable unit regardless of the actual number of platters incorporated (up to 8). All versions of these handlers support the disk file structures described in Chapter 3. There is no fixed limit as to the number of input or output files which can be simultaneously accessed, except as determined by the amount of available buffers. To this end, the handlers perform dynamic buffer allocation from the Monitor's buffer pool, using the .GTBUF and .GVBUF Monitor Macros described in Chapter 5. At run time, the operator need only be concerned that the number of files concurrently accessed is not greater than the number of buffers allocated by the BUFFS Keyboard command (see 8.6.1). The following cOJllllands obtain buffers from the pool, and return them immediately upon completion of the operation: .DLETE .RENAM • CLEAR The following commands -obt.ai-n a buffer from the pool and do not return i t until a subsequent .CLOSE, .INIT or Rewind (.MTAPE) is performed: . FSTAT . ENTER .SEEK • RAND The following commands return a buffer to the pool, if any -was taken: .INIT .CLOSE .MTAPE (Rewind subfunction) The handlers operate in all data modes (i.e., lOPS, Image, and Dump). Table 9-11 lists the I/O Macros which are acceptable to the various handler versions. Table 9-11 DECDISK AND DISK PACK I/O FUNCTIONS Handler DKB (3631 ) DPB(4007 8 ) 8 DKA(4274 ) DPA(456l~) Macro .INIT ~ • FSTAT DKC (2163 ) DPC (2275 8 ) 8 Accept Accept Accept Accept Illegal r Illegal .DLETE .RENAM • RAND . RTRAN r • .SEEK Accept + Accept • ENTER Accept Illegal Illegal Illegal • CLEAR Accept .CLOSE Accept Accept .MTAPE Illegal Illegal t - • READ -- Accept . WRITE Accept Illegal • WAIT ! Accept .WAITR , .TRAN 9.3.5.2 Illegal Accept Illegal Device Dependent Characteristics - The following character- istics are unique to these handlers in responding to certain I/O Macros: a. .INIT 1) 2) Maximum I/O buffer size returned: 376 (254 ). 10 8 The disk handlers allow write verification on output files. If the file is defined as an output file, the user has the opportunity of guaranteeing the integrity of his data by using 118 as the II dd II argument to the .INIT macro. The handler will then check every block of data it writes out, to ensure that the transfer occurred without error. A second .INIT command must be executed to remove or add the write checking feature. 31 An output file already opened on a .DAT slot referenced by .INIT will be deleted. If a .INIT references a .DAT slot with an opened input file, the handlers will close it, and give back the buffer it was using. 4) Control is retained until all necessary I/O is complete. 5) The .INIT macro uses the relationship between the User File Directory Table and the Device Assignment Table to get the correct UIC from the User File Directory Table. If the useor is changing UIC' s under program control (via .USER macros), the operation must be accomplished before a .INIT in order to obtain the desired UFD. 9-20 b. c. d. .DLETE 1) Control is not retu~ed until all necessary Disk I/O is complete. If the UIC associated with this .DAT slot does not exist in the MFD, or if the named file can not be found, the disk handlers ignore this macro. If the name is found, the h!a ndlers return the first block number of the file in the AC. The buffer used by the handlers to delete the named file is given back to the buffer pool upon comple.tion of the . DLETE. 2) The .DLETE macro follows the protection rules for directory modification. That is, .DLETE will not work on a protected directory, but returns an lOPS 63 error. .RENAM 1) The first block number of the renamed file is returned in the AC after a successful operation. If the file or UFO does not exist, the handlers return to LOC+3 with ~ in the AC. .RENAM changes the renamed fil e 's date to the current date (maintained by the DATE keyboard command described in Chapter 8). 2) At completion of the .RENAM function, the handlers return the buffer to the buffer pool. 3) The .RENAM macros must follow the protection rules for directory modification. That is, .RENAM will not work on a protected directory (lOPS 63). • ENTER 1) The handlers check for directory protection. If any of the following conditions is satisfied, the handlers will allow successful operation. If none is satisfied, the handlers will terminate with an lOPS 63. Conditions for gaining UFO access: Entry in .UFDT equals the logged-in UIC Logged-in UIC equals MIC Directory protection code equals ~ 2) Once the entry in the UFO has been made via the .ENTER, the file is defined as being opened and truncated. Upon a subsequent .CLOSE, the file will exist as a closed file, but not truncated. 3) When a .ENTER is done with a file name that already exists, the old file is deleted only after the new file (just . ENTERed) is . CLOSEd , i f the old file is not truncated. If the old file is a truncated file, it is deleted immediately, before the new file is listed in the UFO. The process of deletion of identically named truncated files continues until a non-truncated file with the same name is found. At this point, the new directory entry is made. Truncated files which follow are not deleted. In all cases, UFO searches are sequential starting at the beginning. 9-21 e. f. . CLEAR 1) The disk handlers will not honor .CLEAR unless the user has logged in under the MIC. The .CLEAR function deletes all files and directories on the entire disk. All bit maps are closed and indicate only the space which they occupy. The MFO will have no UFO's, SYSBLK or BAT. An I/O buffer is obtained from the pool for t~is operation and is subsequently returned on its completion. .CLOSE 1) g. .READ 1) h. All .READ commands executed after an end-of-file (EOF) header has been reached will return an EOF in header word ~ (~~l~~5). .MTAPE 1) i. On input, the handlers give the buffer back (if one was acquired) and make the .OAT slot available for subsequent .INITs. On output, the handlers write an end-of-file record (if the user did not already write one), and then proceed as on input. ORA and OPA accept the REWIND and BACKSPACE subfunctions during input only. REWIND is effectively a .CLOSE. .TRAN l} The .TRAN is not included as part of the disk file structure. That is, all blocks read or written are done so at the user's - diseretion. MFO's, UFO's, Bit Maps, and RIB's are not considered, and are not protected from the .TRAN macro. The .TRAN macro is allowed to any .OAT slot that has been .INITed, and not .CLOSEd or rewound (via a .MTAPE). 2) For the RF DECdisk, the user can reference a specific platter just by identifying the block number he wants. The block numbers and platter relationships are shown below: Platter Number ~ ~-1777 2~~~-3777 4~~~-5777 6~f1~-7777 U~.0.0-11777 1 2 3 4 5 l2.0.0~-13777 14~~~-l5777 16~~.0-l7777 6 7 j. Block Number . FSTAT 1) Normal operations, except that a subsequent .SEEK to a file found via .FSTAT will not require redundant disk access. That is, both .FSTAT and .SEEK ordinarily require a minimum of three disk accesses -- one to the MFO, one t a the UFO, and one to the file. If the user does a .FSTAT to an existing file, and then a .SEEK, the disk handlers "remember" the successful .FSTAT, and do not do an extra disk access. 9-22 k. • RAND 1) 1. .RAND commands to a nonexistent file cause an rOPS13. Those to a nonexistent UFD cause an IOPS5l. Those to an empty UFD cause an rOPS7l. .RTRAN 11 The disk pack handler ignores the word number argument (assumed to be ~) and ~eturns the whole block. If the word number plus the word count exceeds 254 , the 10 disk handlers will return rOPS67. Output .RTRAN to the R~ disk requires 256 -word buf10 fers to allow the handlers to supply the correct links in the last two words. (Otherwise, random files would require two buffers from the pool.) If the block number argument requested by the .RTRAN is less than one, or greater than the number of blocks in the file, an IOPS66 will result. 9.3.6 Magtape Handlers 9.3 . 6.1 (MTA, MTC, and MTF) General Description - Three handlers are provided for operation of 1-1.agtape drives TUlO, TU20A, TU20B, TU30A, and TU30B. These handlers permit control of up to eight transports. o MTA (4600 g locations) is ! the most general and permits either indastry-standard ~agtape file structuring, using the .MTAPE Macro, or DECtape file structuring using .SEEK and .ENTER Macros (refer to Chapter 4). When treated aSDE~~; Up to three files can be concurrently referenced, each on a different transport, either input or output. o MTC (1253 g locations) is a read-only handler designed for operation using DECtape file structuring only. rt has a single file capacity; sequential file references are, of course, allowed. o M'l'F (1307 locations) is designed for Magtape file 8 structuring only. It accommodates up to eight concurrently referenced transports, both input and output. The track count (either 7- or 9-channel) can be set at System Generation, or by using the CHANNEL Keyboard Command. IR ~ddition, it can also be set dynamically, along with parity and recording density parameters, using the .MTAPE I/O Macro (see paragraph 6.7.7) when using 11a9tape file structuring. When using DECtape file structuring, parity and density are fixed at odd parity and 800 BPI recording density. Table 9-12 lists the Data Modes acceptable to the handlers and Table 9-13 lists the I/O Macros and their responses. 9-23 Table 9-12 MAGTAPE DATA MODES MTA Handler MTC lOPS ASCII X X X lOPS Binary X X X Image Alphanumeric X X - - Image Binary Dump X Data Modes - MTF - - Table 9-13 MAGTAPE I/O FUNCTIONS Madro MTA ,t .INIT . FSTAT .RENAM - ~AT~t .DLETE . RAND Illegal .RTRAN Illegal .SEEK . CLOSE .MTAPE 1 Accept "Tal Illegal Accept MTF t Acr Illegal j Accept Illegal Accept I .WAIT Illegal Accept .WAITR Accept .TRAN Illegal - t- Illegal • READ .WRITE Accept Accept • ENTER • CLEAR Handler MTC Illegal Illegal Function (IOPS6 Error) 9-24 9.3.6.2 Deviee ,D%!e"dent ,GhjFacterist\cs- c- The fiij'st .INIT to a Magtape unit causes the system default parameters for track count, recording density, and parity to be assigned as follows: Parity odd Density 800 BPI Track Count - System Generated Default unless otherwise specified in the CHANNEL Keyboard Command. (See Paragraph 8.9.3.) The following characteristics are unique to the operation of the A and C handlers in responding to the I/O Macros below: a . . INIT - Maximum I/O buffer size returned: 376 (254 ), 8 10 .MTAPE - MTA accepts REWIND and BACKSPACE RECORD subfunctions only. b. The following characteristics are unique to the operation of the MTF handler: - Returns standard buffer size of 377 , a. .INIT b. .MTAPE - On functions OS, 06, and 07 (skip record, skip file, and skip to logical end-of-tape), if the handler senses phycical end-of-tape, lOPS 65 is issued. c. .READ - Bad Tape and Data Late errors are considered unrecoverable and MTR issues lOPS 65 for them. d. .TRAN - Permits either the PDP-IS standard IS-bit transfer (both 7 and 9 track look like 7 track) or the industry standard 9-track transfer. In true 9-track operation, entered by setting bit 6 of the CAL to 1, each IS-bit word is interpreted as two 8 bit bytes of data plus associated parity bits (which are set on output and checked on input by the hardware). Tpus: 8 A parity By~e A Byte B ~~I~I~--~-----~~-----~ ~ B parity~ 9.3.7 1 2 .. 9 l~ - 17 Line Printer Handler 9.3.7.1 General Description - LPA (541 8 locations) is designed to operate both the 80 column and 132 column LPIS Line Printers. The handler accepts data in either lOPS ASCII or Image Alphanumeric data modes. Table 9-14 lists the various I/O Macros and the handler's response to them. Table 9-14 RESPONSES TO LINE PRINTER I/O FUNCTIONS Accept Illeg,al (lOPS 6) .INIT .CLOSE .WRITE .WAIT .WAITR • RAND .RTRAN • SEEK; • READ .TRAN Ignore .FSTAT .RENAM .DLETE .ENTER . CLEAR .MTAPE 9.3.7.2 Device Dependent Characteristics - The following paragraphs describe characteristics which are unique to the Line Printer Handler in its response to certain I/O Macros and characters. a. .INIT - 1) Maximum I/O buffer size returned: 66 (54 ) 8 10 for 132 column printers; 448 (36 10 ) for 80 column printers. 2) Output FORM Feed. 3) Test Bit 6 of the .INIT CAL (see 6.7.6). If set, inhibit FORM Feed each 57 10 lines. (This bit is set by using a 5 rather than a 1 • in the "dd" argument of the. INIT.) b. .CLOSE - Output a FORM Feed (if not inhibited in the. INIT). c. .WRITE - I} Examine header word buffer as follows: ~ in the user's I/O Meaning fJ 1 2~ Enter Single Line Mode Enter Multiple Line Mode 1-8 Contains Line Count for Multiple Line Mode 14-17 Data Mode 2 lOPS ASCII 3 = Image Alphanumeric Check the first character of the user's I/O buffer for the following vertical form control characters, all of which are output by the FORTRAN IV Object Time System: fJ 14 ~2fJ fJ2l fJ12 FORM Feed Overprint Print every second line Line Feed To effect the Overprint function for FORTRAN users, it is necessary to simulate certain vertical form control characters. If the first character of a line is ~l2, ~14, or ~21, the handler automatically enters Multiple Line Mode (by setting bit ~ of the first word in the user's I/O buffer to l) and prints two lines, the first line being the vertical control character, and the second line being the actual data. If the first character is ~2~ (overprint), it is replaced in the user's I/O buffer by ~l5 (Carriage Return) which does not affect the page position and both lines are printed. All other characters cause a Line Feed to be output from the handler's internal buffer followed by the line from the user's buffer. After output, any data in the user's I/O buffer which was changed (i.e., header word ~ or the first data word) is restored. 9-26 If the user intends to output to another device fromthesame I/O buffer (e.g., two sequential .WRITEs), a .WAIT should be used after the .WRITE referencing the Line Printer to permit the restoration of any data which may have been replaced in the user's I/O buffer by LPA. d. 3} Output in either Single Line Mode or Multiple Line Mode as applicable. 4} Restore modified portions of the user's I/O buffer (if changed). Carriage Control Characters - The control characters in Table 9-15, except horizontal TAB, cause line termination, in both lOPS and Image Modes, except f o r special cases described under .WRITE above. Table 9-15 LINE PRINTER CARRIAGE CONTROL CHARACTERS Character Action ~--------------------------------r--------------------------------------- Line Feed (,012) VT (Vertical Tab) Space one line (,013) Space 20 lines Form Feed (,014) Move to top of form Carriage Return (015) Reset column count to zero (no implicit LINE FEED function) OLE (,02~) "\ Space 30 lines DCl (,021) DC2 (,022 ) ) DC3 (,0 23 ) DC4 Refer to Appendix S~ace 2 lines A for alternate Space 3 lines designations Space 1 line (~24) .) Space 10 lines ALT MODE (175) Reset column count to zero (no i~plicit LINE FEED function) Horizontal Tab (,011) Output sufficient number of spaces to position printer at column 9, 17, 2S, ••. ,etc. This is not a line terminator and may occur anywhere in the line. 9.3.8 9.3.8.1 Card Reader Handler (COB) General Description - COB (7708 locations) is designed to ope rate the CR03B card reader. ASCII mode only. The handler transmits data in lOPS As initially supplied, it interprets Hollerith code as punched in DEC 029 Card Code. COB is also supplied in source form which can be assembled to produce a version of the handler which interprets Hollerith punched in DEC 026 Card COde l • Appendix F contains a lRefer to the SGEN manualror procedures for assembling and installing the 026 code version of COB. .9-27 table of 029 and 026 Hollerith codes and the corresponding lOPS ASCII codes. Table 9-16 lists the handler's response to the various I/O Macros. Table 9-16 CARD READER I/O FUNCTIONS . Macro Response .INIT Accept • FSTAT Ignore .RENAM Ignore .DLETE Ignore • RAND Illegal .RTRAN Illegal .SEEK Ignore • ENTER Illegal • CLEAR Illegal .CLOSE Accept .MTAPE Ignore • READ Accept .WRITE Illegal .WAIT Accept .WAITR Accept .TRAN Illegal Illegal - Illegal F~nction (IOPS6 Error) 9.3.B.2 Device Dependent Characteristics - The following paragraphs describe the characteristics which are unique to the Card Reader Handl e r in its response to certain I/O Macros. a. .INIT - Maximum I/O buffer size returned: 448 (36 b. • READ 10 ) Eighty card columns are read and interpreted as 029 or 026 Hollerith data, mapped into the corresponding 64-graphic subset of ASCII, and stored in the user's I/O buffer in 5/7 format (36 10 locations are required to store an BO column card). Compression of internal blanks to tabs and truncation of trailing blanks is performed (all 80 characters appearing on the card are delivered to the user's buffer). In addition, a Carriage RETURN (~15) character is appended to the input line ; thus, a total of 81 characters are returned to the user. 9-28 c. Illegal punch configurations '- all illegal punch configurations (i.e., those not appearing in the 029 or 026 character set shown in Appendix F) are interpreted as validity errors and will cause an lOPS 4 error condition. The card containing the error must be repunched. d. Special Codes - In addition to the Hollerith character set, the handler recognizes the ALT MODE terminator which is necessary for some system programs. ALT MODE, recognized as a 12-8-1 code (multiplepunched AS) i;s mapped in to the standard ALT MODE character (175) in the user's buffer. Each file must be terminated with an EOF card punched in either of two ways: a) multiple punch the characters +-0123456789 Which punches all positions in card column 1, or b) multiple punch characters A~- which produces a 12-11-~-1 punch in card column 1. NOTE The card reader handlJer used when the system is operated in Command Batching Mode (described in paragraph 8.12) is a separate handler similar to COB, but resident in the Monitor itself. As initially supplied, it interprets cards punched in DEC 029 Hollerith Code. Another version, which recognizes DEC 026 Hollerith Code can be installed into the system using procedures contained in the SGEN Manual. 9.3.9 VP1SA Storage Tube Display (VPA) VPA (1213 8 locations) operates the VPlSA Storage Tube Display. accepts data in lOPS ASCII, Image Alphanumeric and Dump Modes. rops It In ASCII and Image Alphanumeric Modes, up to 70 lines can be displayed. (56 ) 72-character 8 10 In Dump Mode, the handler interprets each 18-bit data word as a coordinate for point plotting operations. Two versions of VPA are provided. The version installed in the system as initially supplied (1144 locations) automatically erases the screen 8 when an attempt is made to display the 57th ASCII line and that line is placed at the top of the screen.; The other version of VPA, which has a file name VPA.S, is slightly larger (1211 locations). It per8 mits the user to operate the display in a "paging" mode by setting AC switch ~ (when set to 1) to inhibit further output once the 56th ASCII line is displayed. button. Operation is resumed by pressing the ERASE push- paging is stopped by resetting AC switch ~ to ~.l lRefer to the SGEN Manual for procedures for installing the VPA.S version of VPA. 9-29 Table 9-17 lists the handler's response to the various I/O Macros. The user should refer to the VPlSA Graphics Software Manual (DEC-lSUXSB-Dj for a detailed description of the handler's capabilities and programming considerations. Table 9-17 VP1SA DISPLAY I/O FUNCTIONS Macro Response .INIT Accept • FSTAT Ignore .RENAM Ignore .DLETE Ignore . RAND Illegal .RTRAN Illegal .SEEK Illegal .ENTER Ignore .CLEAR Ignore .CLOSE Accept .MTAPE Ignore • READ Illegal .WRITE Accept .WAIT Accept .WAITR Accept .TRAN Illegal Illegal Illegal Function (IOPS6 Error) 9-30 CHAPTER 10 OPERATING PROCEDURES 10.1 INTRODUCTION This chapter provides general operating procedures and considerations to assist novice users in operating in the DOS-15 Monitor environment. Procedures for system startup and system generation are the subject of Chapter 7 and are not included here. The discussions and examples in this chapter assume a properly configured and running system. It is assumed that the reader is familiar with the keyboard commands, as defined in Chapter 8. Further, the user should be aware of the dif- ferent types of 1/9 device handlers and their versions, as described in Chapter 9, and in particular, the tables which list those handlers which can be used with the DOS-1S System programs. Specific operating procedures for the system programs (i.e., command strings, options, functions, error messages, and so on) are provided in the various language and utility program manuals listed in the Preface. Once a user gains some understanding of the use of the sys- tem programs and their commands fr?m these manuals, he will find that the DOS-15 Keyboard Command Guide KDEC-1S-NGKA-D) provides most of the information normally required for day-to-day user reference. Since most procedures involved with keyboard operation are specific to particular programs, very little will be said here about them. In general, keyboard operations at the Monitor level consist of issuing commands to set up system operation, prior to calling system and user programs. This usually involves at least the LOGIN and LOGOUT commands, and quite often requires the PIP program, as well. This chapter consists primarily of two large examples of what might be typical DOS-1S operations. Each example is the result of an actual session at the PDP-lS. On the left side of each page of the examples is the actual teleprinter output. the user are underlined. All commands typed by On the right is a running commentary on all significant teleprinter lines. 10.2 EXAMPLE OF KEYBOARD OPERATIONS Figure 10-1, Example of DOS-1S Keyboard Operating Procedures, demonstrates some typical keyboard procedures. The example consists of a series of operations in which a simple FORTRAN program is trans10-1 ferred to the disk from DECtape, edited, compiled run, and transferred back to DECtape. gram, shows the program. Figure 10-2, Listing of Sample FORTRAN ProThe program simply prints the numbers 1 through 10 on the device associated with .DAT slot 4, and then returns control to the Monitor. Figure 10-3 shows the teleprinter output, without comment. >!.f. The user types CTRL C to prepare the Monitor for keyboard command input. If no response, the Monitor must be reinitialized using the bootstrap -- see Chapter 7. 005-15 VIA ENTER DATE (MM/DD/YY) - 11/2171 If the Monitor requests a date (indicating it has just been started via the bootstrap) enter it as required. Otherwise check the date (type DJ ) to make sure it is current ana correct it if it is not. $LOGI N JOE If the user wishes to use disk storage, he must log-in to the Monitor with a UIC of his creation. At this point, the user might consider typing other commands such as: VT ON, KEEP ON, X4K ON, PROTECT etc. (refer to Chapter 8). $PIP Call PIP DOSPI? V6A Request a User File Directory listing to see if there is enough space available for the operations to be performed. (Since there are 5323 blocks indicated, the user can continue. If enough space were not available, however, other files in the UFD would have to be deleted.) >L TT ... DK 02-NOV-71 DIRECTORY LISTING (JOE) 1660 FREE BLKS 13 USER FILES 362 USER BlKS DKECHO 001 6 02-NOV-7l T 001 3 02-NOV-71 T 002 I 02-NOV-7l LEF' SRC 106 02-NOV-71 JOB BIN 15 02-NOV-71 AL SRC II 02-NOV-71 AL RIN 3 02-NOV-71 MAX ACCT 045 654 3 3 02-NOV-71 02-NOV-71 If the user had no previous UFD] on,the disk, he would create one us~ng the PIP command [ NJK) Transfer program (FTNTST SRC) from user's DECtape to disk. >T DK ... DT FTNTST SRC Figure 10-1 Example of DOS-15 Keyboard Operating Procedures 10-2 >tC Return to the Monitor DOf:-15 VIA $R EDIT -15 -14 .DAT DEVICE DKA DKA -10 TTA UIC JOF. JOE JOE USE OUTPUT/SCRATCH Examine the .DAT/.UFDT slots for the EDITOR for proper assignment (no change required in this case). 110 SECONDARY INPUT Call the EDITOR to correct any known errors on the file program prior to assembly or compilation. (In this case the FORTRAN comment line . descriptor "c" was missing and must be inserted. EDITOR VISA >OPEN F'TNTST EDIT >P 4 Open the file for editing. Locate error (i.e.,print some lines) C- EXAMPLE - SAMPLE FORTRAN TEST PROGRAM C >T >N ? Error line (the comment descriptor "c" is missing) Go back to the top of the file. Point to the error line. >P Print it out as added precaution. >C IICI EXAMPLE - SAMPLE FORTRAN TEST PROGRAM C----- EXAMPLE - SAMPLE FORTRAN TEST PROGRAM >CLOSE Add the .. c .. to the beginning. Close the file EDITOR VISA >~ Return to the Monitor. DOS-15 VIA ffi F' 4 .DAT -13 -12 -11 $A DEVICE DKA TTA DKA II -12 UIC JOE JOE JOE USE OUTPUT LISTI NG INPUT Examine the .DAT/UFDT slots for the FORTRAN compiler for proper assignment. (In this case the user wished to have his listing on the teleprinter, rather than the line printer. ) Assign the teleprinter to .DAT-12. Figure 10-1 (Cont.) Example of DOS-15 Keyboard Operating Procedures 10-3 $1'4 Call FORTRAN Compiler. F4X V28A >L ,R+-F'TNTST Issue command string. END PASSI Program listing output begins. 001 01212 C C 1211213 1211214 12105 C 1211216 007 1211218 11210 I F4X V28A >tC EXAMPLE - SAMPLE FORTRAN TEST PROGRAM DO 1 1:1,11/.1 WRITE (4, H'lf2J)J FORMAT (6X,13) STOP 12345 END Compilation complete. Return to the Monitor. DOS-15 VIA $8 USER DEVICE DKA DKA DKA TTA PRA .DAT +1 +2 +3 +4 +5 Examine the .OAT!UFTO slots for available user programs. (This program uses .OAT slot 4 as referenced in the FORTRAN WRITE statement in the listing above.) UIC JOE JOE JOE JOE Jtt CTRL P typed to abort remainder of typeout. $A TT 4 Assign the teleprinter to .OAT slot 4. Call the Linking Loader (load and go command. Give command string. $GLOAD flLOADER VI2A >+-FTNTST I 2 .3 4 Program is loaded and execution begins. 5 6 7 R 9 STOP 1"-' 01?345 DOS-IS VIA End of program execution. The Monitor is called automatically by the FORTRAN STOP statement. $1'IP Call PIP. DOSP!P V~A Transfer edited source file from disk to OECtape. Device Not Ready error - the user forgot to WRITE ENABLE the DECtape unit. >T DTI+-DK FTNTST SRe IOPS4 tR Figure 10-1 (Cant.) 02-NOV-71 DIRECTORY LISTING (JOE) 1656 FREE RLKS 15 USER FILES 364 lJSER RLKS DKECHO eel 6 02-NOV-71 T 001 3 02-NOV-71 T 002 1 02-NOV-71 LEF' SRC 106 02-NOV-71 JOB RIN 15 02-NOV-71 AL SRC 1 1 02-NOV-71 AL BIN 3 eJ2-NOV-71 MAX 045 3 02-NOV-71 FiNTST SRC 1 02-NOV-71 FiNTST BIN 1 02-NOV-71 >D DK FTNTST SRC DO~-15 $L OGOUT Request User File Directory listing to examine the contents after current series of operations. Delete source file (User decides to keep only his binary file on the disk) Return to the Monitor. VIA Current session at the computer is completed. User logs-out. Figure 1Q-1 (Cant. Example of DOS-1SiKeyboard Operating Proc~dure 001 002 >"'JIc "'0.3 004 "'05 "'0"'7 ' '6 00B C .. EXAMPLE - SAMPLE FORTRAN C 1 10'" TE~T (diagnostia) DO 1 I: 1 , 10 WRITE (4,100)1 FORMAT (6X,I3) fTOP 12345 END Figure 10-2 Listing of Sample FORTRAN Proqram 10-5 PROGRAM DOS-15 VIA ENTER DATE (MM/OO/YY) - 11/2/71 $lOGI N JOE $PIP DOSP!P VElA >L TT.... OK 02-NOV-71 DIRECTORY LISTING (JOE) 1660 FREE RLKS 13 USER F'ILES 362 USER BLKS DJ{ECHO ~01 6 02-NOV-71 001 3 02-NOV-71 T 002 T I 02-NOV-71 SRC 106 02-NOV-71 LEF' 15 02-NOV-71 RIN JOB SRC AL 11 02-NOV-71 .3 02-NOV-71 BIN At 045 MAX .3 02-NOV-71 ACCT 654 .3 02-NOV-71 >1 DK ....DT FTNTS1 SRC >tC 00S-15 VIA $R EDIT .DAT -15 -14 -1" DEVICE DKA DKA TTA UIC JOE JOE JOE USE OUTPUT/SCRATCH I/O SECONDARY INPUT $EDIT EDITOR VI8A >OPEN FTNTST EDIT >P 4 C EXAMPLE - SAMPLE FORTRAN TEST PROGRAM C Figure 10-3 Uncommented Listing of Keyboard Operating Session 10-6 >T >N 2 >P >C IICI C >CLOSE EXAMPLE - SAMPLE FORTRAN TEST PROGRAM EXAMPLE - SAMPLE F'ORTRAN TEST PROGRAM EDITOR VI8A >tC DOS-15 VI A $R F' 4 .DAT DEVICE DKA LPA DKA -13 -12 -II UIe JOE JOE JOE USE OUTPUT LIsn NG INPUT $A TT -1"2 $F'4 F4X V2BA >L ,BfooF'TNTST END PASSl e 1'11'11 1'102 C C ~03 01114 EXAMPLE - SAMPLE FORTRAN TEST PROGRAM 00 1 I: 1,10 f1II1I5 I lA0 f1I~6 0"'7 008 F'4X V28A >tC WRITE (4,100>! FORMAT (6X,I3) STOP 12345 END DOS-15 VIA $R USER DEVICE UIe OKA JOE DKA JOE OKA JOE LPA JOE PRA fooZtP .DAT +1 +2 +3 +4 +5 $A TT 4 $GLOAD Figure 10-3 (Cont.) Uncommented Listing of Keyboard Operating Session 10-7 RLOAOER VI2A >.... FTNTST 1 2 .3 4 5 ~ 7 8 9 STOP 10 012345 005-15 VIA$PIP DOSPIP V6A >T DT.... OK FTNTST SRe IOPS4 tR >L TT.... DK It::-NOV-71 DIPECTORY LISTING (Jon 1 '525 F'PF:E RLKS 13 USER nLES 161 USE? RLKS DKECHO 001 6 16-NOV-71 T 001 3 16-NOV-71 T ~02 I lEi-NOV-71 LEF SRC 106 1~-NOV-71 JOR RIN 15 16-NOV-71 AL SRC 11 IEi-NOV-71 AL BIN 3 lEi-NOV-71 MAX 045 .3 16-NOV-71 ACCT ~54 .3 16-NOV-71 FTNTST BIN 1 lEi-NOV-71 FTNTST SR C I 16-NOV-71 >0 OK F'TNTST SRC >tC DOS-15 $LOGOUT VIA $ Figure 10~3 (Cant.) Uncommented Listing of Keyboard Operating Session 10-8 10.3 EXAMPLE OF OPERATING PROCEDURES USING COMMAND BATCHING MODE The example which is contained in Figure 10-4 demonstrates typical operations using the Monitor's Command Batching Facility. Figure 10-5 contains just the console teleprinter output without comment. Essentially the same types of operations which can be performed at the keyboard can be accomplished using Command Batching Mode. There are, of course, some operations which, although legal, are more difficult to accomplish, such as editing. To prepare a job for Command Batching Mode, the Programmer creates a file of keyboard commands in the sequence in which they would normally be issued from the teleprinte~interspersed with the special batching commands described in paragraph 8-12 (as applicable). cards or paper tape. The file can exist either on punched The programmer then submits the batch file and other required data (DECtapes, Magtapes, etc. for use during the job run) to the computer operator for instructions. should remember to place an deck. ~xecution along with appropriate Users who prepare b~tching files on punched cards end-of~file card at the end of the card This card is created by multiple punching all punch positions in card column 1 (see 9.3.8.1 d). The example below is baSically similar to that in 10.2 except that no editing is performed since it is more easily and accurately accomplished by the programmer directly. Similarly, requests for de- vice assignments were also omitted since this information cannot be utilized at runtime in a batching environment. 10-9 $tC The operator types CTRL C to prepare the Monitor for keyboard command input. $BATCH PR Instruct the Monitor to enter Command Batching Mode with the paper tape reader as the batching input device (the batch tape has already been loaded in the reader). DOS-15 VIA The Monitor reinitializes itself indicating it has entered Command Batching Mode. $$JOB TEST COMMAND BATCHING MODE $JOB must be the first command on the batching medium. (The programmer titles his batch run "TEST COMMAND BATCHING MODE".) LOGIN JOE Log-in the UIC to be used. $LOG PLEASE MOUNT DECTAPE w CONTAINING "FlNTST SRC ON DECTAPE UNIT 1 AND SET TO WRITE ENABLE The programmer uses the LOG command to give instructions to the operator. THANKS $$PAU~E The $PAUSE stops the job to permit the operator to comply wi·th the instructions. The operator types CTRL R to continue operation. tP Call PIP. rIP DO~PIP >1 V(;A DK~DTI >.L.lQfi DOS-15 VIA FlNTST SRC Transfer the file to be compiled to the user's disk file area. (it is assumed in this example that the user has already created a UFO for himself at some previous time). Return to the Monitor. Figure 10-4 Example of Command Batching Mode 10-10 $A IT -12 Assign teleprinter to .OAT slot -12 (user should know standard assignments for his system) to permit FORTRAN listing to be output to it. Call the FORTRAN Compiler. F'4X V28A >L ,8 ,4-FTNTST Issue command string. PASSI END 001 C C C 0"2 003 004 Program listing output begins. EXAMPLE - SAMPLE FORTRAN TEST PROGRAM DO I I=I,10 005 1 10f2J 006 007 0f2J8 F4X V2SA WRITE (4,100>1 FORMAT (6X,I3) STOP 12345 nm Compilation ends. >$Jon Return to the Monitor. 005-15 VIA $A TT 4 Assign the teleprinter to .OAT slot 4 (the user wants his program to use the teleprinter rather than device normally assigned to .OAT 4), Call the Linking Loader (load and go command). Issue command string. $~ RLOADER VI2A >4-FTNTST 1 Program is loaded and execution begins. 2 3 " 5 6 7 8 STOP 9 10 012345 End of program execution. The Monitor is called automatically by the STOP FORTRAN statement. 00S-15 VIA $$JOfl PIP Call PIP. DOS?I? V()A >T OTl ~K F'TNTST B1 N Transfer the binary of the program just compiled to the user's DECtape for permanent storage. ~1gure 10-4 (Cont.) Example of Command Batching Mode 10-11 >0 OK F'TNTST SHC belete the source file from the UFO. >L TT4-DK 02-NOV-71 DIRECTORY LISTING (JOE) 1657 mEE BlKS 14 USER F'IlES 363 USER FllKS OKECHO 001 6 02-NOV-7t T 001 3 02-NOV-71 T 00? 1 02-NOV-71 LEF' SRC 106 02-NOV-71 JOA BIN 15 02-NOV-71 FiNTST AI N 1 02-NOV-71 >L TT4-DT 1 02-NOV-71 DIRECTORY LISTING 101)6 mEE BlKS 2 USER nLES 10 SYSTEM BLKS F'TNTST SRe 1 F'TNTST BIN 2 >$JOB DOS-15 VIA $LOGOllT Request directory listing of user's disk area. Request directory listing of DECtape the user supplied with batch job. Batching run completed. Command Batching Mode. $$EXIT DOf,-15 VIA $ Figure 10-4 (Cant.) Example of Command Batching Mode BATCH PR VIA TEST COMMAND RATCHJNG MODE LOGIN JOF. DO~-15 ~$JOA $LOG PLEASF. MOUNT DECTAPE r,ONTAJNJNC "FiNTST SRC" ON DF.CTAPE UNIT I AND SET TO WPIH ENABLf. THANKS $$PAUSE fP PIP DOSPIP V6A >T DK4-DTI FiNTST SRC >$JOB DOS-15 VIA $A 11 -12 Figure 10-5 Uncommented Listing of Command Batching Mode 10-12 Exit from $F' 4 Fo4X V~fiA >L,B, ... FTNTST END PASSI C C C F.XAMPLE - SAMPLE FORTRAN TEST I lel2l 007 DO I 1=1,10 WRITE (~,112l0>I FORMAT (6X,I.3) STOP 12345 0e~ END Illell 002 003 00~ 005 00f\ F4X IJ2 f\A >$JOfl DOS-15 VIA $A TT -4 $GLOAD LOADEP > ... VI2A FTNTST I 2 3 4 5 6 7 8 9 ](21 STOP 012345 005-15 VIA $$JOR PIP DOSPIP Vf:,A >T DTI ...DK FiMTST RIM .D DK FiNTST SRC >L TT ... DK 1f\-NOV-71 DIRECTORY LISTING 152fi ~EE nus 12 IJSER F"ILES 160 USER RLKS fi DKF.CHO 001 3 0~1 T 002 1 T SRC lfilfi LEF' 15 JOB RIN SPC 11 AL 3 AL RIN 045 .3 MAX f\54 .3 ACCT I FiNTST AIN L TT ... DT I 1/,;-NOV-71 LISTING 106121 FR EE RLKS DIRECTORY .3 USER nLES 1Ii'J SYSTEM flLKS FTNTST SRC .3 I FiNTST BIN 4 1 DKECHO 0"'1 2 6 $$JOB LOGOUT $$EXIT 005-15 VIA $ Figure 10-5 (Cont.) Uncommented Listing of Command Batching Mode 10.4 ERROR DETECTION AND RECOVERY PROCEDURES All major components of the DOS-15 software System contain facilities for error detection and operator notification. This includes the System Programs, I/O Device Handling Routines and The Monitor itself. The operator is notified of the existence of an error condition most generally by a message output to the console teleprinter. There are, however, two situations in which the operator would not receive a message on the teleprinter. The first is the normal occurrence of end-of-file, end-of-medium, parity and checksum error conditions by means of the information fields provided in header word affected logical record. ~ of the Recovery from these errors is not discus- sed here, since it is the user's program which mus~ recognize these conditions and determine the appropriate corrective action. to paragraph 6.3.1.1). (Refer The second situation is the occurrence of an undetected error such as a user's program looping endlessly within itself. Under these conditions, the user can only detect the error condition by observing that the program is not operating as expected. His only recourse in this case is to abort the operation by typing CTRL C or CTRL Q. 10-14 There are two types of error messa~es output to the console teleprint- er: o I/O errors which are detected by the I/O device handlers and printed through the Monitor's error message facility. These messages, referred to as "lOPS errors", consist of the mnemonic "lOPS" followed by a number. o System Program and Monitor detected errors which generally result from syntactically incorrect or illogical command strings or other illegal operating conditions. These messages are generally $elf-explanatory and consist of an appropriate symbol, word, phrase or sentence. The degree to which lOPS error recovery is possible can vary with the nature of the error. In some situations, it may be possible to continue the operation from the point where it was interrupted by the error message. For example, the IOPS4 message (I/O Device Not Ready) occurs when an I/O device hardware not ready condition is detected by the handler. To recover, all that is required is that the operator correct the condition (e.g., card reader out of cards) and type CTRL R. never occurred. The operation will continue as if the error had In other situations the operator may have to retype a command string correctly, restart the interrupted program (CTRL P) or call in the Monitor (CTRL C) to reassign an I/O device or to reload the program. Some users may wish to save an image of the core at the time of the error. In that case, the QOUMP command (see 8.7.2) would be typed before reloading the offending program. If, after typing CTRL C, the Monitor does not start up because a runaway program has destroyed the bootstrap, the bootstrap must be reinitialized or reloaded using procedures described in Chapter 7. Complete identification, explanation and recovery information for lOPS errors is provided in Appendix o. Similar information for other error messages is found in the applicable language or utility program manual for the applicable System Program. The 00S-15 Key- board Command Guide, OEC-15-NGKA-0, provides complete command summaries of all DOS-IS System Program and lOPS error messages. 10-15 APPENDIX A PDP-IS lOPS ASCII STANDARD CHARACTER SET The table below shows the 7-bit ASCII characters intepreted by the DOS-IS Monitor and System Programs either as meaningful data and command input or as control characters. The 7-bit octal code and the corresponding graphic characters conform to the standard ASCII 196B 64-character graphic subset. The control characters (codes 00-37, and 175-177) are used for system control purposes. The characters shown in brackets [] are not used by the system and are available for user applications. Characters in parentheses denote the 1963 character set. 7-BIT CODE 000 001 002 003 004 005 006 007 010 011 012 013 014 015 016 017 020 021 022 023 024 025 026 027 030 031 032 033 034 035 036 037 ASCII CHAR. NUL [SOH] STX ETX (CTRL C) EOT (CTRL D) ACK [ENQ J :~LL HT LF VT FF [i~J DLE DCl DC2 DC3 DC4 NAK (CTRL P) (CTRL 0) (CTRL R) (CTRL S) CTRL T) (CTRL U) [SYNJ ETB CAN (CTRL X) [~~BJ ESC (ALT MODE) ni] 7-BIT CODE ASCII CHAR 7-BIT CODE 040 041 042 043 044 045 046 047 050 051 052 053 054 055 056 057 060 061 062 063 064 065 066 067 070 071 072 073 074 075 076 077 SP 100 101 102 103 104 105 106 107 110 111 112 113 114 115 116 117 120 121 122 123 124 125 126 127 130 131 132 133 134 135 136 137 ! " t $ % & I ( ) * + , / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? ASCII CHAR. @ 7-BIT CODE ASCII CHAR. 140 Not recognized by DOS-IS ~ 174 175} 176 177 A B C D E F ALT MODE DEL (rubout) G H I J K L M N 0 p 0 R S T u V W X y Z [ \ ] A (t) (+- NOTES: 1.Codes 33, 175 and 176 are interpreted as ESC (ALT MODE) and are converted on input to 175 by IOPS. 2.The left bracket, backslash, and right bracket (i . e. [, \ ,and ]) characters are formed by typ ing SHIFTs K, L, and M, respectively. A-l APPENDIX B lOPS ASCII PACKING AND UNPACKING ROUTINES S~~PLE This appendix contains two subroutirtes for use in packing and unpacking rops (5/7) ASCII. These routines are self-contained and can be incorporated in user programs directly or contained in the DOS-IS System Library (.LIBR BIN) or user~created globally (.GLOBL pseudo-op). If they are to be incorporated direct- library and referenced ly into a program, the .GLOBL and ;END pseudo-ops must be removed. Unpacking Routine This routine has two entry points, GT.FST AND GT.CHR. The GT.FST entry is used to initialize the routine for each unpacking sequence. Upon entry via GT.FST, the AC must contain the address of the first location in the buffer. Header Word Pair.) (The routine automatically skips over the On return the AC is unchanged. After initiali- zation, each entry via GT.CHR returns a 7-bit ASCII character right justified in the AC. The user program must detect the end of the logical record, normally by checking for a Carriage RETURN or ALT MODE terminator. Entry to the routine from the user program is made by either a JMS or a JMS· instruction as follows: If this routine is directly incorporated in the user's program: LAC ADDRESS /BUFFER ADDRESS JMS GT.FST /ENTRY TO INITIALIZE UNPACKING JMS GT.CHR /ENTRY TO UNPACK A CHARACTER If this routine resides in a library: .GLOBL GT.FST,GT.CHR/EXTERNAL GLOBL DECLARATION LAC ADDRESS /BUFFER ADDRESS JMS· GT.FST /ENTRY TO INITIALIZE PACKING JMS· GT.CHR /ENTRY TO UNPACK A CHARACTER DAC SAVCHR /SAVE CHARACTER RETURNED IN AC B-1 Packing Routine This routine also has two entry points, PK.FST and PK.CHR. The PK.FST entry is used to initialize the routine for each new packing sequence. Upon entry via PK.FST, the AC must contain the address of the first location in the buffer (the routine ignores the header word pair automatically); on return, the AC is unchanged. After initializa- tion, each entry via PK.CHR with a character in the AC will pack that character in 5/7 format. justified in the AC. The characters to be packed must be right On return to the user, the AC will still con- tain that character, however, bits 0-10 of the AC will be set to zero. The user program must detect the end of the logical record, normally by testing for a terminator such as Carriage RETURN or ALT MODE. Further, the user must also set up the header word pair for the logical record. Entry to the packing routine is made from the user's program either by a JMS or JMS* instruction as follows: If this routine is directly incorporated in the user's program: LAC ADDRESS /BUFFER ADDRESS JMS PK.FST /ENTRY TO INITIALIZE PACKING LAC CHAR /CHARACTER TO BE PACKED JMS PK.CHR /ENTRY TO PACK A CHARACTER If this routine resides in a library: .GLOBL PK.FST, PK.CHR /EXTERNAL GLOBL DEFINITION LAC ADDRESS /BUFFER ADDRESS JMS* PK.FST /ENTRY TO INITIALIZE PACKING LAC CHAR /CHARACTER TO BE PACKED JMS* PK.CHR /ENTRY TO PACK A CHARACTER B-2 IIOPS AS~II UNPACKING SUBROUTINE I IGT,FST-INITIALIIE 5/7 ,ASCII UNPACKING, ON ENTRy lAC CO~TAINS ADDRESS OF 110 BUFFER TO 8E IUNPACKE~, ~N RETUR\ At IS RESTORED, IGT,CHR-AFTER 5/7 ,ASCII UNPACKING HAS dEEN IINITIALliED 6Y GT,FST, GT,Cw Q WILL RETURN ISUBSEQUENT rkARACTERS IN AC, I GT.F~T f"; T• r'~R ,GLORL GT.rST,GT,CHR ... GT,TMP nAC TAn L2 "lAC GT.PTR .. 1 LAW nAC GT , 5 LAC 'GT.T"P .Jt.1P* GT,FST " /RESTORE AC '1 tSiJ JMP LACISl ,)AC LAC* IS~ ,)AC LAW OAC LAW OAe LAC RAL ISl JMP AND SAD JM~ r;T.EXT ";T."'f')R IJNITJAL.li!E ISAVE AC ISET BUFFER POINTER ITO SKIp OV~~ HEADER WORD PAIR ICHARACTER COU~T[R JMP* nAC LAC RAL !'lAC ,JMP GT,5 GT,MO GT,PTR GT,PTR IIo/ORD PAIR ~TARTrD INEED NEXT "'AIR Ci,lo.Cl IF GT.~D2 17773 CT , 5 17770 r;T,PTR CT,wD3 GT,WD2 GT,wD3 CT,MOR Ll77 SPACE GT,OT GT,CHR GT,IoI02 GT, ",r)1 GT,WOl GT,LUP ISHIrT "r' 1_2 2 1,177 171 SPACE TO 7 1/2 TIMES IBACI< TO LOOP r:'l ('! ~OOP COU~TER, IGOT CHARACTER I[r SPACE DO~T UpDATr ~ r,T.wr)2 ";T,WOJ r,T.TMP PART ISECOND PART IRESET C~ARACTER I r:T • :, r;T.Iof11 lI~ST CT.PTR GT.PTR ,.. I 4",END B-3 GT,~ST IIOPS (5/7) ASCII PACKING SUARQUTIN£ I IPK,rST -1~ITIALl~E 5/7 ,ASCII U~PAC~ING, ON E~TFY AC r:: 0 ~ TAINS A0 DRES 5 0 ~ 1/0 "U r r ER Toe 0 NTAI f, PAC KED AS CIt I ION RETUqN AC IS U~CHANGEO, IPK,CHR IS ~ORMAL fNTRY POl~T AFTER INtTt~Lll~TtON (PK,rsT), lAC ~ONTAI~S CHARACTER TO BE PACKED, ON RETURN, AC CONTAINS ITHE SAME CHARACTER BUT HIGH ORDER BITS (0·1V) AqE lEROEO lOUT, I I .GLOPL PK,rST,PK,CHR 'iHAL=660?!0~ pI(,rST '" OAC TAO !'JAC !'JiM r)iM PK,CHR lAC JM"- ISAVE AC ISET KLPI)TP TO al)F"rE~ ADDRESS +2 ITO SKip OVE..R HEADER 1'101:10 PAIR IRESTORE AC lEX 1T !" lSI > ALSISHAL 1~M- JMP ><'l572 .( L5 7 ~~ "L.574 "LS75 KLPuTP nN057 ALS!SHAL J'1P KV,'D57 RTR ClAR ANI") Ll1 xOR_ ~LPUTP KLPUTP nACySi! KLPU1P LAC KLChR2 ALS!SHAL JMP KL57lA 6LS!SHAL jMP KL~ID57 qCL I")i!M KL57 13 l"'ODIF"IE:D JM" ICHARl ICHAR2 ICHAR3 ICHAR4 ICHAR5 111 LEtT ICLEAR OATA ~Oj:lD 14 Lf. FT 4 /3 ILAST WORO I2ND HALr IS? XORDAC- or FAt R, 17 115 l £F" T 121 18 Lr.n '1 LErT 'RESET 5/7 SKI' i<'LND'57 RIGHT-1ST HALF" KL~7 KLPUTP tiL.PUTP B-4 cou~. TrR LAC IIL57 SNA "'1..51 . . LPUTP Kl.CH P 2 r~RCNT 1.2 L171 l.11 rSl KLPUTP LAC KLCH~2 JMP* PK,CHR 12NO WORD lEX IT, PI 'f.l" v' 2 177 17 .ENO B-S CO~Pl[TE APPENDIX C INPUT/OUTPUT DATA MODE NOTE: DATA MODE rops ASCII TER~INATORS FOR SPECIFIC DEVICE HANDLERS All handlers determine the data mode from the .READ or .WRITE macro. and acronyms are defined at the end of the table. HANDLER INPUT OUTPUT DT (all versions) HWP, WC, EOM, EOF whichever is smaller HWP, EOM DK, DP (all versions) HWP, WC, EOM, r:OF, whichever is smaller HWP, EOM CDB. Abbreviations WC, EOM, EOF ~ot LPA.,S9 Not applicable HWP, CR, AM LPA.lS Not applicable HWP, CR, AM, lOPS 37 on overflow VC MTA. HWP, WC EOM, EOF whichever is smaller HWP, EOM MTC. HWP, WC EOM, EOF whichever is smaller HWP, EOM MTF. WC, EOM, EOF TTA. CR, AM, CTRL D, WC (no CR appended) HWP*, CR, AM, EOF applicable overflow lines will continue on next line, with diamond as 1st character HWP, ROM PP (all versions) Not applicable HWP , CR, AM, EOM PR (all versions) WC, CR, AM, EOM, EOF Not applicable *HWP with word pair count less than two will cause carriage return/line feed only. count is two or more, only a carriage return or an ALT MODE will terminate output. If the word pair Input/Output Data Mode Terminators for Specific Device Handlers (Cant.) DATA MODE raps n Binary HANDLER INPUT OUTPUT DT Call versionsl HWP, WC EOM, EOF whichever is smaller HWP, EOM OK, DP (all versions) HWP, we EOM, EOF whichever is smaller HWP, EOM COB. Not applicable Not applicable LPA • .I9 Not applicable Not applicable LPA.IS Not applicable Not applicable MTA. HWP, we EOM, EOF whic~er is smaller HWP, EOM MTC. HWP, we EOM, EOF which~er is smaller HWP, EOM MTF. WC, EOM, EOF HWP, EOM TTA. Not applicable Not applicable PP (all versions) Not applicable HWP, EOM PR (all versions) WC, EOM, EOF Not applicable I I>J Input/Output Data i'1ode Terminators for Specific Device Handlers DATA MODE IMAGE ALPHA/ IMAGE BINARY (') I w HANDLER INPUT (Cant.) OUTPUT DT (all versions) HWP, WC EOM, EOF whichever is smaller HWP, EOM DK, DP (all versions) HWP, we EOM, EOF whichever is smaller HWP, EOM CDB. Not applicable Not applicable LPA • .09 Not applicable Not applicable for BIN HWP, CR, A"'1 for ALPHA Overflow lines will continue on next line, with diamond as first character LP.ZI..lS Not applicable Not applicable for BIN HWP, CR, AM, VC for ALPHA lOPS 37 if line is exceeded ~1TA. HWP, WC EO!1, EOF whichever is smaller HWP, EOM '1TC. HWP, WC EO"'1, EOF whichever is smaller HWP, EOM ?-lTF. WC, EOM, EOF HWP, EOM TT.l\. Not applicable for BIN CTRL D, WC for ALPHA Not applicable for BIN HWP PP (all versions l Not applicable HWP, EO"1 for BIN HWP, A-i'1, CR, EOM for ALPHA PR (all versions l WC, EOM, EOF Not applicable Input/Output Data Mode Terminators for Specific Device Handlers (Cant.) DATA MODE DUMP MODE () I "'" HANDLER INPUT OUTPUT DT (all versions) WC, EOM, EOF WC, EOM OK, DP (all versions) wc, WC, EOM. EOM, EOF COB. Not applicable Not applicable LPA.-'l9 Not applicable Not applicable LPA.15 Not applicable Not applicable MTA. WC, EOM, EOF WC, EOM MTC. Not applicable Not applicable MTF. Not applicable Not applicable TTA. Not applicable Not applicable PP Not applicable WC, EOM PR ~'i'C, EOM Li5t of Abbreviations and Acronyms: Handlers: DT DEC tape DK, DP Disk (DECdisk or Disk Pack) COB. The "B" Card Reader Handler LPA.~9 Line Printer Handler for PDP-9 users LPA.lS Line Printer Handler for PDP-lS users MTA. Magtape IIAII Handler MTC. Magtape IIC" Handler MTF. Magtape "F" Handler TTA Teleprinter Handler PP Paper Tape Punch Handler PR Paper Tape Reader Handler Not applicable Abbreviations: AM CR EOF EOM HWP VC WC ALT !>10DE key Carriage RETURN (RETURN) key End-of-File End-of-:1edium Header Word Pair's word pair count Vertical Control Character Word Count in an I/O Macro APPENDIX D IOPS ERROR CODES ~eaning Error Code Error Data Output 1 a Illegal CAL Function Code - The function code immediately following the offending CAL instruction is not legal CAL address 1 CAL* III~al - The Monitor does not of CAL* t~nd~rect) instructions CAL address 2 .DAT Slot. Error a. The .DAT Slot number (bits 9-17 of the CAL) is either ~ or outside the range of ; legal numbers established when the system iwas created (at System Generation). i o b. I p~rmit execution CAL address No. IODEV has been issued fort.his.DAT Slot. I-' 3 Illegal Interrupt -An interrupt originated from a dewhen etther its handler was not core resident or its handler was not previously ini tiali zed (via . INIT) . Contents of the IORS word at the time of the interrupt.t Device Not Ready a. Device "OFF LINE", "WRITE PROTECTED" or Unit Number not selected. b. Line Printer or Paper Tape Punch out of paper. c. Line Printer Alarm Status d. Card Reader stacker full, mis-punched card, card jam, hopper empty, EOF card missing. e. 9-channel I / O request to 7-channel Magtape . transport (or vice versa). Disk - CAL adr,dv & unit,CAL fcn ;-UIC Card Reader - dv, message Line Printer - dv Teleprinter - dv Magtape - CAL adr,dv,& unit,CAL fen Other - CAL adr v~ce 4 i I Remedy error condition and type CTRL R to continue interrupted operation. S Illegal Setup CAL - A CAL to set up API/PI linkage was by a handler (as a result of a .INIT) when no skip lOT existed in the Monitor's Skip Chain for that device (lOTs are placed in the Skip Chain during System Generation. ) . CAL address ! ~ssued -- - - tRefer to Chapter 3 of the PDP-IS user's Handbook, Vol. I Processor (DEC-IS-H2DA-D). lOPS ERROR CODES (Cont.) Error Code 6 Illegal Handler Function - A CAL has been issued to a handler which is incapable of ' performing that function (e. g. , .READ to the paper tape reader, .TRAN to the disk in the reverse direction, etc. ) Disk - CAL adr,dv & unit,CAL fcn,UIC Card Reader - dv,message Line Printer - dv Teleprinter - dv Magtape - CAL adr,dv & unit, CAL fcri Other devices - CAL address 7 Ill~al Disk - CAL adr,dv & unit,CAL Fcn, UIe Card Reader -dv,message Line Printer - dv Teleprinter - dv Magtape - CAL adr,dv & unit, CAL fen Other devices - CAL address a. b. o I Error Data output 1 Meaning Data ModeA .READ or .WRITE was issued using a Data Mode unacceptable to the handler. An attempt was made to change transfer direction prior to issuing new .INIT via that .DAT Slot. i a 10 File Still Active - Failure to close ( .CLOSE) a f~ie before another .SEEK, .ENTER, : • RAND , .RENAM, .FSTAT, .DLETE or .CLEAR is issued ' via the same .DAT Slot. Disk - CAL adr,dv & unit,CAL fcn,UIC, filnam Magtape - CAL adr,dv & unit, CAL fca DEC tape - CAL adr . 11 • SEEK/ • ENTERi. RAND Not Executed A . READ , • WRITE , or .RTRAN was issued to a directoried devicew.th no prior .SEEK/.ENTER/.RAND. Disk - CAL adr,dv & unit,CAL fcn,Ure Magtape - CAL adr,dv & unit,CAL fcn DECtape - CAL adr 12 Terminal Device Error a. DECtape mark track error (tape must be reformatted) b. Magtape EOT encountered on space forward DEC tape - The contents of device status register "B1I (bits 0-11) and unit no. (bits 15-17) Magtape-CAL adr, dey & unit, CAL fcn 13 Disk - CAL adr,dv & unit,CAL fcn, oIC, File Not Found - The file name specified in the filnam CAL argument (CAL+2) is not in the file directory Magtape - CAL adr of the device associated with the specified .DAT Slot (.SEEK, .ENTER, • RAND, .DLETE, . RENA.II1, . RAND) . DEC tape - CAL adr 14 Directory Full - In response to a .ENTER the DECtape or MAGtape handler has determined that there is no space for an0ther file name. t-.l - - -- ~ Magtape - CAL adr DEC tape - CAL adr i rops ERROR CODES (Cont.) Error Data Output 1 :-1.eaning Error Code 15 Device Full - No space available on the device medium for data storage. Disk - CAL adr,dv & unit,CAL fen,UrC, Magtape - CAL adr,dv & unit,CAL fen _ DEC tape - CAL adr 16 Output Buffer Overflow - The word pair count on the current .WRITE is greater than 177 . (This error is obsolete and has been replaced by8 rops 23. ) CAL adr 17 Too many Files for Handler - Too many files are currently open on themndler to be referenced by this CAL. (See handler descriptions in Chapter 9 for limitations.) Disk - CAL adr,dv & unit,CAL fen,UIC MAgtape - CAL adr,dv & unit,CAL fcn DEC tape - CAL adr 20 Disk Hardware Failure - Block no.,dv & unit, CAL fcn, UIC 21 Illegal Disk Address - An attempt was made to -r -e ference a bioCk number which was either 0 or greater than the max imum number of l::iLocks available on the di.sk. Block no.,dv & unit, CAL fcn, UIC 22 Two Output Files on One Unit - An attempt was made to reference more than one output file concurrently on the same DECtape or ~agtape unit. Magtape - CAL adr,dv & unit,CAL fcn DEC tape - CAL address Illegal Word Pair Count - The word pair count in header word ~ of the logical record currently being transferred is either ~ or greater than 177 8 . Disk - CAL adr,dv & unit,CAL fcn,UIe filnarn Magtape - CAL adr, dv & unit, CAL fen , ___ Other devices - CAL adr. API Software Level Error - An API break occurred to a software API level which did not have the appropriate transfer vector(s) setup in .SCOM+12 through .SCOM+lS. Contents of the API Status Register Nonexistent Memor~ Reference - A nonexistent memory reference occurred '.,- ~ th memory protect mode ON without a user-defined v iolation routine. Program Counter . -- o I (.oJ 23 30 31 - I - .._- - lOPS ERROR CODES (Cont.) Error Data Output l Meaning Error Code 32 Memory Protect Violation - A reference was made to a location 1n memory below the memory protect boundary without a user-defined violation routine. Program Counter 33 Memory Parity Error - A memory parity error occurred without a user-defined error routine. Program Counter 34 Power Fail Skip Not Setup - The power failure inter- Program Counter rupt detected a power low condition with no userdefined service routin~ ~~save appropriate registers. 37 Print Line Overflow - The 8lst or l33rd character (depending on the line printer type) of the line currently being output is not a legal terminator. (Carriage RETURN, ALT MODE, FOR~ Feed, LINE FEED, Vertical TAB, etc.). The remainder of the line is lost. CAL adr,dv Header Label Error - During the processing of a .SEEK to a Magtape file, the handler calculated file name does not agree with the name present in the file header label. CAL adr Directory Format Error - Illegal or meaningless data was found in the Magtape file directory. CAL adr 42 Accessibility Hap Overflow - During the processing of an .ENTER to the Magtape unit, the accessibility Use map is found to be full. (Too many files.) MTDUMP to delete unwanted files to obtain space. CAL adr 43 Directory Recording Error - The file directory of the referenced ~1agtape h.as been contaminated. Use MTDUMP to reformat the directory. CAL adr o I ~ 40 41 I - I I lOPS ERROR CODES (Cont.) Error Code o Error Data Out~utl Meaning 44 Logical EaT Detected - The Magtape handler detected a logical End-of-Tape during the processing of a .SEEK or .ENTER. CAL adr,dv & unit,CAL fcn 45 Long Input Record - The record being input from Magtape ~3 too long for the handler's internal buffer (255HJ words maximum). CAL 46 Att~pt to Delete A S~stem File - An attempt has been made via a .OLETE to delete a file having a "'SYS" extension (applies to Advanced Monitor System DEC tapes only). CAL address 47 Illegal Horizontal Tab - An attempt has been made to issue a Horizontal TAB operation on the Line Printer which caused the column count to exceed the device's capacity for line length. CAL adr,dv Ille~al CAL adr,dv & unit,CAL fcn, UIC I lJ1 51 I/O: a. b. User File Director~ - When performing Disk ~dr,dv & unit,CAL fcn A .USER was issued using -1, ???, or @@@ as a UIC. A .SEEK was attempted to a nonexistent UFO. 55 No Buffers Available - A .GTBUF Macro was issued from either a handler or a user program with an insufficient number of buffers allocated (see BUFFS conunand, paragraph 8.6.1) . CAL adr,dv & unit,CAL fcn,UIC 61 Parity Error in DirectorY or File Bit Map - Defective data, device medium, or hardware Tsee Recovery procedure for DECtape in note 2 below). Disk - CAL adr,dv & unit,CAL fcn,UIC DECtape - CAL address 63 . Protected User File Oirector~ - Attempt to create (.ENTER) or delete (.DLETE) a file in a protected directory (see 9.3.5). CAL adr,dv & unit,CAL fen, UIC lOPS ERROR CODES (Cont.) Error Code Meaning Error Data output! 64 Protected File - Attempt to access a file via .RAND W1th protection codes 2 or 3~ or to .SEEK a disk file with protection code of i 3. CAL adr,dv & unit,CAL fcn, UIC ff!J UnrecOyerable Magtape Error - Magtape status word, dv,CAL,fcn 66 Relative Block Not Within File - Attempt to access (via .RTRANI a block not w~thin the li~its of the current file [i.e., block ~ or n+l). ; CAL adr,dv & unit,CAL fcn,UIC,filnam 67 Illegal DECdisk Word Transfer Starting , Address or Count - When issuing an .RTRAN: I a. The argument which specifies the first word i-fl t.he DEC .~()c~ • . d. Nonexistent submap.. .. . . CAL adr,dv & unit,CAL fen, UIC,filnam 7'5 Disk System File Structure Degradation Word 1 of subnap is greater than wora i or is ~ or negative. : CAL adr,dv & unit,CAL fcn,UrC,filnam 76 Disk s,stem File Structure Oesradati~n Word 3 6 of the first UFO or MFO black is 8 not -1.. .Typ~ CTRL. R tQcont:j,n~.~, . . ... CAL adr,dv & unit,CAL fcn,UIC,filnam 77 Undersized or Nonexistent CTRL 0 AREA - The system attempted to utill.ze a CTRL Q !area (via CTRL Q, QDUMP, GET, PUT, GETP, GETT, GETS keyboard commands) which was nonexistent or of insufficient size for the amount of core available. (The CTRL Q area is created during System Generation.) The address (IS-bits) to which control would have been passed if the requested operation had been successful. o I -.J _ .. -- - _ .. - - -- - -- - - -- --- - - - - - NOTES 1 3 Abbreviations: addr - address dv - device fcn a function filnam - file name Recovery procedures for lOPS 61: 1) Repeat operation which causes error. 2) If error persists, remount DECtape on another drive and repeat step 1. 3) If error still persists and you are very familiar with DECtape file structure and have a reasonably current directory listing, proceed as follows: a. Using DUMP, obtain a listing of each file in the directory listing. (The directory listing provides the starting block number for each file. The last (link) word in each block points to the next block. Negative block numbers indicate reverse recording. Last block has a link of 777777.) b. Use PIP to block copy each file onto a good tape. c. Use PATCH to construct a directory on the new tape. DO NOT WRITE ON THIS TAPE - IT HAS NO BIT ~PS. d. Use PIP to transfer each reconstructed file to still another tape (this reconstructs the master and file bit maps). These errors usually result from hardware failu~e or inadvertent manipulation of disk structure data areas. . APPENDIX E LINKING LOADER AND SYSTEM LOADER ERRORS The following error codes are output by both the Linking System Loader. Loade~ and the When output by the Linking Loader, the errors are identified as shown below. When output by the System Loader, the errors are identified as ".SYSLD n" instead of ".LOAD n". Error .LOAD 1 Memory overflow - the Loader's symbol table and the user's program have overlapped. At this point the Loader memory map will show the addresses of all programs loaded successfully before the overflow. Increased use of COMMON storage may allow the program to be loaded as COMMON can overlay the Loader and its symbol table, since it is not loaded into until run time. .LOAD 2 Input data error - parity error, checksum error, illegal data code, or buffer overflow (input line bigger than Loader's buffer) . • LOAD 3 Unresolved Globals - any programs or subroutines required but not found, whether called explicitly or implicitly, are indicated in the memory map with an address of 00000. If any of the entries in the memory map has a 00000 address, loading was not successful; the cause of trouble should be remedied and the procedure repeated • . LOAD 4 Illegal .DAT slot request - the .DATslot requested was: a. b. c. .LOAD 5 Out of range of legal .DAT slot numbers, Zero, Unassigned; that is, was not set up at System Generation Time or was not set up by an ASSIGN command. Program segment greater than 4K - the program segment being loaded in "age Mode exceeds a Page Bound (i.e., progra$ is qreater than 4K). E-l APPENDIX F PDP-15 ASCII/HOLLERITH CORRESPONDENCE The following table shows the correspondence between the PDP-IS 64 character graphic subset of ASCII and the DEC 029/026 Hollerith codes. Both 029 and 026 codes are identical for numberic and alphabetic characters but very for symbol representation. The 029 code, except as indicated by brackets [], is a subset of the standard Hollerith punched card code specified in ANSI standard X3.26-1970. in parentheses denote the 1963 character set ASCII HOLLERITH ASCII 7-BIT DEC 029 DEC 026 CHAR. CODE CODE CODE CHAR. Space ! " # $ % & , ( ) 1r + I / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? 40 41 42 43 44 45 46 47 50 51 52 53 54 55 56 57 60 61 62 63 64 65 66 67 70 71 72 73 74 75 76 77 @ [11-8-2] 8-7 8-3 11-8-3 0-8-4 12 8-5 12-8-5 11-8-5 11-8-4 12-8-6 0-8-3 11 12-8-3 0-1 0 1 2 3 4 5 6 7 8 9 8-2 11-8-6 12-8-4 8-6 0-8-6 0-8-7 12-8-7 0-8-5 0-8-6 11-8-3 0-8-7 11-8-7 8-6 0-8-4 12-8-4 11-8-4 12 0-8-3 11 12-8-3 0-1 0 1 2 3 4 5 6 7 8 9 11-8-2 0-8-2 12-8-6 8-3 11-8-6 12-8-2 A B C D E F G H I J K L M N 0 P Q R S T U V W X y , Z [ ] A - (t) (+) Characters HOLLERITH 7-BIT DEC 029 DEC 026 CODE CODE CODE 100 101 102 103 104 105 106 107 110 III 112 113 114 115 116 117 120 121 122 123 124 125 126 127 130 131 132 133 134 135 136 137 8-4 12-1 12-2 12-3 12-4 12-5 12-6 12-7 12-8 12-9 11-1 11-2 11-3 11-4 11-5 11-6 11-7 11-8 11-9 0-2 0-3 0-4 0-5 0-6 0-7 0-8 0-9 12-8-2 11-8-7 0-8-2 12-i-7 0-8-5 8-4 12-1 12-2 12-3 12-4 12-5 12-6 12-7 12-8 12-9 11-1 11-2 11-3 11-4 11-5 11-6 11-7 11-8 11-9 0-2 0-3 0-4 0-5 0-6 0-7 0-8 0-9 11-8-5 8-7 12-8-5 8-5 8-2 NOTES: 1. ASCII codes 00-37 and 140-177 have no corresponding codes in the DEC 026 & 029 Hollerith sets and therefore, are not presented here. 2. ALT MODE is simulated by a 12-8-1 punch (multiple punch A8). 3. End-of-file corresponds to a l2-1l-~-1 punch (multiple punch AjJ- ) • 4. The card reader hardware supplies the binary equivalent of Hollerith code which in turn, is mapped into 7-bit ASCII by the Card Reader Handler. F-l APPENDIX G DOS-1S CHECKOUT PROCEDURES INTRODUCTION The purpose of the 005-15 checkout package is to show that the system has been properly installed onto DECdisk or Disk Pack. It does so by briefly testing all the basic pieces of the DOS-1S System Software. The following is a list of programs tested: 1. OOS-lS Resident and Nonresident Monitors 2. PIP 3. FORTRAN Compiler and Object Time System 4. MACRO Assembler 5. Linking Loader and System Loader 6. Chain and Execute System Programs 7. System Device Handler (DECdisk or Disk Pack) 8. Paper Tape Reader Handler 9. Teleprinter Handler 10. BATCH System Commands 11. DOSSAV System SAVE/RESTORE program The batch paper tapes for the DOS-1S Checkout Package are identified as follows: RF.CHK (for the RF1S DECdisk System) DEC-1S-CIDA-PA RP.CHK (for the RP02 Disk Pack System) DEC-1S-CTAA-PA CHECKOUT PACKAGE OPERATION Load the DOS-15 System as described in Chapter 10. tape labeled "RF.CHK" Place the paper (if DECdisk systeml or "RP.CHK" (if Disk Pack system) in the paper tape reader and type: BATCH PR The commands contained on the tape will then run the checkout package to completion as indicated on the teleprinter before leaving Command Batching Mode. G-l CHECKOUT PACKAGE RESULTS The result from the FORTRAN Object Time System (shortly after the GLOAD command) should be: -~.123SE+fol3 Also the result of the Chain and Execute programs should be: -,e.1234E+folS Attached is a copy of the source listing of the DOS-1S Batch Tape Checkout Package. Please note that if you have a Disk Pack as your system device, this listing should read DP in commands instead of OK. Your Batch tape is correct for your system device. 'JOB L TURN ON ANO ~UN IN BANK MODE. THIS MODE Wl~L STAY IN E,rrCT UNTIL TURNEO OFr VIA 'PAGE ON' OR 'BANK orr'SANK ON LOGIN REN SJOB LOOK AT CONT[~T 0' 'B~K' uSC AND UIC NOT PR[SENT· L THIS TEST SHnwS L n .. OK (BNK) L n"OK ~OW TO REFERENCE DIFFERENT UIC'S VIA F'IPPyP IJiJ"'B L THESE rOMMANns T[ST THE rOLLOWINCI DOS-1' RESIDENT AND NON-RESIDENT MONITORS pIP SYSTEM PRoeRA'" pAPERTAPE READER HANOLER OISK HANDLERS (A.L) SJOB R /tIP A OK llTT 2/PP J/PR 4 R /t1F' 'JOB £STA~LISH USfR AAEA AND pIP ON rILE, I'll' N OK T OK F4T[ST s~e-PR (A) iOATA 1 100 READ (1,1021) A F'ORMAT (E12, 4) CALL "'IN (A,B) wRIH (2,1210) 8 STOP (NO nNO I. TT"OK T OK SRC .. PR (A) ~IN SOUA • TrTLE MIN .GLOf.;L MIN, ,OA (/J JMSJMP .OS4 .OSA L4CI)AC. ,OA ,+2+1 o o MIN1 MlIoJ2 lSi! MIla lSi! MIN2 MIN1 LACTAO. DAC. JMI'.ENO (4~000e MIN2 MIN $ENO L n"OK v OK r~TEST 5RC (AI V OK MIN SRC 'A) SJOB TEST EXPANDED rORTRAN COMPILER L THf rOLLOWING COMMANDS ~ILL TEST T~[ fORTRAN COMPILER BV GENERATING r4T[ST BIN rROM r4TEST SRC. A OKA ·13/TTA -12/0K4 -11 R r4 '4 a-'4TEST SJOB US( B,T.N.AND X SWITC~ts IN MACRO ~IST TEST I. THE FOLLOW!NG COMMANDS WILL TEST THE MACRO ASSEMBLER BV ASS£MBI.IIoJG MI~ SRC AND GENERATING MIN BIN, A OKA -1 4 ,-13.-11/TT4 -12.-10 R MACRO MAeRO q,T,N,X~MIN 'JOB PI' LIST OIRrCTORV TO !HOW N[W rILES AND OfSCRIPTDRS, L H .. OK (P) 'JOB L THr NEXT GROUP or COMMANDS WILL TESTI .LOAn-(LINKING LOADER) nTS-rORTRAN OBJECT TIME SYSTEM ,SYSLO-(SYSTEM LOADER) T~[RE ~ILL B~ ONE LINE Of OATA OUTPUT ON THE T[LETVP( fROM RUNNING THE fORTRAN AND MACRO (LINKED) PROG~AMS. SJOB DEMONSTRATE 33 1..1.. COO( fOR ID£~TlrYlNG RELOCATABL~ PGMS • • 'R 1/TrA 2 CI.OAO P-'4TEST,MIN~O'TA 1~3,"'567 ~JOB G-3 L T~f rOLLOwING eOMMANOS WILL CHAIN T~E rORTRAN AND MACRO TEST PROGRAM, AND THEN EXECUTE THEM, T~IS WILL COMPLETE THE TESTS USING TWO SYSTEM PROGRAMS, CHAI~ A~O EXECUTE. NOTE THAT LOADING ADDRESSES CHANG[ WITH CORE SllE II,E. 161<, 211lK, ne.l A DKA ·6,·4 •• 1/NO~ -5 Q CIolAIN elo4AJN ,.T[ST r4TEST,MIN $JOB EXECUTE C~AIN JUST ~utLT A 'RA 11TH 2 E '4TEST 'OATA 123,45E·2 SJoe L TM( 005-15 C~ECI(OUT PACKAGE TIo4E REQUIRED irSTS. ~AS JUST COMPLETED ALL or APPENDIX H DOS TERMS AND ACRONYMS Terms unique to the PDP-IS DOS Software System are listed and described in the followinq table. also given. The acronyms for each term are TERM ACRONYM Bad Allocation Table BAT A device (disk) table which indicates, in storage blocks, any faulty disk areas in which data cannot be stored. Master File Directory MFD A master device (disk) file directory which contains pointers to all user directories (UFO's) within a disk device. Monitor Identification Code MIC The master system password which permits full access to all files within the system. This code identif ies the system manager and should be used only by him. Storage Allocation Table SAT The device (disk) table which stores busy, not-busy indicators for the disk storage area. SYSBLK The system table which contains the names, locations, and loading and starting parameters for all system programs within the operating system. System Block User File Directory User File Directory Table User Identification Code DEFINITION UFO File directories for each user who established disk file storage areas within the system. UFDT The system directory table which maintains the relationship between the system's .DAT slots and each unique user identification code (UIC) • UIC A password entered by a user to uniquely define himself and any files which he may enter. If necessary, a user may enter more than one UIC to establish several unique sets of files. Since only one user may emplQY the system at anyone time, the current UIC is the last logged-in UIC. H-1 INDEX .. ADS and .ABSP Binary, 3-8 Absolute binary code, 3-8 Access to files, 4-4 directoried, 3-6, 4-7 non-directoried, 4-6 random, 4- 4 random-sequential, 4-4 sequential, 3-5, 4-5, 4-6, 6-3 Allocating buffer space, 6-14, 6-15, 6-16 Alphanumeric data, 6-7 ALT MODE, 6-9, 6-10, 8-2 API (Automatic Priority Interrupt), 3-4, 4-2 API ON/OFF command, 8-19 ASCII character packing (sixbit), 5-2 Hollerith correspondence, F-l packing and unpacking routines, B-1 standard character set, A-I Assembler, MACRO, 2-2, 2-3 ASSIGN command, 4-1, 8-12, 8-28 Automatic Priority Interrupt (API), 3-4, 4-2, 8-19 Bank mode operation, 3-9 BANK ON/OFF command, 8-20 BAT (Bad Allocation Table), H-l BATCH command, 8-26 Batching commands, 8-25 to 8-28 job control commands, 8-26 operator commands, 8-26 restrictions, 8-27 Binary code, absolute, 3-8 Binary, relocatable, 3-7, 3-8 .BLOCK pseudo-op, 6-14 Bootstrap program, 7-2, 7-8, 7-9 restart, 7-9 Bracket ([ ]) usage, 5-2 Buffer, I/O, 3-7 header words, 4-2 overflow, 6-6, 6-13 pool, 4-11 size for logical records, 6-4 size for VT display, 8-19 space allocation, 6-14 to 6-16 BUFFS command, 8-13 Calendar date entry, 8-21 Card files, 3-5 Card R ~a der handler, 9-27 to 9-29 Carriage return, 5-1, 6-9,6-10, 8-2 CHAIN and EXECUTE programs, 2-7 advantages, 2-7 disadvantages, 2-8 CHAIN .DAT slot assignments, 9-9 CHANNEL 7/9 command, 8-20 Characters, ASCII, A-I, F-l (nonprinting) for teleprinter functions, 9-12 Checkout package, 1-10 procedures, G-l Checksum, 6-5, 6-9 .CLEAR macro, 6-17 .CLOSE macro, 6-17, 6-31 Command Batching Mode restrictions, 8-27 Command default settings VT Display, 8-19 Command Batching Mode, 3-4 Commands Batching keyboard, 8-25 to 8-28 core allocation, 8-13, 8-14 core image Save/Restore, 8-14 to 8-17 DOSSAV, 7-3, 7-4 DOSSAV examples, 7-5, 7-6 file protection, 8-8 Input/output, 6-2 I/O device assignments, 8-10 keyboard, 3-3, 3-4, 8-1, 8-2 miscellaneous, 8-19 ·Monitor, 5-1 program start/restart/continue, 8-23, 8-25 to request system information, 8-3 VT15 Display, 8-17 to 8-19 Communications, I/O, 6-1 Compiler, FORTRAN IV, 2-1 Console keyboard, 8-1 Console teleprinter, 3-3 Core allocation commands, 8-13, 8-14 Core image Save/Restore commands, 8-14 to 8-17 CTRL commands, 8-2, A-I CTRL C, 8-23, 8-26 CTRL P, 8-23 CTRL Q, 8-15 CTRL R, 8-25, 8-26 CTRL S, 8-25 CTRL T, 8-25, 8-26 CTRL U, 8-2 CTRL X, 1-5, 8-19 .DAT (Device Assignment Table) 3-5, 4-1, 6-16, 8-8 .DAT slot assignments, 9-3 to 9-30 CHAIN, 9-9 DTCOPY, 9-10 DUMP, 9-8 .EDIT, EDITVP, EDITVT, 9-6 .DAT slot assignments (continued) EXECUTE, 9-9 FOCAL, 9-5 FORTRAN IV (F4), 9-3 Linking Loader and DDT, 9-6 MACRO-IS, 9-4 MTDUMP, 9-10 PATCH, 9-8 PIP, 9-7 SGEN, 9-7 SRCCOM, 9-9 8TRAN, 9-10 8 9TRAN, 9-10 UPDATE, 9-8 .DAT/.UFDT slot assignments, 8-13 Data fields, 6-4 storage, 6-10 transfers, 6-1 transfer program, 2-10 Data modes, see Modes $DATA command, 8-27 DATE command, 8-21 DDT (Dynamic Debugging Technique)2-9 DECdisk and Disk Pack handlers, 9-18 to 9-22 DEC tape directories, 4-6 file structure, 4-6 handlers, 9-17, 9-18 DECtape COpy (DTCOPY) Program, 2-11 Default device assignments, 4-1 Default protection code, 3-7, 8-9 Delimiters, keyboard commands, 8-2 Device assignments, 4-1 capabilities, 6-29 independence, 3-4 Device, directoried, 3-6 file-oriented, 3-6 system, 1-6 Device Assignment Table (.DAT), 3-5, 4-1, 6-16, 8-8 Device dependent I/O programming, 6-33 Device handler characteristics, 6-29 Device handlers, 3-4, 3-5, 9-10 also see Handlers, device Direct access, 3-5, 4-4 Directoried data access, 4-7 Directoried devices, 3-6 Directoried mode, 4-6 Disk data access, 4-7, 4-8 file structure, 4-8, 4-11 handlers, 4-11, 9-18 Disk pack handlers, 9-18 to 9-22 Disk restoration (DOSSAV), 7-2, example, 7-5 tapes, 7-1 Disk save, 7-6, 7-7 Display mode, -V'l'"15, - -8-17 X-2 .DLETE macro, 6-18 DOSSAV (disk restoration), 7-2 commands, 7-3 error conditions, 7-7 restart procedures, 7-8 DTCOPY (DEC tape COpy program), 2-11 .DAT slot assignments, 9-10 DUMP .DAT slot assignments, 9-8 Dump mode, 6-3, 6-6, 6-12, 6-14, 6-33 DUMP program, 2-9, 8-16 Dynamic Debugging Technique (DDT), 2-9 Editing features, keyboard commands, 8-2 Editing programs, EDIT, EDITVP, EDITVT, 2-10 .DAT slot assignments, 9-6 $END command, 8-27 End of file (EOF), 6-6, 8-22 End of medium (EOM), 6-6 .ENTER macro, 6-18, 6-33 Errors, 10-5 batching, 8-28 DOSSAV, 7-7, 7-8 lOPS, 0-1 Linking Loader, E-l system, E-l Example I/O programming, 6-33 EXECUTE program, 2-7 .DAT slot assignments, 9-9 $EXIT command, 8-27 .EXIT macro, 5-6 External globals, 3-9 Features of system, 1-2 Fields, data, 6-4 File directories, 3-6 integrity, 6-44 organization, disk, 4-11 processing, sequential, 6-3 protection 3-7, 4-9, 8-8 File-oriented devices, . 3-6 Files definition of, 4-2 direct access, 3-5 sequential, 3-5 Floating point processor software,7-l FOCAL .DAT slot assignments, 9-5 FOCAL interpreter, 2-4 Form control characters, 9-26 FORTRAN IV (F4), 2-2 Compiler, 2-1 .OAT slot assignments, 9-3 .FSTAT macro, 6-19 .FULL and .FULLP pseudo-ops, 3-8 Function characters (non-printing) for teleprinter, 9-12 GET command, 9-16, 9-17 .GET macro, 5-4 Global symbols, 2-3, 3-9 external, 3-9 internal, 3-9 .GLOBL pseudo-op, 3-9 GRAPHIC15 programs, 2-11 .GTBUF macro, 5-5 .GVBUF macro, 5-5 HALF ON/OFF command, 9-19 HALT command, 8-22 Handler characteristics, 6-29 Handlers, I/O device, 3-5,9-1 to 9-30 Card Reader, 9-27 DECdisk, 9-19 DECtape, 9-17 Disk pack, 9-19 • DOS-IS (summary), 9-1 Line Printer, 9-25 t1agtape, 9-23 Paper Tape Punch, 9-15 Paper Tape Reader, 9-15 Teleprinter, 9-11 VP15 Storage Tube, 9-29 Hardware errors, 7-8 malfunction, 7-9 minimum, 1-3 optional, 1 .. 5 Hardware Readin Mode, 7-3 Header word pair, 6-4, 6-12 format, 6-5 Hollerith/ASCII correspondence, F-l Image Alphanumeric Mode, 6-6, 6-10 Image Binary Mode, 6-6, 6-10 Image Mode, 6-3, 6-33 Independence, device, 3-4 Initializing handler, 6-29 system, 7-1 .INIT macro, 6-20, 6-29 Input/Output (I/O) buffers, 3-7 commands, 6-2 communication, 3-4, 6-1 control characters, A-l data mode terminators, C-l device assignment commands, 8-10 to 8-13 device handlers, see Handlers, I/O device device specification, 6-16 errors, 10-5 functions, Magtape, 9-24 macro descriptions, 6-16 to 6-28 macro syntax, 6-29 macros, using, 6-29 process, 4-1 programming examples, 6-33 to 6-43 transfer to directoried device,6-3l Input/Output Programming System (lOPS), 3-2 INSTRUCT command, 8-5 Internal globals, 3-9 Interpreter, FOCAL, 2-4 .IODEV pseudo-op, 6-16 lOPS (Input/Output Programming System), 3-2 ASCII mode, 6-6, 6-7 Binary mode, 6-6, 6-7, 6-9 error codes, 0-1 errors, 3 -10 mode, 6-3 $JOB, batching mode job separator, 8-26 KEEP ON/OFF command, 8-13 Keyboard commands, 3-3, 3-4, 8-1 8-2, 8-3 editing features, 8-2 Keyboard operations, 10-1 example, 10-2, to 10-8 Languages, 2-1 FOCAL Interpreter, 2-4 FORTRAN IV Compiler, 2-1 MACRO Assembler, 2-2 Library, science, 2-2 Library subprograms, 2-8 Library UPDATE program, 2-11 Line Printer handler, 9-25 to 9-27 Line Printer on/off, 8-20 Line terminators, 6-9 Linking Loader, 2-1, 2-8, 8-25 .DAT slot assignments, 9-6 errors, 3-10, E-1 Loader control, 3-8 Loader, system, 3-1 Loading commands, system program 8-23, 9-24 Loading Monitor, 7-8 program, 3-9 system, 7-1 Logical record, 6-4 format, 6-3 terminating condition, 6-4,C-l terminators, 6-12, 6-13 LOG command, 8-22 LOGIN, 3-6 LOGIN command, 8-8 LOGOUT command, 8-9 LP ON/OFF command, 8-20 X-3 Macro combinations, I/O, 6-30 Macros, 2-3 Macro sequence, I/O, 6-31 Macros, I/O, 6-2, 6-16 to 6-28 .CLEAR, 6-17 .CLOSE, 6-17 .DLETE, 6-18 .ENTER, 6-18 .FSTAT, 6-19 .INIT, 6-20 .MTAPE, 6-21 .RAND, 6-21 .READ, 6-22 .RENAM, 6-23 • RTRAN, 6-23 .SEEK, 6-24 .TRAN, 6-25 .USER, 6-26 .WAIT, 6-27 • WAITR, 6-27 • WRITE, 6-28 Macros, system, 5-1, 5-7 .EXIT, 5-6 .GET, 5-4 .GTBUF, 5-5 .GVBUF, 5-5 .OVRLA, 5-6 .PUT, 5-3 • TIMER, 5-7 Magnetic tape Wagtape), 4-5 handlers, 9-23 to 9-25 Magnetic Tape Dump (MTDUMP) utility program, 2-9 MACRO Assembler, 2-2, 2-3 MACRO-15 .DAT slot assiqnments, 9--4 Mass storage, .. 4:-3 DATE command, 8-21 devices, 6-4 Master File Directory (MFD), 3-6, 4-8, H-l Messages, see Errors MFD see Master File Directory MIC see Monitor Identification CodE ~lICLOG command, 8-9 Miscellaneous commands, 8-19 Modes Bank, 3-9, 8-20 Command Batching, 8-25 Data, 4-3, 6-6, 6-7, 6-14 Dump, 6-12, 6-14, 6-33 Image, 6-3, 6-33 Image Alphanumeric, 6-10 Image Binary, 6-10 lOPS, 6-3 lOPS Binary, 6-9 Page, 3-9, 8-20, 9-29 VT15 Display, 8-17, 8-18 Modification procedures, 7-10 Monitor, 1-1 commands, 5-1 destruction, 7-9 errors, 3-10, 10-5 functions, 3-1 loading and starting, 7-8 Monitor Identification Code (MIC), 2-6, 3-6, 7-1, 8-9, H-l Monitor/User interaction, 3-3 X-4 .MTAPE macro, 6-21 MTDUMP, 2-9 .DAT slot assignments, 9-10 Non-directoried access, 4-6 Non-parity lOPS ASCII, 6-8 Nonresident Monitor, 3-1 Object code, 3-7 Object program, relocatable, 2-1 Object Time System (OTS), 2-2 Operating errors, DOSSAV, 7-7,7-8 Operating procedures, 10-1 saving/restoring, 7-3 Overflow of buffer, 6-6, 6-13 .OVRLA macro, 5-6 Packing routine, lOPS ASCII, B-2 fage Mode operation, 3-9 PAGE ON/OFF command, 8-20 Paging Mode VT15, 8-18, 9-29 Paper tape files, 3-5 I/O, 6-12 Paper Tape Punch handlers,9-14,9-15 Paper Tape Reader handlers,9-15,9-l6 Parity, 6-8, 6-9 PATCH .DAT slot assignments, 9-7 PATCH utility program, 2-5, 2-6 $PAUSE command, 8-27 PDP-8 to PDP-9 Translator (89TRAN), 2-12 PDP-8 to PDP-1S Translator (8TRAN), 2-11 Peripheral Interchange Program (PIP), 2-10 • OAT slot assignments, 9-7 Priority Interrupt (PI), 3-4 skip chain order, 8-3 Programming example, I/O, 6-33 to 6-43 Programs, 2-1 loading, 3-9 Program start, restart, continue commands, 8-2, 8-23, 8-25 PROTECT command, 8-9 Protection codes, 3-7, 4-9, 8-9 default code, 3-7 PUT command, 8-15 .PUT macro. 5-3 QDUMP command, 8-15 Question/answer sequence, SGEN, 2-5 .RAND macro, 6-21 Random access, 4-4 Random-sequential access, .READ macro, 6-3, 6-22 Real-time clock, 1-6 4-4 Reassignment of .OAT slots, 9-12 Records definition of, 4-2 logical, 6-3 Relocatable binary, 3-7, 3-8 Relocatable object program, 2-1 Relocatable output, 3-7, 3-8 .RENAM macro, 6-23 REQUEST command, 8-8,8-10,8-11,8-28 Resident Monitor, 3-1 Restart bootstrap, 7-9 OOSSAV, 7-8 system program, 8-23 Restore core image, 8-16 Restoring procedures, 7-3 Retrieval Information Block (RIB),4-l1 RF15 DECdisk, 1-6 see also Disk RP~2 Disk Pack, 1-6 see also Disk Pack .RTRAN macro, 6-3, 6-23, 6-33 RUBOUT, 8-2 SAT (Storage Allocation Table), H-l Saving software, 7-3 Science library, 2-2 SCaM command, 8-3 SCaM (System Communication Table), 3-2, 6-16 Scroll mode, VT15, 8-18 .SEEK macro, 6-24, 6-33 7-bit ASCII characters, 6-7, 6-8 Sequential access, 4-4, 4-11 Sequential files, 3-5 processing, 6-3 structure, 4-5 SGEN, 2-4, 2-5, 7-10 . OAT slot assignments, ___9T7 _ Sixbit file representation, 5-2 ASCII character packing, 5-2 Software, 7-1 Software, system, 1-6, 1-8 how supplied, 1-10 Source Compare Program (SRCCOM), 2-11 .DAT slot assignments, 9-9 Spaces, 5-1, 5-2 Starting !1oni tor, 7-8 system, 7-1, 7-2 Storage device, 6-12 non-mass, 6-8, 6-33 Subprograms, library, 2-8 Symbolic names, 6-35 Symbols, global, 2-3, 3-8, 3-9 Syntax, I/O macro, 6-29 SYSBLK System Block, H-l .SYSLD see System Loader System concepts, 3-1 default parameters, 8-3 device, 1-6 featur e s, 1-2 hardwa:..a, 1-3 information, commands to request, 8-3 System (cont.) initialization, 7-1 loader, 3-1 loader errors, 3-10, E-l macros, expansions, 5-2 to 5-7 macros, summary, 5-1 modification procedures, 7-10 program errors, 10-5 program loading commands, 8-23, 8-24 programs, 2-1 software, 1-6, 1-8, 7-1 startup, 7-2 System Communication Table (.SCOM), 3-2, 6-16 System Generator (SGEN), 2-4, 2-5, 7-10 Tab, 5-1 Tailoring system, 7-10 Teleprinter, 3-3 console, 8-1 Teleprinter device handler, 8-20, 9-11 to 9-13 Teleprinter non-printing function characters, 9-12 Terminating condition, logical record, 6-4, C-l Termination of program, unconditional, 8-22 Terminator I/O, 6-31 keyboard command, 8-2 of logical record, 6-12, 6-13 Terms and acronyms, H-l Text Editor programs, 2-10 Text output, switching between teleprinter and VT~4 screen,8-19 TIME command, 8-21 .TIMER macro, 5-7 TlMEST command, 8-22 Track count, 9-23 .TRAN macro, 6-3, 6-25 8TRAN (PDP-8 to PDP-IS Translator program), 2-11 .DAT slot assignments, 9-10 89TRAN (PDP-8 to PDP-9 Translator program), 2-12 .DAT slot assignments, 9-10 Transfers to directoried devices, 6-31 33TTY ON/OFF -command, 8-20 UFO see User File Directory .UFDT see User File Directory Table UIC see User Identification Code Unpacking routines, lOPS ASCII, B-1 Up arvow (f ) usage, 8-19 UPDATE (Library UPDATE program),2-11 .DAT slot assignments, 9-8 x-S User File Directory (UFD) , 3-6, 4-8, H-l User File Directory Table, 3-6, 4-9, H-l User Identification Code, 3-6, 4-8, H-l .USER macro, 6-26 Using I/O macros, 6-29 Vertical form control characters, 9-26 VP15A Graphics software, 2-12 VP15A Storage Tube Display, 9-29,9-30 VT~4 Display Console, 1-5, 8-19 VT15 Display buffer size, 8-19 clearing display screen, 8-18 command default settings, 8-19 commands, 8-17 to 8-19 editing, 8-18 modes, 8-17 text switching between teleprinter and VT15, 8-19 VT15 Graphics software, 2-11 VT ON/OFF command, 8-18 .WAIT macro, 6-27 .WAITR macro, 6-27 Word count, 6-4, 6-6, 6-12 for .READ/.WRITE macros, 6-14 Word Pair Count, 6-4, 6-13 Words, definition of, 4-2 . WRITE command (macro), 6-3, 6-28 X4K ON/OFF command, 8-14 X-6 HOW TO OBTAIN SOFTWARE INFORMATION Announcements for new and revised software, as well as programming notes, software problems, and documentation corrections are published by Software Information Service in the following newsletters. Digital Software News for the PDP-8 & PDP-12 Digital Software News for the PDP-II Digital Software News for the PDP-9/15 Family These newsletters contain information applicable to software available from Digital's Program Library, Articles in Digital Software News update the cumulative Software Performance Summary which is contained in each basic kit of system software for new computers. To assure that the monthly Digital Software News is sent to the appropriate software contact at your installation, please check with the Software Specialist or Sales Engineer at your nearest Digital office. Questions or problems concerning Digital's Software should be reported to the Software Specialist. In cases where no Software Specialist is available, please send a Software Performance Report form with details of the problem to: Software Information Service Digital Equipment Corporation 146 tv'ta in Street, Bldg. 3-5 Maynard, tv'tassachusetts 01754 These forms which are provided in the software kit should be fully filled out and accompanied by teletype output as well as listings or tapes of the user program to facilitate a complete investigation. An answer will be sent to the individual and appropriate topics of general interest will be printed in the newsletter. Orders for new and revised software and manuals, additional Software Performance Report forms, and saftware price lists should be directed to the nearest Digital Field office or representative. U.S.A. customers may order directly from the Pro~rnm Library in Maynard. When ordering, include the code number and a brief descri ption of the software requested. Digital Equipment Computer Users Society (DECUS) maintains a user library and publishes a catalog of programs as well as the DECUSCOPE magazine for its members and non-members who request it. For further information please write to: DECUS Digital Equipment Corporation 146 Main Street, Bldg. 3-5 Maynard, Massachusetts 01754 ~OS-IS Users ~anual OEC-15-00UMA-A-0 READER'S COMMENTS Digital Equipment Corporation maintains a continuous effort to improve the quality and usefulness of its publications. To do this effectively we need user feedback -- your critical evaluation of this manual. Please comment on this manual's completeness, accuracy. organization, usability and readability. Did you find errors in this manual? If so, specify by page. How can this manual be improved? Other comments? Pleose state your position. Date: --------------------- ------Name: ---------------------------- Organization: -------~-----------Street: Department: -------------------------------------------------City: _____________ State: ___________ Zip ar Country_ _ _ _ __ - - - - - - - - - - - - - - - - - - - - - - - - - Fold Here - - - - - - - - - - - - - - - - - - - - _ .... 00 Not Tear - Fold Here and Staple - - - - - - - - - - - - FIRST CLASS PERMIT NO. 33 MA YNARO. MASS. BUSINESS REPLY MAIL NO POSTAGE STAMP NECESSARY IF MAILfO IN THF UNITED STAHS Postage will be paid by : lJamllla Digital Equipment Corporation Software Information Services 146 Main Street, Bldg. 3-S Maynard, Massachusetts 017S4
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.3 Linearized : No XMP Toolkit : Adobe XMP Core 4.2.1-c041 52.342996, 2008/05/07-21:37:19 Format : application/pdf Creator : hansp Title : Print UserManual.tif (222 pages) Create Date : 2003:02:06 18:43:18Z Creator Tool : pdfFactory http://www.pdffactory.com Modify Date : 2016:05:02 13:38:52-07:00 Metadata Date : 2016:05:02 13:38:52-07:00 Producer : Adobe Acrobat 9.0 Paper Capture Plug-in Document ID : uuid:99f0e1fe-bc87-c146-8476-76b3dc8024e0 Instance ID : uuid:16c1ff90-40a7-8d44-9b12-24bd506bc656 Page Count : 222 Author : hanspEXIF Metadata provided by EXIF.tools