A N A L Y T I C A L C Brought to you courtesy of Glenn and Mary Everhart 25 Sleigh Ride Rd. Glen Mills, PA 19342 USA Version 23.2A, Winter 1988 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. An ANNotate capability for cells is new in V21, permitting you to document your work in free format and quickly view the notes in order to be sure the spreadsheets you create make sense. Spreadsheet maximum dimensions are 32000 by 32000 for VAX, 10000 by 10000 on PDP11. A Datatrieve-32 interface and a generic "input area and output area" interface for VAX versions, with many string and parsing functions, are provided in addition to other built-in database access routines. These new interfaces are bi-directional. AnalytiCalc can do "3-dimensional" accesses, matrix math, FFTs, and iterative searches in up to 8 dimensions at a time. 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. Note that "instant" flush to disk of logfiles is enabled by recompiling XQTCMD.FOR for VAX. A "large space" version of AnalytiCalc is now present in the [003215] area. This allows 300,000 cells distinct by default on VAX/VMS, and can be configured for more, subject to limits on virtual address space. ABSTRACT: AnalytiCalc 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. 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. In addition, a separate relational DBMS is present. 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 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 Amiga and a MS-DOS version of AnalytiCalc are presented here also. Several new trig functions and some bulletproofing corrections (thanks, Chris Doran of SIRA Ltd.) have been added to this version, plus some new code speedups. The ability to call UNMODIFIED Fortran callable subroutines (plus a few hundred example routines) has been added, and performance for really huge VAX sheets has been improved via better hashing methods. It is now trivial to add almost any desired functionality to AnalytiCalc. A "binary" save/load option speeds up these operations by a factor of 3, and other optimizations speed up the save operation still more in this version. 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. AnalytiCalc-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 AnalytiCalc-PC version is faster on VMS and has LOTS of enhancements. 2. AnalytiCalc-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. Use PCCMKIVD.COM whenever possible. I recommend highly that you link from PCCX.OLB (and DTRIF.OBJ if you lack DTR32) rather than recompiling; saves LOTS of time. Look at AAINSTALL.COM for hints on installation. 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. AnalytiCalc-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. ANCIENT and EASILY CRASHED, however. NOTE: only AnalytiCalc-PC has all features!!! It is STRONGLY recommended that VAX sites use AnalytiCalc-PC and that PDP11 sites use AnalytiCalc-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. 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. TO GET UP QUICKLY: -- --- -- ------- On VAX: Use the image pre-supplied in [003215...] and edit the SPREAD.COM file in [003215.DK] to correspond to where you want the image to be. Either assign a system or login logical to DK: (to point to files in [003215.DK] in the tape), or edit SPREAD.COM to do an ASSIGN/USER to DK: (such as $ Assign/user user$disk:[vsp24.003215.dk] dk: ) prior to running PCCBIG. On PDP11: use the supplied task images. Altermately: Build from PCCX.OLB (and DTRIF.OBJ if you don't have DTR-32) in the [312316] directory. 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 SYS$SYSROOT:[DK] 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. The new version of the VMS spreadsheet will generally preset this itself however. Build files recommended: VMS: PCCMAKIVD.COM in [003205] area if you have DTR. PCCMAKIV.COM in [003205] area if you don't have DTR (or tailor PCCMKFST.COM and use instead!) 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. It has several other limitations. AmigaDos: The Amiga version of AnalytiCalc is basically identical to the VAX version but with somewhat smaller address limits. It will run on a 512KB Amiga or larger. Sources are present to this version also. MSDOS: The MS-DOS version of AnalytiCalc has most of the functions of the VAX version, with address limits similar to those on the Amiga. However several math functions, and ability to call unmodified Fortran callable routines, are missing. A 256K version and a 320K version are present, the latter less heavily overlain than the former. Use the 256K version ONLY on PCs that small!