Dynacalc
Dynacalc was a spreadsheet application created by Scott Schaeferle, Computer Systems Center, Chesterfield, USA around 1980. Dynacalc was ported to several operating systems including OS-9, FLEX and Disk Extended Color Basic on the TRS-80 Color Computer.
For OS-9, several versions were sold of which two have been preserved. Version 4.7:3 for Dragon 64. This version required the screen to be in "go51" mode - 51 columns by 24 lines. This took 6 KB extra out of the available RAM. The Color Computer distribution was version 4.8:5. It has extra functions for Boolean operations and the ability to get input from a joystick or mouse. It will only work for Coco 3 as it reads the window size from the device driver. It is configured for a 32x16 screen to fit worst case, and the labels are shortened to match.
Dynacalc 4.7:3 is available from the The DRAGON Archive. Dynacalc 4.8:5 can be downloaded from the TRS-80 Color Computer Archive.
- adm5.trm.asm -- Assembler source code for Lear Siegler ADM-5 term file
- tvi912.trm.asm -- Assembler source code for TeleVideo 912/920 term file
- dynacalc-v4.7.3.dsk -- Dynacalc 4.7:3 DISK from Dragon 64 distribution
- dynacalc_473.bin -- Dynacalc 4.7:3 program from Dragon 64 distribution
- ansi_473.cor -- Dynacalc.cor for ANSI/VT100 terminal and Dynacalc version 4.7:3
- tvi970_484.cor -- Dynacalc.cor for TeleVideo 970 (ANSI) terminal and Dynacalc version 4.8:4
- wordpak_483.cor -- Dynacalc.cor for WordPak terminal and Dynacalc version 4.8:3
- install.dc_drg.bin -- Install program from Dragon 64 distribution
- dynacalc-decb.pdf -- Manual for Dynacalc on TRS-80 Disk Extended Color Basic
- dynacalc-flex.pdf -- Manual for Dynacalc on the FLEX operating system
- dynacalc-dragon.pdf -- Manual for Dynacalc on the OS-9 operating system on the Dragon 64
- ansi.trm -- Patch file for ANSI terminal
- go80.trm -- Patch file for DragonBoard Plus (GO80) terminal
- adm5.trm -- Patch file for Lear Siegler ADM-5 terminal
- tvi912.trm -- Patch file for TeleVideo 912/920 terminal
- wordpak.trm -- Patch file for WordPak terminal
- dynacalc-tandy.pdf -- Scanned manual for Tandy Color Computer with the OS-9 Operating System
Terminals
Dynacalc loads a configuration file called dynacalc.trm into memory at startup. This file contains the control sequences for the terminal. For the Dragon 64 edition, the install.dc did not allow the user to change the sequences, but it is possible to patch the file. I have created a configuration file called ansi.cor for those, who want to use Dynacalc through an 80x24 ANSI terminal. This was fairly trivial as the work had already been done and the terminal driver was embedded in the Dragon dynacalc application. However: The cursor keys on an ANSI terminal sends three character sequences beginning with an Escape ($1B). Dynacalc can only handle one character sent by any key. The ansi.cor therefore maps left to '[', right to ']', up to '{' and down to '}'. The other key definitions are unchanged. Pressing a cursor key will most likely modify a cell.
To make it work with an ANSI terminal, download the ansi.cor file, rename it to dynacalc.cor and place it in your execution directory. You then run install.dc to configure the printer and create a bespoke dynacalc.trm file. If you have no need for printer configuration, then just copy dynacalc.cor to dynacalc.trm.
What is a "COR" file?
Dynacalc was developed for FLEX before OS-9. In FLEX the distribution disk has a "DYNACALC.COR" file called the core file. This is the unconfigured dynacalc application. The FLEX INSTALL tool would take a TRM file as argument, patch the COR file and then rename it to DYNACALC.CMD. In OS-9 the configuration is made to a data file, which also contains the startup code and help texts. This is more flexible as the same dynacalc program can be used for different terminals and the help texts can be discarded. For some reason the data file is also called a TRM file even as the same suffix is used for terminal patch files.
TRM files
The install.dc program for Dragon 64 had been modified by the author to not ask about configuration of the terminal. Some functionality, however, has been left in, but removed from the documentation. If you provide the name of a file that ends with '.TRM' as an argument, then install.dc will first load the dynacalc.cor file, then the TRM file, which it will overlay at the location of the terminal sequences. It will proceed to ask the user if anything should be changed and finally create a new dynacalc.trm file.
Example:
install.dc wordpak.trm
For best results, first download the ansi.cor and rename it to dynacalc.cor. The ansi.cor has help texts fitted for 80 columns and the standard startup banner.
Key assignments
Here are the standard key assignments for several popular CRT terminals, as set up in the supplied .TRM files. Any of these assignments can be changed by answering appropriate questions in the INSTALL utility.
Model | up | down | left | right | backspc | home |
---|---|---|---|---|---|---|
TRS-80 GO51 | + | + | + * | + | + | ↑ * |
SWTPC CT-82 | + | + | + | + | backspc | home |
SWTPC 82xx | + | + | + | + | backspc | top |
SWTPC 8212W | + | + | + | + | backspc | top |
Hazeltine H-1400 | cntrl-U | cntrl-D | cntrl-L | cntrl-R | rubout | cntrl-T |
Hazeltine H-1420 | { * | } * | [ | ] | backspc | cntrl-T |
Hazeltine H-1500 | { * | } * | [ | ] | backspc | cntrl-T |
ADDS Viewpoint | + * | + * | + * | + * | backspc | home * |
Heath H-19 | { * | } * | [ | ] | backspc | cntrl-T |
Micro Term ACT-IV | + * | + | + * | + | rubout | send |
LSI ADM-3A | { * | } * | [ | ] | rub | home * |
ANSI standard | { * | } * | [ | ] | backspc | cntrl-T |
FOCUS system | + | + | + | + | rubout | home |
Televideo 912 | + | + | + | + | rubout | home |
ADDS VPT 3A+ | + * | + * | + * | + * | del | home * |
Perkin-Elmer 550 | { * | } * | [ | ] | backspc | del |
Infoton 100 | { * | } * | [ | ] | del | cntrl-T |
SOROC IQ-120 | + | + | + | + | del | cntrl-^ * |
Model | jump | flush | edit | overlay | get addr | |
---|---|---|---|---|---|---|
TRS-80 GO51 | → * | cntrl-C | cntrl-E | cntrl-O | ↓ * | |
SWTPC CT-82 | ^ | cntrl-C | cntrl-E | lf | lf | |
SWTPC 82xx | ^ | cntrl-C | cntrl-E | form | form | |
SWTPC 8212W | ^ | cntrl-C | cntrl-E | nxtpag | nxtpag | |
Hazeltine H-1400 | : | cntrl-C | cntrl-E | ; | ; | |
Hazeltine H-1420 | ` | cntrl-C | cntrl-E | tab | tab | |
Hazeltine H-1500 | ^ | cntrl-C | cntrl-E | tab | tab | |
ADDS Viewpoint | ` | cntrl-C | cntrl-E | tab | tab | |
Heath H-19 | ` | cntrl-C | cntrl-E | tab | tab | |
MicroTerm ACT-IV | lf | cntrl-C | cntrl-E | tab | tab | |
LSI ADM-3A | ^ | cntrl-C | cntrl-E | lf | lf | |
ANSI standard | ` | cntrl-C | cntrl-E | tab | tab | |
FOCUS system | \ | cntrl-C | cntrl-E | ; | ; | |
Televideo 912 | \ | cntrl-C | cntrl-E | tab | tab | |
ADDS VPT 3A+ | ` | cntrl-C | cntrl-E | tab | tab | |
Perkin-Elmer 550 | lf | cntrl-C | cntrl-E | tab | tab | |
Infoton 100 | \ | cntrl-C | cntrl-E | tab | tab | |
SOROQ IQ-120 | ` | cntrl-C | cntrl-E | tab | tab |
+ = use arrow key * = shifted key ^ = caret character ` = grave accent character