PORTACALC - Brought to you courtesy of Glenn Everhart 409 High St. Mt. Holly, NJ. 08060 USA 609-261-3709 This is a spreadsheet written in Fortran (the only universal assembler) for portability. Its functions are described in the separate document file; it assumes VT100, but the UVT100 routines are the only places the VT100 is actually handled in screen mode, and may be altered for other machines. The spreadsheet sizes may be defined by editing the parameter file Vklugprm.ftn (caveats and restrictions are listed there). There are 2 sheets -- a big physical sheet and a small display sheet which is what's really shown on screen. Sheets may be saved/merged/restored/ linked (via saved files)/printed or hardcopy made onto files. Numerous other functions exist. The thing is built with I/D space here but ought to be able to be overlaid. Specifically, CALC and its routines can be diskbased overlays, and DSPSHT should be able to be another leaf. However this is not tested. You can tailor the size by editing physical sheet size. The program has not been tried overlaid. However, if you use the module OXQTCMD instead of XQTCMD and OSPREDSHT instead of SPREDSHT, an overlay structure could be used roughly like this: Root: Spredsht,Index, all commons, UVT100, VARSCN Leaf 1: XQTCMD Leaf 2: RECALC, CALC, and all subroutines of CALC Leaf 3: DSPSHT The subroutines of Calc may be possible to overlay so that Leaf 2 (which will likely be the largest) can be shrunk. You will want to edit Vklugprm.ftn to make a sheet the size you like. If it gets bigger than rather small, you will possibly have to use virtual arrays or some other trick. By the next DECUS symposium there may be a better version or one that will work on smaller systems completely defined, but you may be able to fit this on a small system by overlays. On a VAX of course it all builds flat with as large a sheet as you like. REVISION: There are 2 ODL files, either of which can build a reduced version when the fortran files are compiled with OVKLUGPRM.FTN renamed to VKLUGPRM.FTN, included. There is a bit of extra space so the parameters in that file can be enlarged somewhat. They use a very overlain FCS and F4P OTS. You may be able to do similar things clustering an FCSRES and a F4PRES together too. However, the overlay versions (made with the OMAKE.CMD file) do work, though more slowly than the I/D space one. This at least gets you something on a machine with only normal 11/34 type resources. I assume the F4P or F77 compiler here for the OTS part. You will need to tailor to other Fortran compilers on PDP11's yourself. NOTE: If you get this program working on a non-PDP11, non- VAX, the author would appreciate a (machine readable) copy of the modified version. BUGS: The functions here are mostly tested, but some bugs may remain. Fortran formats are used and any format entered will be used. If you put something in that Fortran can't understand, you lose. Conversely, you can use things like O or Z formats for octal/hex or whatever you like. Formats A and L by themselves mean "display the formula itself"; anything else means "display the number". On entering numbers, any formula containing the characters ".","[","+", or "-" is treated as a numeric; anything else is treated as a formula. The DF command can fix up this if it's not what you want. Note too that the multi-argument functions: SUM[args] Sum MAX[args] Maximum MIN[args] Minimum AVG[args] Average STD[args] Standard Deviation and the statement IF [v1.RL.v2]true-statement|false-statement must appear at the start of a formula or formula substatement (substate- ments are delimited by \ characters) and the value goes into the current variable cell (which is universally named P## if you want something location independent). It's a good idea to include an else statement in IFs since something gets put in otherwise. ----------------------------------------------------------------------- BIGTPC - Also included in this submssion is a utility BIGTPC, a very fast tape <=> disk <=> tape copy. It runs in compatability mode but is much faster on the VAX than any other copy utility.