	.TITLE	RNORSX
	.IDENT /M03.1/
	.radix	8
;
;
; AUTHOR: E. POLLACK U. OF W. 19-DEC-73
;
; MODIFIED BY:
;
;	D. N. CUTLER 27-JUL-75
;
; SIG MODIFICATIONS
;	SIG01
;
; CARTS LUG MODIFICATIONS
;	CAR 1 --> ADD RIGHT SWITCH
;
; RUNOFF I/O DATA BASE
;		Additions and changes by J. Clement 1983
;	1. LUN numbers changed in order
;	2. Extra luns added for .REQ files
;	3. TOC lun added
;	4. /CR,/EV,/OD switches added
;
; MACRO LIBRARY CALLS
;

	.MCALL	GCMLB$,FDBDF$,FDAT$A,FDOP$A,FDRC$A,NMBLK$,FSRSZ$
	.MCALL	CSI$SW,CSI$ND,CSI$SV,CSI$
	CSI$			; Define CSI offsets

;	LUN	FOR
;
;	1	COMMAND INPUT
;	2	TERMINAL I/O (ERROR MESSAGES, WAIT REQUEST)
;	3	DATA OUTPUT
;	4	DATA INPUT
;	5	DATA INPUT
;	6	DATA INPUT
;	7	DATA INPUT
;	8	DATA INPUT
;	9	Table of contents output
;
;
;	Defines which LUNS in use
;
	.psect	$VARS,RW,D,LCL,CON
LUNSTK::.BYTE	0,8.				; Defines luns in use
;
;	Define buffers for I/O
;
	FSRSZ$	8.,<512.*8.+80.>
;
;	Command parsing block
;
	.psect	$VARS,RW,D,LCL,CON
CSIBL1::.blkb	C.SIZE
;
;	Messages etc.
;
TTBLK::	FDBDF$
	FDAT$A	R.VAR,FD.CR
	FDOP$A	2,,TTFIL			; LUN=2
	FDRC$A	,TTBUF,TTLIN
TTFIL:	NMBLK$	CMO,CMD
;
;	Command input
;
TTIBLK::GCMLB$	1,RNO				; LUN=1
;
;	Input .RNO files
;
FDBTAB::.WORD	LUN4,LUN5,LUN6,LUN7,LUN8,0
LUN4::	FDBDF$
	FDAT$A	R.VAR
	FDOP$A	4,,INNAM			; LUN=4
INNAM::	NMBLK$	,RNO,,SY,0
LUN5:	FDBDF$
	FDAT$A	R.VAR
	FDOP$A	5,,INNAM			; LUN=5
LUN6:	FDBDF$
	FDAT$A	R.VAR
	FDOP$A	6,,INNAM			; LUN=6
LUN7:	FDBDF$
	FDAT$A	R.VAR				; Variable record size
	FDOP$A	7,,INNAM			; LUN=7
LUN8:	FDBDF$
	FDAT$A	R.VAR
	FDOP$A	8.,,INNAM			; LUN=8
;
;	.DOC output
;
LSTBLK::FDBDF$
	.IF	DF	RSTS			; SIG02
	FDAT$A	R.STRM				; SIG02
	.IFF					; SIG02
	FDAT$A	R.VAR				; SIG02
	.ENDC					; SIG02
	FDOP$A	3,,DOCFIL			; LUN=3		
DOCFIL:: NMBLK$	,DOC,,SY,0
;
;	TOC output block
;
TOCBLK::FDBDF$
	FDAT$A	R.VAR,FD.CR			; Normal editable file
	FDOP$A	9.,,TOCFIL			; LUN=9		
TOCFIL:: NMBLK$	,RNT,,SY,0
;
;	Defines all of the switches
;
;	Most switches set bits in $SWTCH /-SW clears bits
;		/SP sets SPLSW in $SWTCH
;		/UC sets UPCSW in $SWTCH
;		/HY sets HYPSW in $SWTCH
;		/UL:x puts x into ULCVAL
;		/FF sets FFDSW and puts number in FFVAL
;		/WA sets PAUSW in $SWTCH
;		/CR sets CRSW in $SWTCH
;		/PA puts values in LOWPAG,HGHPAG(2 numbers)
;		/CH puts values in LOWCHP,HGHCHP(2 numbers)
;		/AP puts values in LOWAPN,HGHAPN(2 numbers)
;		/EV clears bits #EVESW /-EV sets
;		/OD clears bits #ODDSW /-OD sets
;		/TT sets TTSW in $SWTCH
;		/2P sets PASSW in $SWTCH
;		/WR sets WARSW in $SWTCH
;		/EP sets EROSW in $SWTCH
;
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	CR,CRSW,$SWTCH,SET,NEG		; CR switch (output CR,LF)
	CSI$SW	PA,,,,,PAGUAL			; LIMITS TO PAGES
	CSI$SW	CH,,,,,CHPUAL			; LIMITS TO CHAPTERS
	CSI$SW	AP,,,,,APNUAL			; LIMITS TO APPENDICES
	CSI$SW	PS,,,,,PSVAL			; PAGE SIZE
	CSI$SW	RI,,,,,RIGVAL			; RIGHT SHIFT SWITCH
	CSI$SW	EV,EVESW,$SWTCH,CLEAR,NEG	; Set up for even output
	CSI$SW	OD,ODDSW,$SWTCH,CLEAR,NEG	; Set up for odd output
	CSI$SW	DE,DEBSW,$SWTCH,SET,NEG		; Set up for debug switch
	CSI$SW	TT,TTSW,$SWTCH,SET,NEG		; Set up for terminal switch
	.ifdf	$PASS
	CSI$SW	2P,PASSW,$SWTCH,SET,NEG		; Set up for debug switch
	.endc
	CSI$SW	WR,WARSW,$SWTCH,CLEAR,NEG	; Set up for warnings switch
	CSI$SW	EP,EROSW,$SWTCH,SET,NEG		; Set up for warnings switch
	CSI$ND

PAGUAL:	CSI$SV	DECIMAL,LOWPAG,2		; Page output limits
	CSI$SV	DECIMAL,HGHPAG,2
	CSI$ND
CHPUAL: CSI$SV	DECIMAL,LOWCHP,2		; Chapter output limits
	CSI$SV	DECIMAL,HGHCHP,2
	CSI$ND
APNUAL:	CSI$SV	DECIMAL,LOWAPN,2		; Appendix output limits
	CSI$SV	DECIMAL,HGHAPN,2
	CSI$ND
ULCVAL:	CSI$SV	ASCII,ULSWT,2			; Underline values
	CSI$ND
FFVAL:	CSI$SV	DECIMAL,I$HLPG,2		; HARDWARE FORM SIZE
	CSI$ND
PSVAL:	CSI$SV	DECIMAL,I$LPG,2			; PAGE SIZE
	CSI$SV	DECIMAL,PRMRG,2			; RIGHT MARGIN
	CSI$ND
RIGVAL:	CSI$SV	NUMERIC,RIGSHI,2		; Right shift
	CSI$ND
	.END

