--- /dev/null
+
+&
+
+ OS/78 V1
+
+ COMMAND SUMMARY
+
+ASSIGN ASSIGN NAME TO DEVICE LOAD LOAD FILE
+BASIC ENTER BASIC SYSTEM MAP PRINT BITMAP
+COMPARE COMPARE SOURCE FILES MEMORY RESTRICT MEMORY USAGE
+COMPILE COMPILE FILE ODT RUN OCTAL DEBUGGER
+COPY COPY FILE PAL ASSEMBLE FILE
+CREATE OPEN EDIT FILE R RUN PROGRAM FROM SYS
+CREF ASSEMBLE AND CREF RENAME RENAME FILE
+DATE SPECIFY DATE RUN RUN PROGRAM
+DEAS DEASSIGN LOGICAL DEVICES SAVE SAVE MEMORY IMAGE
+DELETE DELETE FILE SET ALTER DEVICE
+DIRECT PRINT DIRECTORY SQUISH SQUISH DEVICE
+DUPLIC COPIES DISKETTES START START PROGRAM
+EDIT EDIT FILE SUBMIT START BATCH
+EXECUTE COMPILE AND RUN TERMIN ENTER TERMINAL MODE
+GET GET MEMORY IMAGE TYPE TYPE FILE
+HELP LIST HELP INFORMATION U[A-C] STORE COMMAND
+LIST LIST FILE ZERO ZERO DEVICE
+\f
+&ABSLDR
+ ABSLDR.SV
+
+@CALLING COMMANDS:
+.LOAD DEV:BINFILE.BN,...
+.LOAD BINFILE.BN,... /FROM DSK
+
+@SWITCHES:
+/8 PROG DOESN'T USE BELOW 02000
+/9 PROG DOESN'T USE BELOW 12000
+/G GO
+/I MEMORY IMAGE FILE
+/R RESET
+/S MULTIPLE BINARIES/FILE
+/N FORCE LOADING TO FIELD N (N IS AN OCTAL DIGIT)
+=FNNNN SET STARTING ADDRESS
+\f
+&BASIC
+ BASIC.SV
+
+@CALLING COMMANDS:
+.BASIC
+
+@INTERNAL COMMANDS:
+BYE EXIT FROM BASIC
+LIST LIST CURRENT PROGRAM'S STATEMENTS
+NAME RENAME CURRENT PROGRAM
+NEW PREPARE FOR A NEW PROGRAM
+OLD RETRIEVE AN OLD PROGRAM
+RUN RUN CURRENT PROGRAM
+SAVE SAVE CURRENT PROGRAM
+SCRATCH DELETE CURRENT PROGRAM
+
+.HELP BCOMP PRINTS BASIC COMPILER ERROR MESSAGES
+.HELP BRTS PRINTS BASIC RUN-TIME ERROR MESSAGES
+\f
+&BCOMP
+ BCOMP.SV (ERRORS)
+
+@ERRORS:
+CH ERROR IN CHAIN STATEMENT NM MISSING LINE NUMBER
+DE ERROR IN DEF STATEMENT OF OUTPUT FILE ERROR
+DI ERROR IN DIM STATEMENT PD PUSHDOWN STACK OVERFLOW
+FN ERROR IN FILE NUMBER OR NAME QS STRING LITERAL TOO LONG
+FP INCORRECT FOR STATEMENT SS BAD SUBSCRIPT OR FUNCTION ARG
+FR ERROR IN FUNCTION ARGS ST SYMBOL TABLE OVERFLOW
+IF ERROR IN IF STATEMENT SY SYSTEM INCOMPLETE
+IO I/O ERROR TB PROGRAM TOO BIG
+LS MISSING EQUALS SIGN IN LET TD TOO MUCH DATA IN PROGRAM
+LT STATEMENT TOO LONG TS TOO MANY CHARS IN STRING
+MD MULTIPLY DEFINED LINE NUMBER UD ERROR IN UDEF STATEMENT
+ME MISSING END STATEMENT UF FOR STATEMENT WITHOUT NEXT
+MO OPERAND EXPECTED, NOT FOUND US UNDEFINED STATEMENT NUMBER
+MP PARENTHESIS ERROR UU USE STATEMENT ERROR
+MT OPERAND OF MIXED TYPE XC CHARS AFTER END OF LINE
+NF NEXT STATEMENT WITHOUT FOR
+\f
+&BRTS
+ BRTS.SV (ERRORS)
+
+@ERRORS:
+BO NO MORE BUFFERS AVAILABLE GS TOO MANY NESTED GOSUBS
+CI IN CHAIN,DEVICE NOT FOUND IA ILLEGAL ARG IN UDEF
+CL IN CHAIN,FILE NOT FOUND IF ILLEGAL DEV:FILENAME
+CX CHAIN ERROR IN INQUIRE FAILURE
+DA READING PAST END OF DATA IO TTY INPUT BUFFER OVERFLOW
+DE DEVICE DRIVER ERROR LM TAKING LOG OF NEGATIVE NUMBER
+DO NO MORE ROOM FOR DRIVERS OE DRIVER ERROR WHILE OVERLAYING
+DV ATTEMPT TO DIVIDE BY ZERO OV NUMERIC OR INPUT OVERFLOW
+EF LOGICAL END OF FILE PA ILLEGAL ARG IN POS
+EM NEGATIVE NUMBER TO REAL POWER RE READING PAST END OF FILE
+EN ENTER ERROR SC CONCATENATED STRING TOO LONG
+FB USING FILE ALREADY IN USE SL STRING TOO LONG OR UNDEFINED
+FC CLOSE ERROR SR READING STRING FROM NUMERIC FILE
+FE FETCH ERROR ST STRING TRUNCATION ON INPUT
+FI CLOSING OR USING UNOPENED FILE SU SUBSCRIPT OUT OF RANGE
+FM FIXING NEGATIVE NUMBER SW WRITING STRING INTO NUMERIC FILE
+FN ILLEGAL FILE NUMBER VR READING VARIABLE LENGTH FILE
+FO FIXING NUMBER > 4095 WE WRITING PAST END OF FILE
+GR RETURN WITHOUT GOSUB
+\f
+&COMPAR
+ SRCCOM.SV
+
+@CALLING COMMANDS:
+.COMPAR DEV:OUTFILE.PA<DEV:INFILE1.PA,DEV:INFILE2.PA
+.COMPAR OUTFILE.PA<INFILE1.PA,INFILE2.PA /FILES ON DSK
+
+@SWITCHES:
+/B COMPARE BLANK LINES
+/C DON'T COMPARE (SLASHED) COMMENTS
+/S DON'T COMPARE TABS AND SPACES
+/T CONVERT TABS TO SPACES ON OUTPUT
+/X DON'T COMPARE OR PRINT COMMENTS
+
+@ERRORS:
+?0 INSUFFICIENT MEMORY
+?1 INPUT ERROR FILE 1 (OR LESS THAN 2 INPUT FILES)
+?2 INPUT ERROR FILE 2
+?3 OUTPUT FILE TOO LARGE
+?4 OUTPUT ERROR
+?5 CAN'T OPEN OUTPUT FILE
+\f
+&CREF
+ CREF.SV
+
+@CALLING COMMANDS:
+.CREF DEV:BINFILE.BN,DEV:LISTFILE.LS,DEV:TEMPFILE.TM<DEV:INFILE.PA
+.CREF DEV:INFILE.PA /LISTING TO LINE PRINTER ONLY
+.CREF INFILE.PA /LISTING TO LINE PRINTER, INPUT FILE ON DSK
+
+@SWITCHES:
+/E DON'T DELETE CREFLS.TM
+/M MAMMOTH (TWICE AS MANY SYMBOLS, TWICE AS SLOW)
+/P NO PASS 1 LISTING
+/U NO LISTING OR SYMBOL TABLE
+/X NO LITERALS
+\f
+&DIRECT
+ DIRECT.SV
+
+@CALLING COMMANDS
+.DIR DEV:FILETYPE /* IS WILD NAME OR EXTENSION
+.DIR FILETYPE /? IS WILD CHARACTER
+
+@SWITCHES:
+/B INCLUDE STARTING BLOCK NUMBERS (OCTAL)
+/C LIST ONLY FILES WITH CURRENT DATE
+/E INCLUDE EMPTIES
+/F FAST MODE
+/M LIST EMPTIES ONLY
+/O LIST ONLY FILES WITH OTHER THAN TODAY'S DATE
+/R LIST REMAINDER OF FILES AFTER FIRST ONE (BUT USE /C,/O)
+/U TREAT EACH INPUT SPECIFICATION SEPARATELY
+/V LIST FILES NOT OF FORM SPECIFIED
+/W GIVE VERSION NUMBER
+=N USE N COLUMNS
+\f
+&DUPLIC
+ RXCOPY.SV
+
+@CALLING COMMANDS:
+.DUPLIC OUTDEV:<INDEV:
+
+@SWITCHES:
+/M MATCH WITH NO IMPLIED COPY
+/N COPY WITH NO IMPLIED MATCH
+/P PAUSE BEFORE AND AFTER ACCESSING DISK
+/R READ OUTPUT DEVICE WITH NO IMPLIED COPY OR MATCH
+/V PRINT VERSION NUMBER
+\f
+&EDIT
+&CREATE
+ EDIT.SV
+
+@CALLING COMMANDS: INTERNAL COMMANDS:
+.EDIT DEV:OUTFILE.PA<DEV:INFILE.PA A APPEND TEXT
+.CREATE OUTFILE.PA B LIST # LOCATIONS LEFT
+\r C CHANGE TEXT
+@SWITCHES: D DELETE TEXT
+/A RETURN TO EDITOR ON CLOSE E TRANSFER REST OF DATA,CLOSE
+/B CONVERT SPACES TO TAB F AFTER J,RESUME SEARCH
+/D PREDELETE G GET AND LIST TAGGED LINE
+ I INSERT TEXT
+@ERRORS: J INTER-BUFFER SEARCH
+?0 INPUT ERROR K KILL BUFFER
+?1 OUTPUT ERROR L LIST TEXT
+?2 CLOSE ERROR M MOVE TEXT
+?3 OPEN ERROR N WRITE TEXT,READ NEXT PAGE
+?4 COULDN'T LOAD HANDLER P WRITE BUFFER TO OUTPUT
+ Q IMMEDIATE END OF FILE
+ R READ FROM INPUT DEVICE
+ S CHARACTER SEARCH
+ V LIST ON LINE PRINTER
+ Y INPUT PAGE,NO OUTPUT
+\f
+&FORTRAN
+&F4
+ F4.SV
+
+@CALLING COMMANDS:
+.COMPILE DEV:RALFFILE.RL,DEV:LISTFILE.LS,DEV:MAPFILE.MP<DEV:INFILE.FT
+.COMPILE INFILE.FT /FROM DSK
+
+@SWITCHES:
+/N SUPPRESS INTERNAL STATEMENT NUMBERS
+/Q OPTIMIZE
+
+.HELP F4ERR PRINTS FORTRAN ERROR MESSAGES
+\f
+&F4ERR
+ MK MISSPELLED KEYWORD
+AA TOO MANY ARGS ARE ARRAYS ML MULTIPLY DEFINED LINE NUMBERS
+AS BAD ASSIGN STATEMENT MM MISMATCHED PARENTHESIS
+BD BAD DIMENSIONS MO EXPECTED OPERAND MISSING
+BS BAD STATEMENT IN BLOCK DATA MT MIXED VARIABLE TYPES
+CL BAD COMPLEX LITERAL OF ERROR WRITING OUTPUT FILE
+CO SYNTAX ERROR IN COMMON OP ILLEGAL OPERATOR
+DA BAD SYNTAX IN DATA STATEMENT OT WRONG OPERAND TYPE
+DE ILLEGAL STATEMENT AT END OF DO PD COMPILER STACK OVERFLOW
+DF BAD DEFINE FILE STATEMENT PH BAD PROGRAM HEADER LINE
+DH HOLLERITH FIELD ERROR QL NESTING ERROR IN EQUIVALENCE
+DL WRONG DATA/VARIABLE LIST LENGTH QS SYNTAX ERROR IN EQUIVALENCE
+DN DO-END MISSING RD REDEFINING VARIABLE DIMENSIONS
+DO SYNTAX ERROR IN DO RT REDEFINING VARIABLE TYPE
+DP BAD DO LOOP PARAMETER RW SYNTAX ERROR IN READ/WRITE
+EX SYNTAX ERROR IN EXTERNAL SF BAD ARITHMETIC FUNCTION
+GT SYNTAX ERROR IN GOTO SN ILLEGAL NAME IN CALL
+GV VARIABLE NOT INTEGER OR REAL SS SUBSCRIPT EXPRESSION ERROR
+HO HOLLERITH FIELD ERROR ST SYMBOL TABLE FULL
+IE ERROR READING INPUT FILE SY SYSTEM ERROR
+IF IMPROPER STATEMENT TD BAD SYNTAX IN TYPE DECLARATION
+LI BAD ARG TO LOGICAL IF US UNDEFINED STATEMENT NUMBER
+LT INPUT LINE TOO LONG VE VERSION ERROR
+\f
+&LOAD
+ LOAD.SV
+
+@CALLING COMMANDS:
+.LOAD DEV:OUTFILE.LD<DEV:INFILE1.RL,...
+
+@SWITCHES:
+/C MORE INPUT TO LOAD
+/G CHAIN TO RUN-TIME SYSTEM
+/L ACCEPT LIBRARY FILE
+/S SYMBOL MAP
+\f
+&MAP
+ BITMAP.SV
+
+@CALLING COMMANDS:
+.MAP MAPFILE.MP<INFILE.BN,...
+
+@SWITCHES:
+/N FORCES MAPPING OF ALL FILES TO FIELD N (0-7)
+/R RESET INTERNAL MAP
+/S ALLOW MULTIPLE BINARIES PER FILE
+/T INVERT TTY-STYLE OUTPUT SWITCH
+\f
+&ODT
+ ODT
+
+@CALLING COMMANDS:
+.ODT
+
+@INTERNAL COMMANDS:
+NNNNN/ OPEN LOC N+ OPEN CURRENT LOC+N
+/ REOPEN LAST OPENED LOC N- OPEN CURRENT LOC-N
+NN DEPOSIT NN IN OPEN LOC NNG GO
+<CR> CLOSE PREVIOUSLY OPENED LOC NNB ESTABLISH BREAKPOINT
+<LF> CLOSE LOC, OPEN NEXT LOC B REMOVE BREAKPOINT
+^ CLOSE,OPEN LOC ADDRESSED A OPEN AC
+_ CLOSE,OPEN LOC POINTED TO L OPEN LINK
+M OPEN SEARCH MASK C CONTINUE FROM BREAKPOINT
+ <LF> OPEN LOWER SEARCH LIMIT NNC CONTINUE NN TIMES
+ <LF> OPEN UPPER SEARCH LIMIT D OPEN DATA FIELD
+NNW SEARCH FOR NN IN LIMITS F OPEN FIELD FOR ^,_, W
+^O SUPRESS PRINTING
+\f
+&PAL
+ PAL8.SV
+
+@CALLING COMMANDS:
+.PAL DEV:BINFILE.BN,DEV:LISTFILE.LS,DEV:TEMPFILE.TM<DEV:INFILE.PA/C
+.PAL INFILE.PA
+
+@SWITCHES:
+/B TREAT ! AS BYTE SHIFT /K USE EXTRA MEMORY
+/C CHAIN TO CREF /L LOAD
+/E ENABLE ERROR MSG ON LINK GENERATED /N NO LISTING
+/F DISABLE 0-FILL IN TEXT /O DISABLE ORIGIN 200
+/G GO /S NO SYMBOL TABLE
+/H NON-PAGINATED OUTPUT /T NO FORM FEEDS
+/J DON'T LIST LINES CONDITIONALIZED OUT /W DON'T REMEMBER LITERALS
+
+.HELP PALERR PRINTS PAL8 ERROR MESSAGES
+\f
+&PALERR
+ PAL8.SV (ERRORS)
+
+@ERRORS:
+BE TABLES OVERLAPPED
+CF CREF.SV NO ON SYS:
+DE DEVICE ERROR
+DF DEVICE FULL
+IC ILLEGAL CHARACTER
+ID ILLEGAL REDEFINITION
+IE ILLEGAL EQUALS
+II ILLEGAL INDIRECT
+IP ILLEGAL PSEUDO-OP
+IZ ILLEGAL PAGE ZERO REF
+LD SYS:ABSLDR.SV NOT FOUND
+LG LINK GENERATED
+PE PAGE EXCEEDED
+PH END OF SOURCE CONDITIONALIZED OUT
+RD REDEFINITION
+SE SYMBOL TABLE EXCEEDED
+UO UNDEFINED ORIGIN
+US UNDEFINED SYMBOL
+ZE PAGE 0 EXCEEDED
+\f
+&SET
+ SET.SV
+
+@CALLING COMMANDS:
+.SET DEV PARAMETER(S)
+.SET DEV NO PARAMETER(S)
+
+@PARAMETERS:
+READONLY DECLARE DEVICE TO BE READ ONLY
+WIDTH N SET WIDTH OF LINE PRINTER OR TTY
+LC DECLARE LINE PRINTER OR TTY TO HAVE LOWER CASE
+ECHO RESTORE TTY CHARACTER ECHOING
+PAGE RESTORE TTY ^S AND ^Q FACILITIES
+SCOPE ERASE CHARACTER ON TTY RUBOUTS
+ESC DISPLAY ESC(ASCII 033) WITHOUT CONVERTING IT TO $ SIGN
+ARROW DISPLAY CONTROL CHARACTERS WITH UP ARROW (E.G. ^C, ^S)
+HEIGHT [M] SET TTY SCREEN HEIGHT
+PAUSE [N] SET TTY PAUSE TIME
+COL N SET DIRECT TO USE N COLUMNS (.SET TTY COL 2)
+INIT XXXXX CAUSE SYS TO EXECUTE XXXXX ON BOOTSTRAPPING
+\f
+&SUBMIT
+ BATCH.SV
+
+@CALLING COMMANDS:
+.SUBMIT SPOOLDEV:<INPUTDEV:FILE.BI
+
+@SWITCHES:
+/E DON'T ABORT ON MONITOR, CD AND CCL ERRORS
+/Q NO BATCH LOG
+/H HUSH
+/T OUTPUT TO TTY
+/U UNATTENDED
+\f
+&LIST
+©
+&RENAME
+&DELETE
+&TYPE
+ FOTP.SV
+
+@CALLING COMMANDS:
+.COPY DEV:OUTFILE.EX<DEV:INFILE.EX /* IS WILD NAME OR EXTENSION
+.REN DEV:NEWFILE.EX<DEV:OLDFILE.EX /? IS WILD CHARACTER
+.DEL DEV:FILE.EX
+.LIST DEV:FILE.EX /= .COPY LPT:<DEV:FILE.EX
+.TYPE DEV:FILE.EX /= .COPY TTY:<DEV:FILE.EX
+
+@SWITCHES:
+/C MATCH ONLY FILES WITH CURRENT DATE
+/F REQUEST NEW DEVICE IF OUT OF ROOM
+/L TYPE LOG OF INPUT FILENAME MATCHES
+/N NO PRE-DELETE
+/O MATCH ONLY FILES WITH OTHER THAN TODAY'S DATE
+/Q QUERY USER ABOUT FILE BEFORE OPERATION
+/T USE TODAY'S DATE
+/U TREAT EACH INPUT SPECIFICATION SEPARATELY
+/V MATCH FILES NOT OF FORM SPECIFIED
+/W PRINT VERSION #
+\f
+&ASSIGN
+&DATE
+&DEASSIGN
+&GET
+&MEMORY
+&R
+&RUN
+&SAVE
+&START
+&SQUISH
+&TERMIN
+&UA
+&ZERO
+ KEYBOARD AND OTHER COMMANDS
+
+@CALLING COMMANDS:
+.ASSIGN DEV NAME /ASSIGN NAME TO DEVICE
+.DAY DD-MON-YY /ENTER DATE INTO SYSTEM
+.DEASSIGN /DEASSIGN LOGICAL DEVICE NAMES
+.GET DEV FILE.EX /LOAD MEMORY IMAGE
+.MEMORY N /SPECIFIES HIGHEST FIELD AVAILABLE
+.R FILE /EXECUTE FILE.SV FROM SYS
+.RUN DEV FILE.EX /EXECUTE FILE.EX FROM THE DEVICE
+.SAVE DEV FILE.EX /SAVE MEMORY IMAGE
+.SQUISH DEV: /COMPRESS FILE STORAGE ON DEVICE
+.START FNNNN /START EXECUTION
+.TERMIN /ENTER TERMINAL MODE
+.UA COMMAND /SAVE COMMAND(.UA<CR> EXECUTES IT)
+.ZERO DEV: /ZERO DEVICE'S DIRECTORY
+\f\f