.TITLE RNORSX .IDENT /M3.0X/ ; RUNOFF I/O DATA BASE ; ; AUTHOR: E. POLLACK U. OF W. 19-DEC-73 ; ; MODIFIED BY ; ; D. N. CUTLER 27-JUL-75 ; ; C. H. Spalding, Unimation, Dec. '82 ; ; MODIFICATIONS ; ; SIG01 INCREASE FSR ; SIG02 INCORPORATE RSTS CHANGES ; chs03 Make chapter-header spacing available as switch ; chs04 Add alternating-header switch ; chs39 Add LAYOUT and related switches ; chs40 Expand HEADER ; chs45 Add optional-text command-line switches ; chs49 Allow multiple input files & appending to output ; chs59 Add switch to limit chapters output ; ; MACRO LIBRARY CALLS .MCALL GCMLB$,FDBDF$,FDAT$A,FDOP$A,FDRC$A,NMBLK$,FSRSZ$ .MCALL CSI$SW,CSI$ND,CSI$SV ; LOGICAL UNIT ASSIGNMENTS ; ; LUN FOR ; ; 1 COMMAND INPUT ; 2 ?? ; 3 TERMINAL I/O (ERROR MESSAGES, WAIT REQUEST) ; 4 DATA INPUT ; 5 DATA OUTPUT ; FSRSZ$ 4,<512.*4+80.> ;SIG01-2 TTBLK:: FDBDF$ FDAT$A R.VAR,FD.CR FDOP$A 3,,TTFIL ;LUN=3 FDRC$A ,TTBUF,TTLIN TTFIL: NMBLK$ CMO,CMD TTIBLK::GCMLB$ 2,RNO,TTIBUF ;LUN=1 TTLDMY::FDBDF$ FDAT$A R.VAR FDOP$A 4,,TTLFIL ;LUN=4 TTLFIL: NMBLK$ RUNOFF,RNO,,SY,0 LSTBLK::FDBDF$ .IF NZ RSTS ;SIG02 FDAT$A R.STRM ;SIG02 .IFF ;SIG02 FDAT$A R.VAR ;SIG02 .ENDC ; -NZ RSTS ;SIG02 FDOP$A 5,,LSTFIL ;LUN=5 ;SIG02 LSTFIL: NMBLK$ RUNOFF,DOC,,SY,0 .PSECT SWTCH,GBL SWTBL:: CSI$SW SP,SPLSW,$SWTCH,SET,NEG ;SPOOLING SWITCH CSI$SW UC,UPCSW,$SWTCH,SET,NEG ;FORCE UPPER CASE CSI$SW HY,HYPSW,$SWTCH,SET,NEG ;HYPHENATION SWITCH CSI$SW UL,,,,,ULCVAL ;UNDERLINE CONTROL CSI$SW FF,FFDSW,$SWTCH,SET,NEG,FFVAL ;KICK PAGES WITH FORMFEEDS CSI$SW WA,PAUSW,$SWTCH,SET,NEG ;WAIT BETWEEN PAGES CSI$SW PA,,,,,PAGVAL ;LOWER/UPPER LIMIT TO PAGES .IF NZ SAVPS ;chs49b CSI$SW PS,PSZSW,$SWTCH,SET,,PSVAL ;PAGE SIZE ;chs49b .IFF ;chs49b CSI$SW PS,,,,,PSVAL ;PAGE SIZE .ENDC ; -NZ SAVPS ;chs49b .IIF NZ ALTHDR, CSI$SW AL,ALHSW,$SWTCH,SET,NEG ;"ALTERNATE" ENABLE ;chs04 .IIF NZ BLSW, CSI$SW BL,,,,,CHDVAL ;CHAPTER HEADER BLANK LINES ;chs03 .IF NZ LAYSW ;chs39a+ CSI$SW DO,DWNSW,$SWTCH,SET,,DOVAL ;TOP MARGIN CSI$SW LO,LNGSW,$SWTCH,SET,,LOVAL ;PAGE LENGTH CSI$SW LE,LFTSW,$SWTCH,SET,,LEVAL ;BASE LEFT MARGIN CSI$SW WI,WIDSW,$SWTCH,SET,,WIVAL ;PERMANENT RIGHT MARGIN .ENDC ; NZ LAYSW ;chs39a- .IIF NZ XHDRSW, CSI$SW HL,HLNSW,$SWTCH,SET,,HLVAL ;HEADER LENGTH ;chs40a .IF NZ OPTXSW ;chs45+ CSI$SW IN,OPTSW,$SWTCH,SET,,INVAL ;"INCLUDE" SELECTIONS CSI$SW EX,OPTSW,$SWTCH,SET,,EXVAL ;"EXCLUDE" SELECTIONS .ENDC ; NZ OPTXSW ;chs45- .IIF NZ APNDSW, CSI$SW AP,APNSW,$SWTCH,SET,NEG ;APPEND TO OUTPUT ;chs49a .IIF NZ CHSW, CSI$SW CH,,,,,CHPVAL ;LOWER/UPPER LIMIT TO CHAPTERS ;chs59 CSI$ND PAGVAL: CSI$SV DECIMAL,LOWPAG,2 CSI$SV DECIMAL,HGHPAG,2 CSI$ND ULCVAL: CSI$SV ASCII,ULSWT,2 CSI$ND FFVAL: CSI$SV DECIMAL,LPPG,2 ;HARDWARE FORM SIZE CSI$ND PSVAL: CSI$SV DECIMAL,PNLPG,2 ;PAGE SIZE CSI$SV DECIMAL,PRMRG,2 ;RIGHT MARGIN CSI$ND .IF NZ BLSW ;PERMIT SWITCH FOR ;chs03+ CHDVAL: CSI$SV DECIMAL,CHPSKP,2 ;CHAPTER HEADER BLANK LINES CSI$ND .ENDC ; NZ BLSW ;chs03- .IF NZ CHSW ;chs59+ CHPVAL: CSI$SV DECIMAL,LOCHAP,2 CSI$SV DECIMAL,HICHAP,2 CSI$ND .ENDC ; NZ CHSW ;chs59- .IF NZ LAYSW ;chs39a+ DOVAL: CSI$SV DECIMAL,TOPMRG,2 ;TOP MARGIN CSI$ND LOVAL: CSI$SV DECIMAL,PNLPG,2 ;PAGE LENGTH CSI$ND LEVAL: CSI$SV DECIMAL,BASMRG,2 ;BASE LEFT MARGIN CSI$ND WIVAL: CSI$SV DECIMAL,PRMRG,2 ;PERMANENT RIGHT MARGIN CSI$ND .ENDC ; NZ LAYSW ;chs39a- .IF NZ XHDRSW ;chs40a+ HLVAL: CSI$SV DECIMAL,HDRLEN,2 ;LENGTH OF HEADERS CSI$ND .ENDC ; NZ XHDRSW ;chs40a- .IF NZ OPTXSW ;chs45+ INVAL: CSI$SV DECIMAL,INCL1,2 ;"INCLUDE" SELECTIONS CSI$SV DECIMAL,INCL2,2 CSI$SV DECIMAL,INCL3,2 CSI$SV DECIMAL,INCL4,2 CSI$SV DECIMAL,INCL5,2 CSI$ND EXVAL: CSI$SV DECIMAL,EXCL1,2 ;"EXCLUDE" SELECTIONS CSI$SV DECIMAL,EXCL2,2 CSI$SV DECIMAL,EXCL3,2 CSI$SV DECIMAL,EXCL4,2 CSI$SV DECIMAL,EXCL5,2 CSI$ND INCL1:: .BLKW 1 ;BUFFERS FOR COMMAND-LINE INCL2:: .BLKW 1 ; "INCLUDE" SELECTIONS INCL3:: .BLKW 1 INCL4:: .BLKW 1 INCL5:: .BLKW 1 .WORD 0 ;END MARK EXCL1:: .BLKW 1 ;BUFFERS FOR COMMAND-LINE EXCL2:: .BLKW 1 ; "EXCLUDE" SELECTIONS EXCL3:: .BLKW 1 EXCL4:: .BLKW 1 EXCL5:: .BLKW 1 .WORD 0 ;END MARK NOPVAL ==<.-INCL1>/2 ;NUMBER OF WORDS HERE .ENDC ; NZ OPTXSW ;chs45- ULSWT:: .BLKB 2 ;BUFFER FOR UNDERLINE SWITCH .PSECT SPSAV:: .BLKW 1 $SWTCH::.BLKW 1 ;SWITCH WORD .END