	.NLIST
	.ENABL	LC			; Allow lower case chars
;
;
;
; RUNOFF PREFIX FILE
;
;	Extensive additions by J. CLEMENT
;			Bonner Lab, Rice Univ.
;			Box 1892, Houston, Tx.
;				77251
;
;	Conditional definitions
;
;		Note: RT11 symbol is defined by RT build command files
;	so you do not need to change it.  It is documented here for your
;	convenience.
;
;RT11	=0		; remove (;) if running on RT-11 or TSX
dblbuf	=0		; add	 (;) for no double buffering on RT-11
$FLORD	=1		; add    (;) to remove escape seq for FLORIDA DATA
;$DIAB	=1		; remove (;) to define escape seq for Diablo etc.
;$12pt	=1		; remove (;) to define varsp for 12 pitch Diablo
;$DEBUG	=1		; remove (;) to get debugging aids
;		Debugging aids are only needed if you make major changes to 
;		RNO and need to look at the output in detail.
H$$PHN	=0		; add    (;) if autohyphenation not desired
$DIGR	=0		; add	 (;) for no heuristic hyphenation
$EIS	=0		; add    (;) for CPU without EIS
;RSTS	=0		; remove (;) if running on RSTS/E
;				NOTE: RSTS compatability not guaranteed !!
$PASS	=0		; add	 (;) to remove 2 pass mode
;
;	Parameters
;
;	These parameters may be made installation dependent
;	You may change these to set up your installation defaults.
;
LINSP=2.			; Partial spacing per line (do not change)
;		Linsp defines how may partial lines/sub or superscript
;		normally this is 2.
;
COMSIZ=40.			; Maximum chars/command label
SUBMAX=20.			; Maximum chars/substitution
IFMAX=10.			; Maximum chars/if label
LISSIZ=5.			; Number of lists available
ILSTTP=2.			; INITIAL LIST ELEMENT PAGE TEST COUNT
ILSTVS=1.			; INITIAL LIST ELEMENT VERTICAL SPACING
IPARIN=5.			; Initial paragraph indentation
IPARTP=2.			; INITIAL PARAGRAPH PAGE TEST
IPARVS=1.			; INITIAL PARAGRAPH VERTICAL SPACING
IRMRG=60.			; INITIAL RIGHT MARGIN
ILMRG=0.			; INITIAL LEFT MARGIN
ITMRG=0.			; INITIAL TOP MARGIN
IHSPAC=3.			; Initial header spacing
HWPLN=66.			; Hardware lines per page
INLPG=58.			; INITIAL LENGTH OF PAGE
LOLMAR=9.			; INITIAL LEFT MARGIN INDENT ON LISTS
LSLMAR=4.			; LEFT MARGIN INDENT ON EMBEDDED LISTS
NHSPAC=2.			; INITIAL VERTICAL SPACING BEFORE NOTES
NASPAC=1.			; Vertical spacing after note title
NFSPAC=2.			; FINAL VERTICAL SPACING AFTER NOTES
NPMARG=20.			; PRIMARY MARGIN CHANGE ON NOTES
NSMARG=5.			; SECONDARY MARGIN CHANGE ON NOTES
ISPNG=1.			; STANDARD LINE SPACING
CBNSP=3.			; CHAR OFFSET FOR CHANGE BARS
MINPG=16.*LINSP			; Min page length in partial lines
MINLN=16.			; Min line length
MAXPS=5.			; Max paragraph spacing allowed
LEVSIZ=6.			; Max number of header levels
;				; Note the number of header levels may be
;				; increased, but only the first 6 may have
;				; pre and post-fixes.
;
;	The following control the .DISPLAY commands
;
CH.HD1=10.		; Number of characters in pre-header
CH.HD2=10.		; Number of characters in post-header
HD.MAX=16.		; This must be larger than CH.HD1,CH.HD2, or 12.
;
;	Size of buffers
;
IBFSZ=512.			; Input buffer size
;	This  needs to be larger than the maximum input line.
;	You may increase or decrease this as needed.  In general it should 
;	never be smaller than 132.
;
OBFSZ=256.			; Output buffer size
;	This needs to be larger than the maximum output line if /-CR is used.
;	This is not used in RT-11 version
;
ULNSZ=150.			; Underline buffer size
;	This needs to be larger than the maximum number of characters/line
;	for your printer if either /UL:S or /UL:L are used.
;
;	
	.ifdf	RT11
TRCLN=18.			; This must be even number
	.iff
TRCLN=40.			; Traceback line size must be even number
	.endc
