Typical errors 21,22,23,27,and 29. These were all typical error codes used in the early copy protection.
These are “Read Errors”
#20 – Block Header was not found
#21 – No Synch Character
#22 – Data Block not found
#23 – Checksum Error in Data Block
#27 – Checksum Error in Header
#30 – General Syntax Error
For reference, #24 is also a read error, #25 is a write error, #26 is write protection is on, #29 is Disk ID Mismatch.
This protection worked by putting a certain number of errors on a disk.
The program would then check/count the number of error messages and would not load if the number was not correct.