.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. Autohyphenation may be omitted by deleting the line with H$$PHN.
.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. The underline mode
is currently set as UL:L. If you use lots of index terms or otherwise make
heavy demands on dynamic memory RNO will run faster by increasing the 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 +10 
MAC @RNOASM
.F.le ;Build the task 
.lm+10.NF 
TKB @RNOBLD .....or 
TKB @RNOBLDFCS ..or 
TKB @BIGRNOBLD 
.LM-10 
.FILL 
.le ;The final RNO.TSK should be copied to LB:[1,54], and installed if you
wish to make it available to all users. 
.bb
.le;Finally to generate RSX documentation:
.i10;@DOCRSX
.le;Alternatively the assembly and task build steps may be executed by:
.i10;^&@RNORSX\&
.br;This will build a standard RSX version of RNO.
.ELS 
.eb
.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. The final RNO.TSK should be copied to LB:[1,24]. 
.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. 
.p 
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. 
.bb
.p;To generate IAS documentation:
.i10;@DOCIAS
.eb
.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:E protection if all users are to be able to use it via the
 $#MCR#RNO command.
The following symbol may be defined:
.i10;$ RNO :== MCR RNO
.bb
.p;To generate VMS documentation:
.i10;@DOCVMS.CMD
.eb
.s
.c;RESTRICTIONS
.p
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.
.s.c;CUSTOMIZATION
.p
The prefix file RNPRE.MAC has a symbol $FLORD to define a set of default
escape sequences for the Florida data printer. You can select DIABLO escape
sequences with the symbole $DIAB or you may define your own internal set of
default escape sequences by modifying the table in routine INIT. A large
number of symbols in RNPRE may be modified.  They are labeled and marked for
your convenience. The commonly changed options are in the build command file.
.s.c;SIZE
.p
The program size is around 32kbytes (16kwords).  If you need to use a non
overlayed version then the size will be considerably larger.  You may decrease
the size of a non overlaid version by decreasing the buffer sizes. You can 
also omit the AUTOHYPHENATION feature by removing the symbol H$$PHN in 
RNPRE.MAC.  The current RSX/IAS version also keeps all input files open and 
the current block resident in memory.  This adds about 2048 kbytes to the
program size.  The code may be modified to temporarily close unused files
at the expense of program speed.
.s.c;BUFFER SIZES
.p;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 (30+
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
hyphenation 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. 
.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.  This may actually be a bug in IAS. 
.end note
.bb
.s.c;DOCUMENTATION
.p;It may be necessary to modify the documentation to accomodate a particular
printer.  All of the page sizes are determined by the commands in the file
CONTROL.RNO.  This file should be edited to reflect both your hardware
and your output format preference.  Currently the output occupies a page size 
of 62 by 79 with UL:S for underlining.
.s.c;HELP FILES
.p;Two help files are available with the current version of Bonner Lab 
Runoff.  They are for the VAX/VMS systems and the RSX operating systems.
They are called RNOVMS.HLP and RNORSX.HLP.  They contain nearly the entire
contents of this manual.  If you are short on disk space you may not be
able to use them.  When you use DOCRSX or DOCVMS to generate the RNO manual
the help files are also generated.  Unfortunately it was not possible
to generate a help file for IAS.
.p;VMS installation
.list 0
.le $ LIBR /HELP/CREATE RNO RNOVMS
.le $ COPY RNO.HLB SYS$HELP
.le $ SET PROT=W:R SYS$HELP:RNO.HLB
.le $ ASSIGN SYS$HELP:RNO.HLB SYS$LIBRARY/SYSTEM
.els.p;RSX installation
.list 0.le You must copy the help RNORSX.HLP to uic [1,2]
.le The protection must be set W:R
.le An entry must be added to the main HELP.HLP referencing @RNORSX.HLP
.le It may be necessary to remove the first line in the RNORSX.HLP file.
.els 0
.s.c;TEST FILES
.p;A number of files .TST are included with the distribution.  They serve
as a test, and guide to the various features available in Bonner Lab Runoff.
In addition some RNO files are available as examples of escape sequence
and substitution handling. These are:
.list 0
.le GREEKMATH
.le VT100
.els
.eb                                                                            
