Classic Computer Magazine Archive COMPUTE! ISSUE 71 / APRIL 1986 / PAGE 109

CAPUTE!

SpeedCalc Fixes
There are two errors in the DOS 3.3 listing for Apple SpeedCalc in the February 1986 issue (Program 1, p. 95). Lines 0FE2 and 11F2 from the listing cannot be entered as shown because smudged characters were inadvertently changed when retouched. The lines should read as follows:

0FE2: CA 10 EB CA 9D 00 02 E8 6E
11F2: F5 24 85 1E 20 22 0B 60 AB

    These changes are not necessary if you have the February 1986 Apple COMPUTE! DISK; the program on disk is correct. ProDOS users will very likely encounter the message ERROR #56 when they attempt disk operations with that version. To correct this, you need to convert the binary (BIN) format file created by "Apple MLX" into a system (SYS) format file. To do this, first use the RENAME command to give the copy of SpeedCalc you entered with MLX the name SPEEDCALC.MLX. (Make sure that there is no file called just SPEEDCALC on the disk.) Then enter the three commands below, each on a separate line and each followed by pressing RETURN:

BLOAD SPEEDCALC.MLX
CREATE SPEEDCALC,TSYS
BSAVE SPEEDCALC,A$2000,E$3D67,
  TSYS

    The new SPEEDCALC file now on the disk should function properly. Simply enter -SPEEDCALC to start it running. SpeedCalc already appears as a SYS file on the COMPUTE! DISK for February, so this change is not necessary if you have the disk.

Speedy Strings For Commodore
The "Fast Disk Catalog" utility (Program 3, p. 66) from this article in the February issue does not work as listed. The SYS addresses assume that the machine language has been appended to the end of the program, as was done for Program 2. There are two possible solutions. You can change the lines below so that the machine language is POKEd in and addressed properly:

GM 50 DIMF$(MM):A=0
CF 100 OPEN1,8,0,"$0":SYS(AA):
       CLOSE1:CLOSE15
EC 120 PRINTX$:PRINT"{CYN}  "R
       IGHT$(F$(C-1),2),C-B,C,
       MM-C:B=C:AA=AA+16:GOTO80
XG 200 POKE987,70:POKE988,0:SY
       S(AD)

    Alternatively, you can append the machine language to the end of the program as was done for Program 2. This results in a shorter program that runs faster. To do this, don't change any lines in the program as listed. Instead, add the lines shown below, then type RUN 500. When the program ends, delete line 25 and all lines above 330, then immediately save a copy of the revised program.

GJ 500 POKE 45,(PEEK(45)+117)A
       ND 255:POKE 46,PEEK(46)
       +1-(PEEK(45)<117)
KC 510 POKE 47,PEEK(45):POKE 4
       8,PEEK(46):POKE 49,PEEK
       (45):POKE 50,PEEK(46)
GJ 520 RESTORE:AD=PEEK(45)+256
       *PEEK(46)-373:FOR I=0 T
       O 367:READ D:POKE AD+I,
       D:NEXT
GK 530 PRINT"{2 DOWN}DELETE LI
       NE 25 AND ALL LINES ABO
       VE 330, THEN SAVE NEW V
       ERSION":END
KC 1105 DATA 0