Syncr0l0k

From Software Archive
Revision as of 18:58, 19 July 2019 by Enigma (talk | contribs) (Created page with "Description by LordCrass This awful little protection writes to the disk. It writes to t/s 19/02 and that must succeed or it tries over and over. Then it tries writing to t/s...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Description by LordCrass

This awful little protection writes to the disk. It writes to t/s 19/02 and that must succeed or it tries over and over. Then it tries writing to t/s 20/02. This must fail or it tries over and over again. The protection seems to be based on physically damaged sectors that need to return errors when attempts are made to write to them. I tried erasing the sector header for 20/02 to see if it would fool the protection, but it doesn't work. The protection checks that some of the sector was written (first 6 bytes at the minimum must match). After it writes to track 20, it reads it back to verify it. The data it writes is a pseudo-random byte taken from the timer, so it's different each time you load the game. When it reads it back, at least 6 bytes must match what it thinks it wrote, but the whole sector cannot match. If it does: protection failed. Unless someone can think of a way to damage the sector in an image to the extent that a U2 write command will only partially work, this won't function in an emulator. And unless you can physically damage a real disk at the right spot, this won't work remastered either. On the other hand, it's an easy crack to remove the protection check entirely. There's only one little method used to hide it (check $179F in the main program for the self-modifying code that hides the protection check at $17A2).