Classic Computer Magazine Archive COMPUTE! ISSUE 76 / SEPTEMBER 1986 / PAGE 95

Enhancements for Atari SpeedCalc

Fred Chapman

Here are two enhancements for the Atari version of COMPUTE!'s popular spreadsheet program SpeedCalc (published March 1986). These new features give you greater control over printed output and allow you to copy or move blocks of cells without recalculating the entire spreadsheet. A disk drive is required.


Atari SpeedCalc is an excellent spreadsheet program, but even a good program can be improved here and there. "Enhancements For Atari SpeedCalc" makes several modifications to SpeedCalc to increase its power and convenience. Type in the program and save it to disk or tape, then run it.

When the program begins, you are prompted to insert a disk containing Atari SpeedCalc. Make sure you have a backup copy of SpeedCalc stored safely on another disk, in case you experience a disk error or change your mind about using the enhanced version of SpeedCalc. Press RETURN when the disk is in place. The enhancement program automatically appends the necessary code to the SpeedCalc AUTORUN. SYS file. After a few moments, the computer prints DONE. To enter SpeedCalc, remove or disable BASIC, then reboot the system.

Selective Printing

When printing to a device (a printer, disk drive, or the screen), the original SpeedCalc always starts printing at the upper left cell in the spreadsheet (cell AA1). This feature effectively limits the width of any printout to seven- or eight-cell columns on an 80-column printer. The enhanced version of SpeedCalc has the ability to send the contents of any block of cells to the device you select.

To print out a selected block of cells, move the cursor to the bottom right cell of the block that you want to print, then press CTRL-P (hold down CTRL, then press P). When prompted for the output device, enter P: to select the printer, E: to select the screen, or D: followed by a filename to print to a disk file. Now move the cursor to the top left cell of the block you wish to print, then press RETURN. SpeedCalc prints only the selected block.

Improved Move And Copy

The new version of SpeedCalc also has the ability to copy or move blocks of cells without recalculating. This permits you to piece together sections of the spreadsheet for printing without causing calculation errors. For example, you may want to move a column of titles just to the left of the cells to be printed. Recalculation during copy and move operations is now consistent with SpeedCalc's automatic recalculation mode. If automatic recalculation is turned on, copy and move commands cause the entire spreadsheet to be recalculated. If automatic recalculation is turned off, copy and move simply move the contents of the selected block from one place to another within the sheet. Just as in the original version, you can toggle automatic recalculation mode on or off by pressing CTRL-R.

Enhancements For Atari SpeedCalc

For instructions on entering this listing, please refer to "COMPUTE!'s Guide to Typing in Programs" in this issue of COMPUTE!.

NM 10 REM PRINT ROUTINE ENHANCEMENTS FOR SPEEDCALC
BI 20 REM THIS PROGRAM APPENDS SEVERAL PATCHES TO THE ORIGINAL SPEEDCALC
DB 30 TRAP 430
NI 40 CHECKSUM=0:NBYTES=80
JL 50 FOR BYTE=1 TO NBYTES:READ ABYTE:CHECKSUM=CHECKSUM+ABYTE:NEXT BYTE
OJ 60 IF CHECKSUM<>7369 THEN PRINT "ERROR IN DATA STATEMENTS":GOTO 440
CI 70 DIM A$(1)
PM 80 PRINT "{CLEAR}INSERT SPEEDCALC DISK & PRESS RETURN":INPUT A$
DD 90 CLOSE #1
ID 100 OPEN #1,9,0,"D:AUTORUN.SYS":REM APPEND PATCHES TO END OF ORIGINAL FILE
EO 110 RESTORE 170
BC 120 PRINT "WRITING..."
DF 130 FOR BYTE=1 TO NBYTES:READ ABYTE:PUT #1,ABYTE:NEXT BYTE
FP 140 CLOSE #1
JO 150 PRINT "DONE":END
CG 160 REM $1F00-$1F2B, 1ST PATCH
HC 170 DATA 0,31
KK 180 DATA 43,31
DD 190 DATA 162,0,32,199,58,32
GI 200 DATA 88,46,173,17,66,205
CB 210 DATA 1,66,144,240,173,1
JF 220 DATA 66,133,205,173,19,66
JE 230 DATA 205,2,66,144,227,169
CM 240 DATA 65,160,79,162,0,32
HC 250 DATA 199,58,32,89,33,162
IB 260 DATA 4,96
HN 270 REM
BK 280 REM $1F40-$1F4A, 2ND PATCH
KP 290 DATA 64,31
KI 300 DATA 74,31
MC 310 DATA 173,143,62,240,3
FP 320 DATA 76,150,51,76,152,33
HK 330 REM
CH 340 REM $2CDB-$2CE0,REPL 6 BYTES IN SPEEDCALC CODE
OC 350 DATA 219,44
NP 360 DATA 224,44
PO 370 DATA 32,0,31,32,199,58
HP 380 REM
PL 390 REM $31C9-$31CB,COPY/MOVE PATCH
NK 400 DATA 201,49
NN 410 DATA 203,49
ED 420 DATA 76,64,31
LI 430 ERR=PEEK(195):PRINT "ERROR- ";ERR
KD 440 PRINT "PROGRAM ABORTED!"
GD 450 CLOSE #1