PortaCalc (AnalytiCalc) Brought to you courtesy of Glenn and Mary Everhart 409 High St. Mt. Holly, NJ. 08060 USA Version 20.1C, Winter 1986 Why buy a spreadsheet somebody sells? This program is designed to be superior to the high-priced models for PDP11 and VAX (also on 8088), and is easier to customize if you need to. NOTE that for your convenience, task images for RSX and P/OS are supplied, and object libraries for VMS are present. If you prefer to start quickly, use them. (For RSX and POS, be sure the .TSK images are copied contiguous onto your disks!) The current release adds an "Enter-mostly" mode of operation that provides a command structure similar to commercial spreadsheets on micros (numbers, formulas, and text just get typed in, commands prefixed with /) as an option, plus various additional capabilities. The prompt changes to indicate which mode you're in. Documentation has been improved also. The scrolling now preserves all windows too, making the program significantly easier to use. New in V18 is the ability to access HUGE spreadsheet dimensions; up to 32000 rows and 32000 columns can be addressed on VAX, and up to 10,000 by 10,000 on the PDP11. (If you're smart you won't use all this range unless you need it though; it could take unreasonably long to edit and audit your work if you do.) This version of AnalytiCalc (PortaCalc) now contains a two page memory paging algorithm for the PDP11 version. It also has a version presented here for the first time containing a Datatrieve-32 interface permitting exchange of data between DTR databases and AnalytiCalc spreadsheets in both directions. This is in addition to the pre-existing data file access capabilities and is implemented both in interactive commands and in functions. AnalytiCalc is fully 3 dimensional as well. 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. In addition, the VAX version 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, since 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. You now also get free project management software and extra support functionality. AnalytiCalc has symbolic names and macros, area addressing, random numbers, and many more enhancements. 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. A full DTR-32 interface is supported on VAX and a command mode structure similar to Visicalc or other micro spreadsheets is available as an option. Address range maxima are 32000 rows and 32000 columns on VAX, 10000 by 10000 on PDP11 (using software virtual memory on PDP11). A mode for "connecting" arbitrary VAX applications to AnalytiCalc is now available also, with simple syntax and numerous supporting new string functions. The program is designed for power, and to be easily portable to other systems supporting Fortran, 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. Speed of the VAX versions is higher than many of the expensive commercial ones. An 8088 version is available from the author at a modest cost. ERRATA: The V20 release contains some minor speedups, addressing fixes for the VAX version permitting many more cells to be filled at a time even where they are clustered close, a fix for the MMPYC function that was broken, lots of string functions (even if you don't have Datatrieve), and a bit more. Also the manuals have been cleaned up and alphabetized. If you print the .LAS versions on an LN03 with the Times Roman cartridge they'll look beautiful now too. VERSIONS: There are 2 major versions, though several variants may be selected (read the build files and READMEs): 1. 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. Obsolete. Don't use unless you have to; the PortaCalc-PC version is faster on VMS and has LOTS of enhancements. 2. 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 and VAX version. This version is buildable (using the PCCMAKIVD.COM command file) for VAX with a DTR - 32 interface and for DTR sites may be the preferred VAX version too. This version is recommended for most VMS users as only it supports project management and other new features. There is also an older version which is not recommended at this time but is present in case it is desired to use it. 1. 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. NOTE: only PortaCalc-PC has all features!!! It is STRONGLY recommended that VAX sites use PortaCalc-VM or -PC 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. 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: On VAX, screen-independent cursor routines are used for screen addressing normally. On PDP11, the software must be built for the appropriate terminal. Versionsof 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. TO GET UP QUICKLY: -- --- -- ------- Build from PCCX.OLB (and DTRIF.OBJ if you don't have DTR-32) on VAX, or use task images on PDP11. On VAX use commands like: LIBR/REPL PCCX DTRIF (IF AND ONLY IF YOU DON'T HAVE DTR-32) LIBR/EXTR=*/OUT=PCCX PCCX (ALWAYS) LINK/NOMAP/NOTRACE PCCX+DTR/OPT (IF AND ONLY IF YOU DO HAVE DTR-32) or LINK/NOMAP/NOTRACE PCCX --> Ignore linker warnings about compiler warnings. They're normal and harmless. As long as nothing comes up undefined, all is well. Define DK on VMS or build a single user virt disk and globally assign to DK on RSX. A VMS 3.7 definition that works is ASS/SYS DK SYS$SYSROOT:[DK] and then copy the aux keypad files (Keypad.pic and AK*.CMD, KY*.CMD) to the DK area. On VMS V4, SET TERM/NOLINE to allow arrow keys etc. to work. Build files recommended: VMS: PCCMAKIVD.COM in [003205] area if you have DTR. PCCMAKIV.COM in [003205] area if you don't have DTR Note: For the fullest VMS version, if you have DTR, run PCCY.COM after running PCCMAKIVD.COM and then rebuild the image from the new PCCX.OLB that is created. You'll be glad you did. If you want the connect mode but don't have DTR, you'll have to write some dummy entries since DTRIF.FVX has numerous new string functions. RSX: Edit PCCPDP.COM in [003205] area and follow its' instructions. (note there are lots of glitches it's hard for me to test for in RSX systems; be careful of things like ANSI support in FCS which must not be there, etc., etc. Task images are not privileged and should generally run unaltered. P/OS: Similar to RSX but use PCCPRON.COM as your template. Look over PCCPDP.COM for some caveats. RSX and P/OS task images are fairly up to date but don't support project planning yet. Only RECALC.FOR changed however, and all other functions are there. RECALC.FFF was the source of the last built version for RSX/POS recalculation controls... The PDP11 version does not have the "micro-like" command interface due to address space limitations.