;
;		|	|	|	|	|	|
;		|	|	|	|	|	|
;		V	V	V	V	V	V
;
;	====>	The rest of this file should not be changed	<====
;	====>	If you make any changes after this notice	<====
;	====>	You do so at YOUR OWN RISK.			<====
;
;		^	^	^	^	^	^
;		|	|	|	|	|	|
;		|	|	|	|	|	|
;
;
;	FLAG BITS IN F.1 (Do not mess with these)
;
;	NOTE: THE LOW ORDER BYTE CORRESPONDS TO A LEGAL COMMAND MASK
;		THAT IS TESTED AGAINST THE TRAILING BYTE OF THE
;		APPROPRIATE COMMAND NAME.
;
NOTF=	1			; NOTE PROCESSING ACTIVE
FOTF=	2			; FOOTNOTE PROCESSING ACTIVE
LCKF=	4			; Parameters locked off
TEXF=	10			; Text on
RELF=	40			; RELATIVE NUMBER CONVERSION (1=YES)
BRKF=	100			; CORRESPONDS TO BREAK FLAG IN TRAILING BYTE
;	200			; Marks last byte in table
;
JUSTF=	400			; JUSTIFY ENABLED
PJUSTF=	1000			; PREVIOUS JUSTIFY FLAG
FILLF=	2000			; FILL ENABLED
LITFG=	4000			; LITERAL PROCESSING FLAG
TXDEF=	10000			; Text deferred flag
IFFLG=	20000			; If flag
PARF=	40000			; Paragraph flag
;
; SWITCH WORD FLAG BIT DEFINITIONS FOR S1 (Do not mess with these)
;
FFDSW=1				; SIMULATE FORM FEEDS (0=YES)
HYPSW=2				; HYPHENATE OUTPUT TEXT (1=YES)
PAUSW=4				; PAUSE BETWEEN PAGES (1=YES)
SPLSW=10			; SPOOL TEXT FILE (1=YES)
UPCSW=20			; FORCE ALL TEXT TO UPPER CASE (1=YES)
CRSW=40				; No CR,LF switch
EVESW=100			; Even output ?
ODDSW=200			; Odd output ?
DEBSW=400			; Debug switch
TTSW=1000			; Terminal output switch
PASSW=2000			; Pass switch (causes 2 passes)
WARSW=4000			; Warning suppress switch
;
; SWITCH FLAGS (BYTE) (Do not mess with these)
;	Definitions
;
SW.TDS=1			; Temporary disable
SW.TD2=2			; Temporary disable 2
SW.HDR=4			; Temporary disable during headers
SW.EDS=20			; Disable during equation
SW.IDS=40			; Disable during input
SW.DIS=200			; Permanent disable
FL.ALL=1000			; Disable all
FL.LIT=2000			; Literal disable
FL.DIS=100000			; Permanent disable
;
;
;
;	Bits for LAYOUT (Do not mess with these)
;
LAY.CT=1			; Center title/subtitle
LAY.RT=2			; Title to right
LAY.OT=4			; Alternate right left title
LAY.CP=10			; Center title/subtitle
LAY.LP=20			; Page to left
LAY.OP=40			; Alternate right left page
LAY.NB=100			; Page number at bottom of page
LAY.TB=200			; Title at bottom of page
;
;	INDEX Table format: (Do not mess with these)
;
;		byte 1+2	Foreward link to next entry
;		byte 3		Status byte
X.ENT=200		; Index entry follows page/chapter.. bytes
X.SPG=100		; Subpage byte present
X.PAG=40		; Page word present
X.CH=20			; Chapter byte present
X.AP=10			; Appendix byte present
X.SEN=7			; these bits number subentries.
;		byte 4-n	Subpage/page word/chapter/appendix bytes
;		byte n+1-m	Index entry if X.ENT
;
;	List elements stack (Do not mess with these)
;
LS.CNT=0		; Current number
LS.PRE=2		; Pre char
LS.PST=4		; Post char
LS.CHR=5		; Current char
LS.VSP=6		; Vertical spacing
LS.FMT=7		; Element format
LS.MRG=10		; saved margin
LS.SIZ=12		; Size of entry
;
;	Definitions for text header (Do not mess with these)
;
BFHED=9.			; # BYTE I/O HEADER
;
;	1=	Skip before line count
;	2=	Status byte
;	3=	Skip after line count
;	4=	First spacing count
;	5=	Second spacing count
;	6=	Real spaces/expandable spaces
;	7=	Spaces before break in extra spaces
;	8=	-1=Extra to left	0=Extra to right
;	9=	Micro spaces to add per space
;
;
;	Line header status bits (Do not mess with these)
;
HD.BAR=1			; Output change bar
HD.VAR=2			; Enable variable spacing
HD.LIN=4			; Line to output
HD.TXD=40			; Text deferred stat.
;
HD.FIG=100			; Skip optional (not figure)
HD.SKP=200			; Skip count only
;
;	Escape sequence options (Do not mess with these)
;
ES.LCK=1			; Sequence is lock/unlock sequence
ES.VSP=2			; Vertical spacing param present
ES.HSP=4			; Horiz spacing param present
ES.PSP=10			; Spacing is permanent change
ES.WRD=40			; Lock till next word
ES.CHR=100			; Lock till next char
ES.NUL=200			; Dummy status
;
;	Tab options (Do not mess with)
;
TB.R=200			; Right justify
TB.L=100			; Left justify
TB.C=40				; Center justify
TB.CNT=37			; Ellipses count
;
;	Parameters
;
REQSIZ=5			; Maximum nesting of .REQ
;
;	Character definitions (should not be messed with)
;
BS=10				; BACKSPACE CHARACTER
TAB=11				; TAB
LF=12				; LIN FEED
FF=14				; FORM FEED
CR=15				; Carriage return character
PAGCHR=23			; Page character
TOCX=24				; Toc entry follows
SXCHR=25			; Subindex entry follows
INDX=26				; Index entry follows
REPO=27				; Repeat on output
TABO=30				; Internal output tab character
ELIP=31				; Internal ellipses output character
EOF=32				; END OF FILE
ESC=33				; ESCAPE CHARACTER
ULCHS=34			; UNDERLINE CHARACTER IN INTERNAL STORAGE
CPER=35				; Marks period char.
SPC=40				; SPACE
PD='.				; PERIOD. FOR SPECIAL SPACING AFTER PERIOD
CMA=',				; COMMA
LPUS='_				; LINE-PRINTER UNDERSCORE IN OUTPUT FILE
SEMI=';				; SEMICOLON
BAR='|				; BAR FOR CHANGE BAR
NXS=177				; NON-EXPANDABLE	SPACE (INTERNAL)
;
; MACRO DEFINITIONS
;
; BIT TEST EQUAL AND BRANCH
;

	.MACRO	BITEQ ARG1,ARG2,BDST
	BIT	ARG1,ARG2
	BEQ	BDST
	.ENDM

