	The following is a set of notes on the PDP11 ODL file
which is intended as a very rough guide to what should be placed
in the root first if moving to an 11/44, 11/70, or 11/73 system with
I/D space enabled and using FCSFSL supervisor mode FCS.
	It is very crude but the idea is to flatten out the overlay
structure to speed up PortaCalc.
; If you finally have room, you may want to try and leave the
; overlays all resident except help. Normal operation calls
; XQTCMD, then RECALC, then DSPSHT. HELP is only called when
; the user asks for it and is then person speed limited.
;PORTACALC ODL FILE.
; MINI VERSION ODL (PDP11)
; PROBABLY WRONG IN VARIOUS WAYS...
; NOTABLE PROBLEM FOR PDP11:
; THIS VERSION CANNOT CALL XQTCMD FROM THE CALC OVERLAYS AND GET
; BACK RELIABLY. THAT NEEDS THEM TO CO-RESIDE, WHICH THEY CANNOT
; DO. THE FUNCTIONS ARE FORMALLY THERE BUT WILL FAIL.
;		Leaf 1: XQTCMD
;		Leaf 2: RECALC, CALC, etc.
;		Leaf 3: HELP
;		Leaf 4: DSPSHT
	.PSECT FUBAR,D,GBL,RW
; First, remove OTSALL etc. and let FCS things and OTS things
; get resolved in each branch of the tree.
	.ROOT MAIN-*(DS,HL,RC,XQ),RCUT,RTU,OTSALL
; NOTE WSHEET AND WRKFIL ARE IN ROOT SO THEIR COMMONS WILL BE TOO.
MAIN:	.FCTR OSP-BLOCK-INDEX-OTSROT-FUBAR-TTYINI-WSHEET-WRKFIL
; NOTE RECALC ETC. NEVER USE UVT100
OSP:	.FCTR SPREDSHT/LB:.MAIN.:IN2AS
; HELP overlay root. You may use the other help system instead
; here, but remember: it needs a LUN open for the help file.
; Keep it overlain since the help text is large.
HL:	.FCTR SPREDSHT/LB:HELP
; Calculate overlay root.
RC:	.FCTR	RECALC-CALC-*(C4,C5,C7,C8,CCC,FED)
; Frmedt handles {V1 forms (inline macros). Hopefully not
; called too often.
FED: .FCTR FRMEDT
; Errcx is a preparse for () pairs and is small. Flatten out
; if possible.
CCC:  .FCTR ERRCX
; cmnd handles all *<letter> forms of commands and should be kept
; as low as possible in the calculate overlay (RC) if these are
; used much.
C4: .FCTR CMND-*(C41,C42,C43,C44)
; AT, BASCNG, and DECLR are called only for rare commands. Leave overlain.
C41: .FCTR AT
C42: .FCTR BASCNG
C43: .FCTR DECLR
; USRFCT is called for all *U functions. Flatten if you can, but only
; after flattening the rest of the structure.
C44: .FCTR USRFCT/LB:USRFCT
; postvl, inpost, nextel, calun, and calbin are top level mainline
; sorts of routines for the calc overlay. They handle number
; conversions and are fairly important. Flatten these parts of
; the structure if possible.
C5: .FCTR POSTVL-*(C51,C52,C6)
; note calun and calbin are frequently called. Try and put them into the
; root of the calculate overlay at least. Contyp and mul* will be less
; often needed.
C51: .FCTR CALUN-CONTYP-MULCON
C52: .FCTR CALBIN-*(C521,C522,C523,C524)
C521: .FCTR CONTYP-MULCON
C522: .FCTR MULADD
C523: .FCTR MULDIV
C524: .FCTR MULMUL
; Varout doesn't do much except in *K mode but it may get called from
; calc anyway. You may want to flatten it in.
C6: .FCTR VAROUT-MOUT
; inpost and nextel are also part of calc mainstream and should be
; flattened if possible.
C7: .FCTR INPOST-NEXTEL
; list just handles list of *K mode commands (and only a partial one
; at that). Leave overlain. NEXTEL is called from all over; flatten it
; if possible.
C8: .FCTR LIST
;SPLIT VARSCN AND UVT100 IN OXQTCMD SINCE THEY ARE USED AT DIFFERENT TIMES.
;ALSO SPLIT UP EDITING SUBROUTINES IN XQTCMD.
;IN THE OTHER OVERLAY STRUCTURE THEY ARE NOT THE BIGGEST LEG BUT THEY
;WOULD BE HERE EXCEPT FOR THIS.
; XQTCMD command overlay root.
XQ:	.FCTR	XQTCMD/LB:XQTCMD-USRCMD
; DSPSHT sheet display root.
DS:	.FCTR	DSPSHT
;LIB:	.FCTR LB:[1,1]SYSLIB/LB:$SHORT
	.NAME RCUTL
RCUT:	.FCTR RCUTL-*(X3,X4,X5,X6,VS,UV)
; flip, slend, strcmp, and varscn are used all over the place. Zero and
; zneg are used slightly less often and maybe could be put in the
; calculate overlay where they are used. VARSCN gets called from all over
; and the others are called only in the calculate overlay pretty much.
X3: .FCTR FLIP
X4: .FCTR SLEND
X5: .FCTR STRCMP
X6: .FCTR ZERO-ZNEG
VS: .FCTR VARSCN
; uvt100 is called from all over too, and should also go into the root if
; at all possible.
UV:	.FCTR UVT100
	.NAME RC2
RTU:	.FCTR RC2-*(GT,CM,EMS,GS,MEQ,MDT,XQA,XQB,XQC,XQD,XE,XF,P,Q,JUL)
; gmtx, vvary, are not used except in vary function or some matrix math.
P: .FCTR USRFCT/LB:PMTX2:GMTX
Q: .FCTR USRFCT/LB:VVARY:SIGN
; getnnb is used all over the calculate overlay
GT: .FCTR GETNNB
; errmsg is called from the calc overlay but hopefully is rarely actually 
; called
EMS: .FCTR ERRMSG
GS: .FCTR GMSUBS
; cmdmun is called once per command. Put it in with the xqtcmds overlay if
; possible.
CM: .FCTR CMDMUN
; mtxequ is to solve matrix equations, and mdet computes matrix
; determinants. Move down only if you need them to come in fast.
MEQ: .FCTR MTXEQU
MDT: .FCTR MDET
; the following .fctr areas xqa thru xqd should go in with xqtcmd
; overlay if possible. They perform various formula edit functions
; the most important of which is relvbl which does the relocation of
; formulas. SED is used in the EDit command. The other 2 are for
; 2 of the unusual types of formulas (that is, XQC and XQD) and
; probabvly can remain here.
XQA:	.FCTR	XQTCMD/LB:RELVBL
XQB:	.FCTR	XQTCMD/LB:SED:SSCMP
XQC:	.FCTR	XQTCMD/LB:SVBL
XQD:	.FCTR	XQTCMD/LB:SSTR
; pget and pgget are used in xqtcmd area for saving or loading saved
; spreadsheets. Only one is ever active at a time and they can stay
; here overlaying each other. They are fairly large.
XE:	.FCTR XQTCMD/LB:PGET
XF:     .FCTR XQTCMD/LB:PGGET
; julian date functions are called from calculate overlay and handle
; date arithmetic. If you have much date math, unoverlay them.
JUL:	.FCTR JULIAN
@FCS11MN.ODL
	.END
;
; Further note:
; If at all possible use supervisor mode FCS by including the following
; line in your TKB command file:
;
;	SUPLIB=FCSFSL:SV
;
; which will greatly reduce your size by having most of the FCS code
; run in supervisor mode...
