ACU Proofreader
Author : Aimo Niemi
Publisher : September 1988
Lance Davis presents a new and revolutionary
real-time listing checksum program
for ihe CPC by Aimo Niemi
For ages now frustrated type-in addicts have been pleading with me to give them
a listing checksummer. For ages new I have been telling these poor souls that we
were looking for one. But we didn't want just an ordinary checksum program, we
wanted the best. That is nothing less than ACU readers deserve.
Aimo Niemi sent us Proofreader from Finland quite a while ago. We were immediately
impressed, but decided to give it a rigorous testover a period of some months.
Apart from one or two minor grumbles, Proofreader was acclaimed by our human guinea
pigs as a major breakthrough in magazine-toreader relations. We made the requested
changes and ACU Proofreader is the result.
It works differently from any other listing checker you may have come across, using
clever machine code to display a two-figure checksum enclosed in square brackets
every time it encounters a carriage return.
This innovative approach to the problem means that you can check your program, line
by line, as you type it in. Alternatively, you can tap a program listing in, run
ACU Proofreader, and LIST the program to screen or LIST#8 to printer.
A checksum will appear on the end of every line.
However, for two good reasons we will be publishing the checksums at the beginning of
the line. Firstly because it makes the listings that much easier to read, and secondly
to stop sleepy typists from typing the checksums in as part of the program. Our tests
have proved it tworks better this way — but remember that your checksum will appear at
the end of the line.
Typing it
---------
ACU Proofreader has proofread itself, but these checksums obviously will not be of much
use to you when ?rst typing the program in. They are used here to show you what they will
look like in future ACU listings, and so you have something to test the program on when
you've got it running.
The machine code starting at line 520 is the only part of the listing that might cause you
trouble, and this is checksummed in the normal way.
Take care not to type the same line of oode in twice with two different line numbers —
something that is very easily done. And make sure the machine code checksum at the end of
each line is correct before running the program.
Take care also with the numbers and addresses in lines 350 to 430; the slightest difference
will almost certainly cause strange things to happen.
Line 400 should be permanently REMmed out or removed it you are using a 664 or 6128. If
strange things happen, or the ACU Proofreader checksums consistently come out wrong. the
presence or absence of this line is probably causing it.
And SAVE the program before RUNning it for the first time.
There are a few things watch out for when using ACU Proofreader.
Always run the program from a clean machine. Switch off and on, then load and run ACU
Proofreader before loading in a partly typed program or typing in a fresh program.
Once proofreading mode has been selected, pressing Return or Enter will cause a checksum of
whatever you have typed in to be generated. This checksum is not part of the listing - it
cannot, and it will not, be saved by any SAVE command. It is purely a visual aid.
If you want to use LlST#8 to get a hardoopy with checksums, the variable "screen" in lines
380, 410, 420 and 430 should be changed to "printer" before running the program.
Don't try running the program, changing "screen" to "printer", and then running the program
again. The result will almost definitely be a crash. Instead, save two versions of the program.
PR-SCR and PR-PTR, with the variables set accordingly.
Once the program has poked in the data and made the necessary patches, you will need to type
POKE &9006,32 to switch your machine into proofreading mode. POKE &9006,24 returns your machine
to normal.
ERRATHERAPY
-----------
Type mismatch in 220
--------------------
Check line 220. Make sure the variables following READ are correctly typed as "a$"
and "check".
Data exhausted in 220
---------------------
Check line 210. Make sure the numbers in the FOR..NEXT..STEP command are correct.
Check that you have typed in all the DATA lines from 520 to 670.
Check that there is a comma separating the machine code from the checksums in the
DAT lines. It is very easy to type a fullstop by mistake.
Type mismatch in 240
--------------------
Check all the DATA lines from 520 to 670. Make sure there are no letter Os in there
where there should be zero's. The only characters in there should be in the range a-f
for letters and 0-9 for numbers.