6 	The following is a set of notes on the PDP11 ODL file@ which is intended as a very rough guide to what should be placedD in the root first if moving to an 11/44, 11/70, or 11/73 system with7 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 when8 ; 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 CANNOT5 ; 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,OTSALLB ; 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.0 ; 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)9 ; 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 A ; 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) J ; AT, BASCNG, and DECLR are called only for rare commands. Leave overlain.
 C41: .FCTR AT  C42: .FCTR BASCNG  C43: .FCTR DECLRE ; 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 B ; 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)H ; note calun and calbin are frequently called. Try and put them into theF ; 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 MULMULE ; 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 B ; inpost and nextel are also part of calc mainstream and should be ; flattened if possible. C7: .FCTR INPOST-NEXTEL D ; list just handles list of *K mode commands (and only a partial oneF ; at that). Leave overlain. NEXTEL is called from all over; flatten it ; if possible. C8: .FCTR LISTK ;SPLIT VARSCN AND UVT100 IN OXQTCMD SINCE THEY ARE USED AT DIFFERENT TIMES. - ;ALSO SPLIT UP EDITING SUBROUTINES IN XQTCMD. E ;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)G ; flip, slend, strcmp, and varscn are used all over the place. Zero and A ; zneg are used slightly less often and maybe could be put in the I ; calculate overlay where they are used. VARSCN gets called from all over F ; 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 VARSCNI ; uvt100 is called from all over too, and should also go into the root if  ; at all possible. UV:	.FCTR UVT100
 	.NAME RC2D RTU:	.FCTR RC2-*(GT,CM,EMS,GS,MEQ,MDT,XQA,XQB,XQC,XQD,XE,XF,P,Q,JUL)H ; 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 GETNNBJ ; errmsg is called from the calc overlay but hopefully is rarely actually  ; called EMS: .FCTR ERRMSG  GS: .FCTR GMSUBSJ ; 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 A ; the following .fctr areas xqa thru xqd should go in with xqtcmd B ; overlay if possible. They perform various formula edit functionsD ; 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 D ; pget and pgget are used in xqtcmd area for saving or loading savedC ; spreadsheets. Only one is ever active at a time and they can stay 4 ; here overlaying each other. They are fairly large. XE:	.FCTR XQTCMD/LB:PGET XF:     .FCTR XQTCMD/LB:PGGET D ; 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: G ; If at all possible use supervisor mode FCS by including the following   ; line in your TKB command file: ;  ;	SUPLIB=FCSFSL:SV ; D ; which will greatly reduce your size by having most of the FCS code ; run in supervisor mode... 