Software Recognition Of The Bad CRC Or Deleted Data Mark:

The usual method of checking the status byte of an SIO call does not apply here. An actual "get status" must be executed (command $53). After the "sector read" call has returned, the user must "get status," which leaves the status in memory location $2EB. The contents of location $2EB will tell us what if any error we have as follows:

 

 BIT 3 - 1 if OK, 0 if CRC error

 BIT 5 - 1 if OK, 0 if deleted data mark

 

Software, using these two types of non-standard sectors, will somehow have to check the status in this way. Often, pirates or "code crackers" with a knowledge of 6502 assembly language will search the disk for a routine which examines the status byte for these values and "patch" or rewrite those routines to ignore the status. This effectively "short circuits" the copyguarding and allows an executable copy of the disk to be made using SUPER-DUP. We do not condone this practice, however. One good way to learn more about these copyguarding techniques is to examine and experiment with existing programs.