The Automatic Proofreader

From Wikipedia, the free encyclopedia

The Automatic Proofreader is a series of checksum utilities published by COMPUTE! Publications for its COMPUTE! and COMPUTE!'s Gazette magazines, and various books. These programs were designed to allow home computer users to easily detect errors on BASIC type-in programs, and worked by displaying a hash value for each line entered that could be compared against the reference value printed in the magazine. Initially published for use with the Commodore 64 and VIC-20, the Proofreader was later made available for the Atari 8-bit family, Apple II family, and IBM PC/PCjr as well.

The line-individual "real-time" feedback feature was something of a novelty at the time, and represented a significant improvement over earlier checksum utilities, which were typically run only after a user program had been entered, most often giving a single control value for the entire program. The majority of such schemes lacked an error location feature, and, due to quite simplistic checksum algorithms, had serious trouble catching many "minor" typing errors (these errors having the potential of being just as detrimental as "major" ones to the typed-in program's functioning).

[edit] Commodore versions

As seen here, the New Automatic Proofreader for Commodore 8-bit home computers displays an alphabetical letter pair (in this case, "AH") as a checksum for each program line.
As seen here, the New Automatic Proofreader for Commodore 8-bit home computers displays an alphabetical letter pair (in this case, "AH") as a checksum for each program line.

The Automatic Proofreader was first introduced in October 1983 for the Commodore 64 and VIC-20. The same listing was designed to work on both systems. This version of the Proofreader would display a byte-sized numeric value at the top left corner of the screen whenever a program line was entered.

The initial version of the Proofreader, however, had several drawbacks. It was loaded into the cassette buffer (memory area), which was overwritten whenever a program was loaded or saved using the Datassette. This caused difficulties if the user had to resume work on a partially-completed listing. A complicated method had to be used to get both the Proofreader and the program listing in memory at the same time. Also, the checksum method used was relatively rudimentary, and did not catch transposition errors, nor did it take whitespace into account.

Because of this, the New Automatic Proofreader was introduced in February 1986. This version used a more sophisticated checksum algorithm that could catch transposition errors. It also took spacing into account if they were within quotes (where they were generally significant to the program's operation), while ignoring them outside of quotes (where they were not relevant). Also, the decimal display of the checksum was replaced with a letter pair.

The New Automatic Proofreader was designed to run on any Commodore 8-bit home computer (including the C16/Plus/4 and C128), automatically relocating itself to the bottom of BASIC RAM and moving pointers to hide its presence. It was continuously published until COMPUTE!'s Gazette switched over to a disk-only format after the December 1993 issue.

[edit] References

The Compute!'s Gazette extracts below are stored as JPEG images at Sami Rautiainen's Ancient file library. The Compute! extract resides at the Classic Computer Magazine Archive, maintained by Kevin Savetz.