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 * 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. 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