16K disk
D:CHECK by Istvan Mohos
Revision 2 changes by Tom Hudson
In issue #8 of A.N.A.L.O.G. we introduced a program called D:CHECK, written by Istvan Mohos. D:CHECK's, purpose was noble enough: help disk users to find typographical errors in the programs they typed in from the magazine. Unfortunately, D:CHECK has a minor flaw that can cause some confusion. This article will present a set of modifications to D:CHECK that will correct the problems.
The Changes
For those who already use D:CHECK, there are only a few changes. The lines affected are 105, 125, 130, 140, 150, 360 and 365. For those who do not yet, the entire program with changes listed at the end of this article.
The main problem with D:CHECK shows up if (1) an entire line is missing or (2) a line is mistyped with a different number of characters than the original. Either of these problems may confuse the checksum routine in D:CHECK, giving incorrect checksum values for the rest of the program.
Since the new checksum routine will only work with programs starting with issue #10, D:CHECK2 will ask for the issue number. If the program being checked is from an earlier issue, D:CHECK2 will use the old checksum routine, and so will match the D:CHECK DATA from that issue. This was done so that readers who order back issues will be able to check those programs with the new CHECK program.
The last modification allows the user to simply enter the filename (D:filename) to be CHECKed.
Description of Changes
LINE DESCRIPTION 105 Revision 2 credit. 125 Set up a string for the filename. 130 Accept the filename via INPUT statement. (Remember to use the "D:" prefix!) 140 Find out what issue the program is from. 150 OPEN the requested file (LIST format). 360- Adjust checksum routine if program is from 365 issue #10 or later.
Abbreviated Instructions
For those who have not used D:CHECK, here is a step-by-step explanation of how to use D:CHECK2:
100 DATA 234, 34, 120, 254, 23, 78, 34,
198, 202, 134, 233, 102, 97, 134, 33, 910
In the above line of BUG, if the value 254 is incorrect, then the third after line 100 in your program is incorrect. Note all errors and then ENTER your program in order to correct it.