PortaCalc Brought to you courtesy of Glenn and Mary Everhart 409 High St. Mt. Holly, NJ. 08060 USA Version 10.9, SUMMER 1984 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). Numerous additions and bugfixes make the versions of the sheet here more capable than older ones. The database-access facility from each cell has been debugged and improved and the programmability of cells now includes ability to test ascii values of formulae and to execute arbitrary commands from inside a cell program (except help, exit, and interactive mode). In addition, with the advent of V10.9, a powerful text integration feature has been added permitting onscreen display of external files and integration with output, or screen controlled insertion of word processing files into spreadsheet outputs with screen controlled indentation. ABSTRACT: PortaCalc is a powerful 3 dimensional spreadsheet/database and analysis system with easy user extensibility designed to outperform most any commercial package available, running on PDP11 systems able to support the F4P compiler, or VAX systems, needing the VAX FORTRAN compiler to compile. Several terminals are supported, including the VT100 series, VT52, Datamedia Colorscan 10 and Elite 1500, Televideo 925, and ANSI color terminals. The program is designed for portability to other Fortran systems, with peculiarities used documented, and its manual is designed to be turned into a system HELP file so that it can be read online. Tutorials are supplied as well. Recustomizing for other terminals is easy; only direct cursor addressing, screen erase, and line erase are required, though reverse video allows use of the VT100 templates which yield an easier-to-read screen. 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. Every cell may contain far more complex formulas than most commercially sold programs, and indeed may be a complete program with the ability to execute most command-level spreadsheet commands, though with minor restrictions. 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. A powerful text integration function permits integration of word processing files with reports, permitting use of AnalytiCalc (PortaCalc) to integrate sections of reports which are edited with any editor. It also simplifies inserting text from external files flexibly over null cells of the spreadsheet. 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. There are 4 major versions, though several variants may be selected (read the build files and READMEs): 1. Standard PortaCalc: Builds flat under VMS in native mode or under RSX11M+ with I/D space, or in a heavily overlaid version for RSX11M. Space restrictions in RSX11M limit size of sheet to around 900 cells for the non I/D version. 2. PortaCalc-VM: For VAX only, uses demand-zero pages to eliminate workfile and speed operation. Normal default build supports 16000 or 32000 cells, but size is compiler option. Recommended VAX version. 3. PortaCalc-XL: For PDP11 only with mapping directives. Uses virtual arrays to provide a 4000 cell area, which can be split into rows/columns in any way desired. 4. PortaCalc-PC: for PDP11 or VAX, uses a smarter algorithm for storage management and can support a 16,000 cell array even on an RSX system without using memory mapping directives. Recommended PDP11 version. NOTE: only PORTACALC-VM and PortaCalc-PC have all features!!! It is STRONGLY recommended that VAX sites use PortaCalc-VM and that PDP11 sites use PortaCalc-PC. For PDP11 users, if you experience size difficulties, edit PVKLUGPRM.FOR and reduce the size of the sheet, and also be careful of edits to FCS11M.ODL which are done if you must compile with F4P instead of F77; the supplied ODL file is for F77 and names of OTS modules must be changed for use with F4P according to the DEC docs supplied with F4P. Complete source code for all versions is provided. It is assumed the F4P or F77 compiler is available for PDP11 (uses Fortran 66 for greatest portability; author has an 8088 version), or the DEC VAX FORTRAN compiler for VAX. Object libraries are provided for VAX systems not owning Fortran, and task images for RSX systems without F77. However, these are not guaranteed to be totally current and recompilation is ALWAYS advised. 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. 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.