When floppy disk copy protection was a thing
Back in the day, software didn’t come on encrypted, online, distributed marketplaces, they came on humble floppy disks. This made them susceptible to copying. To fight this, developers started using all kinds of interesting tricks, which hackers would try to break. Thus started a nearly decade-long war of hackers and copy protection schemes.
GloriousCow started a series of investigations on historical floppy protection schemes on his blog. His site is amazing – he makes his own tools as well as shows the assembly code and has great diagrams. He covers things like EliaShim CodeSafe, XEMAG Xelok, Vault Prolok, EA Interlock, Softguard Superlok, Formaster Copy-Lock, and even got an interview with Robert McQuaid who made the protection circumventing CopyWrite software.
I particularly like his article about Copy-Lock mechanism used by Kings Quest. Copy-Lock employed several tricks such as sectors with non-standard sizes and putting purposefully incorrect CRC values on tracks to make standard copying incorrect.
In this case, Copy-Lock used a mechanism in which sector 1 on track 6 was intentionally written as only 256 bytes (instead of 512 bytes), with a 256-byte blank section to fill the gap. Additionally, the CRC was also altered to make a normal read think it was invalid. A normal INT 13h disk read would search and fail the read and CRC check.
CopyLock worked by bypassing the BIOS and talking directly to the disk controller. It would issue an INT 13h read on sector 1 track 6 that it knew would fail. This would place the head on the right track. The code would then tell the floppy controller directly to read track – and dump all 512 bytes. It was looking for the special byte 0xF7 as the final byte of that supposedly empty section of the track. The key is that it is not possible to create invalid tracks with invalid CRC’s like this using a standard IBM PC floppy controller. Copy-Lock created the special hardware that could write in this way and sold that, along with the checking code, as their solution.
His article has all the assembly code – which is really awesome.


Links:
- https://martypc.blogspot.com/2024/08/pc-floppy-copy-protection-formaster.html
- https://hackaday.com/2019/06/25/copy-protection-in-the-80s-showcased-by-classic-game-dungeon-master/
- https://hackaday.com/2024/08/27/exploring-pc-floppy-protection-formaster-copy-lock/
- https://hackaday.com/2023/09/15/preserving-floppy-disks/
3 thoughts on “When floppy disk copy protection was a thing”
Glad you enjoyed the series!
I plan to continue it someday, once I have rewritten MartyPC’s floppy controller to be more accurate.
Some of the remaining protections, such as Rob Northen’s CopyLock, are quite advanced and very resistant to ‘traditional’ floppy emulation.
Wow – hi GloriousCow! I’m very happy to have stumbled across your website and see that people are still working on the glorious old days of computing where I got my start. Watching the never ending battle of game crackers and copy protection filled many of my teenage years. I taught myself assembly to remove the document check code from on of my favorite old PC games.
A lot of this is why I got into computers and ended up doing it for a living for more almost 30 years now!
I don’t have buckets of time, but might be able to help at some point. 🙂