PortaCalc Brought to you courtesy of Glenn and Mary Everhart 409 High St. Mt. Holly, NJ. 08060 USA Version 5.2, Summer 1983 This version of PortaCalc is smaller, faster (by a large factor) and more capable than the ones on Fall '82 SIG tapes. It is now fully 3 dimensional as well (by a reasonable definition of that.) Also, the keypad finally works on VAX as well as PDP11. See KEYPAD.DOC for info on the supplied default command files for implementing keypad functions. This spreadsheet finally can do matrix math and has (in the usrfct.src module which may be optionally included for VAX) some routines for iteratively searching up to 8 dimensional spaces for solutions to problems. It is the first spreadsheet able to do really significant math in addition to the simple routines needed for finance calculations. In addition, the VAX version now permits DCL commands to be spawned so you don't have to leave the spreadsheet to interact with other sorts of applications (e.g., databases, the graphics utility). ABSTRACT: The PortaCalc spreadsheet is a FORTRAN written program able to perform the usual "what if" types of calculations for anyone with a compiler, 31KW of task space (more or less), and (in the present version) an ANSI 3.64 terminal (e.g. VT100). The program is easily recustomized for other terminals and designed for portability and functionality. A data management system interface is built in, permitting spreadsheets to access a potentially unlimited number of files and records or parts of records in those files for user defined functions, numbers, formulas, text, or whatnot. In fact it has many of the attributes of a language. Merging of multiple sheets, matrix algebra, general function solving (a la TK!SOLVER, though with a less polished user interface), and easy document load/unload make this spreadsheet very significantly more powerful than all but the most elaborate mainframe packages, and infinitely easier to customize. User commands may be entered via keyword or function key and are provided with a comprehensive HELP system permitting users to individually tailor commands to their needs. This package runs on PDP11, or on VAX in NATIVE MODE. Versions have been built for RSX11M, RSX11M+, VMS, and RSTS, though supplied build files are for the RSX and VMS versions only. Three versions are provided, with complete source code for all: a PDP11 version for I/D space machines that builds flat under RSX11M+, an overlaid version for other mapped PDP11's under regular RSX (11M or 11D/IAS), and a version for VAX that builds (flat of course) under VMS. I assume the F77 compiler but the program is in Fortran 66 (I use the /NOF77 switch). It is expected only minor changes would be needed for the DEC Fortran IV compiler however. A separate graphics output task is documented in PCG.DOC and provides histograms or scatterplots of any areas of the saved spread sheets with a simple command syntax. RESTRICTION: The RSX build files only provide a 27 by 40 sheet. The RSX11M+ version has a larger one, and the VMS sheet can be up to 32000 by 32000 if that is needed. Dimensions of the max sheet are a compiler parameter set and can be tailored by users for larger sheets or different dimensions. A separate version of PortaCalc for RSX using virtual arrays and supporting roughly a 64 by 64 sheet has been submitted to DECUS. Those with RSX (or PC350) machines should order it in addition, to gain the largest possible sheet. VMS object libraries for VT100 and an RSX task image for VT100 are provided for those not having Fortran. SPECIAL HARDWARE: The software must be built for the appropriate terminal. Versions of the UVT100 subroutine for VT100, VT52, Datamedia Elite, and several other types of terminals including VT100 with Advanced Video and Colorscan 10 are supplied, with command files for most combinations. The VT52 version will show what the minimum requirements are for control. Most any terminal can be easily interfaced to the package by editing one of the UVT100 routines to correspond to the terminal's control sequences, provided direct cursor addressing is supported.