.APPENDIX BUILDING RUNOFF
RSX-11M MAPPED SYSTEMS 
.skip 
.fill 
Procedure: 
.list 1 
.le 
Use UFD to set up the proper UFDs, if necessary. 
.le 
Select the proper task build file: 
.list 0
.le;RNOBLD##Overlayed 
.le;RNOBLDFCS##Overlayed, resident library 
.le;BIGRNOBLD##Non overlayed, resident FCS library 
.le;RNOIASBLD##IAS overlayed 
.els
.LE Select the options you require by editing the RNPRE.MAC. 
For example the conditional $FLORD may be enabled by deleting the semicolon. 
This will enter a default set of escape sequences for the FLORIDA DATA 
printer. 
.TP 5 
.le 
Edit the Task Build command file to reflect your individual 
system needs. The Task Build command file contains parameters 
to set the default switches, default paper size (for /-FF) and 
default underline mode. 
If you use lots of index terms or otherwise make heavy demands on
dynamic memory RNO will run faster by increasing EXTSK parameter.
The overlayed version has lots of room for dynamic memory extension
and runs nearly as fast as the non overlayed version.
.le 
Assemble
.NOFILL 
.INDENT +16 
MAC @RNOASM
.F.le ;Build the task 
.lm+16.NF 
TKB @RNOBLD .....or 
TKB @RNOBLDFCS ..or 
TKB @BIGRNOBLD 
.LM-16 
.FILL 
.le ;The final RNO.TSK should be copied to LB:[1,54] if you wish to 
make it available to all users. 
.ELS 
.BREAK 
.S 
RSX-11M UNMAPPED SYSTEMS 
.skip 
Users of unmapped systems should follow the procedure outlined 
for mapped systems, but selecting UICs as appropriate. 
File RNOBLD.CMD will have to be edited to delete the /MM 
switch and to change the PAR directive to match system 
requirements. 
.s 2 
RSX-11D/IAS 
.skip 
Users of RSX-11D/IAS should follow the procedure outlined 
for users of RSX-11M Mapped systems.  Since the conventions 
for source and object files are installation dependent, all .CMD 
and .ODL 
files should be edited accordingly.  Additionally, RSX-11D/IAS 
users should alter RNOBLD.CMD to change the /MM switch to 
/MU and to change the PAR directive as needed. 
.b 
Alternatively, IAS users may use command file RNOIAS.CMD to 
assemble and build RUNOFF. 
The command file contains parameters 
to set the default switches, default paper size (for /-FF) and 
default underline mode. 
.s 
VAX/VMS users
.s
This program must be built under compatibility mode using MCR.
The commands are:
.i10; MCR MAC @RNOASM
.i10; MCR TKB @RNOBLD
.br;Otherwise the 11-M proceedure should be used.
The final RNO.EXE should be copied to SYS$SYSTEM
with W:r protection if all users are to be able to use it via the
 $#MCR#RNO command.
For convenience the following symbol may be defined:
.i5;$ RNO :== MCR RNO
.br; This makes RNO work with the same commands as on an 11/M system.
.s
.c;RESTRICTIONS
.s
This version of RNO uses the SOB instruction.  If your machine (11/20  or 11/10) 
doesn't have this instruction it may be simulated in the RNPRE.MAC file. 
Since almost every PDP-11 has this instruction you will probably not have 
to worry about this.  In addition the prefix file has a symbol $FLORD to define 
a set of default escape sequences for the Florida data printer.   If you wish 
to define your own internal set of default escape sequences the default table 
is in routine INIT. 
.bb
.s.c;BUFFER SIZES
.s;The maximum input line is currently set to 512 characters.  If this is 
too short you may redefine the symbol IBFSZ in RNPRE.MAC.  You should be 
aware that if you do this the program will grow in size at the expense of 
dynamic memory. 
The maximum output line is 256. characters.  If this is not correct you may
redefine it by changing symbol OBFSZ in RNPRE.MAC.
This should only be necessary if you need shorter lines to pass to another
program, or if you need longer lines in conjunction with the /-CR switch.
Normally each line of printed text will occupy 1 output record, unless
you have a large number of imbedded escape sequences which cause it to
grow beyond 256.  If it is longer than 256 it is split into several records.
This causes no problems as long as you do not use /-CR.
If you need to print more than 150 characters on a line and you use /UL:S
or /UL:L the underline buffer size may not be adequate.  The current
definition is symbol ULNSZ found in RNPRE.MAC.
.s.c;EFFICIENCY
.P
The overlay structure places all of the commonly used routines and
the hyphenation routine in the same overlay.  The .LIST,.LIST ELEMENT,
 .CHAPTER, .APPENDIX, .NOTE, .HEADER LEVEL commands are in a separate
overlay.  The least used commands such as .STYLE, .LAYOUT, .DISPLAY
are in a third overlay.  This structure should be only slightly slower
than a non overlaid program, and it contains a maximum of dynamic memory
space (16+ Kbytes).
With this document the non overlaid version was only about 10_% slower.
Anyone contemplating using the SUBSTITUTE commands, or indexing will
probably need the overlaid version.  If no indexing is done, and
a limited number of escape sequences, and substitutions are defined,
the non overlaid version will also probably do the job.  One way of
increasing the efficiency of RUNOFF is to turn off autohyphenation.
This will prevent excessive overlay switching as well as eliminating
some code.  If you still want autohyphenation for most text you
can still achieve greater efficiency by turning it off only
while processing lists with many items.
For this document turning off hyphentation only decreased the time
by about 6_%.
One more way to increase efficiency is to increase the the task extension.
This only has an effect if large amounts of dynamic memory are used.
Large footnotes, large .TEXT sections, or many large definitions may make this
option necessary.  In general most users will find existing dynamic memory
adequate.
.eb
.note
This program has been successfully run on RSX-11M, VAX/VMS, and IAS
systems.  It has not been tried on unmapped systems.
It has 1 major known bug.  Indirect command files will not work
as input to RUNOFF when executing on IAS.  They work fine
for RSX or VMS systems.
.end note