;
; BIT TEST NOT EQUAL AND BRANCH
;

	.MACRO	BITNE ARG1,ARG2,BDST
	BIT	ARG1,ARG2
	BNE	BDST
	.ENDM

;
; BIT TEST EQUAL BYTE AND BRANCH
;

	.MACRO	BITEQB ARG1,ARG2,BDST
	BITB	ARG1,ARG2
	BEQ	BDST
	.ENDM

;
; BIT TEST NOT EQUAL BYTE AND BRANCH
;

	.MACRO	BITNEB ARG1,ARG2,BDST
	BITB	ARG1,ARG2
	BNE	BDST
	.ENDM

;
; COMPARE EQUAL AND BRANCH
;

	.MACRO	CMPEQ ARG1,ARG2,BDST
	CMP	ARG1,ARG2
	BEQ	BDST
	.ENDM

;
; COMPARE NOT EQUAL AND BRANCH
;

	.MACRO	CMPNE ARG1,ARG2,BDST
	CMP	ARG1,ARG2
	BNE	BDST
	.ENDM

;
; COMPARE EQUAL BYTE AND BRANCH
;

	.MACRO	CMPEQB ARG1,ARG2,BDST
	CMPB	ARG1,ARG2
	BEQ	BDST
	.ENDM

;
; COMPARE NOT EQUAL BYTE AND BRANCH
;

	.MACRO	CMPNEB ARG1,ARG2,BDST
	CMPB	ARG1,ARG2
	BNE	BDST
	.ENDM

;
; TEST EQUAL AND BRANCH
;

	.MACRO	TSTEQ ARG1,BDST
	TST	ARG1
	BEQ	BDST
	.ENDM

;
; TEST NOT EQUAL AND BRANCH
;

	.MACRO	TSTNE ARG1,BDST
	TST	ARG1
	BNE	BDST
	.ENDM

;
; TEST EQUAL BYTE AND BRANCH
;

	.MACRO	TSTEQB ARG1,BDST
	TSTB	ARG1
	BEQ	BDST
	.ENDM

;
; TEST NOT EQUAL BYTE AND BRANCH
;

	.MACRO	TSTNEB ARG1,BDST
	TSTB	ARG1
	BNE	BDST
	.ENDM
;
; Define unsigned divide macro
;	R0 = ARG2/ARG1	R1 = remainder
;
	.MACRO	DIV$,ARG1,ARG2
	.ifdf	$EIS
	MOV	ARG2,R1		; Dividend
	CLR	R0
	DIV	ARG1,R0
	.iff
	MOV	ARG2,R0
	MOV	ARG1,R1
	CALL	$DIV
	.endc
	.endm
	.LIST
