We heard that Turrican has been a troublesome title to image, so IFW decided to give it a full analysation pass. He does not have an account here, this is why I am posting this bit of information. It's straight from an email, in case it sounds familiar and private...:
The protection is not what you might think it is, but impossible to guess without seeing the bit cells...
It's one type of very powerful Copylock, probably the best version.
Impossible to copy, data can only be generated.
It contains "no flux reversal" areas.
In theory you can only read the data bits with the WD177x FDC.
However what it does is, that it checks both the *clock* and the *data* bits in the mfm encoding, more over all of them have to be 0.
You should understand that is impossible in theory, for two reasons:
- the lack of flux reversals increase the gain on the head, eventually leading to an amplified level that generates a fake flux reversal (the so called "weak bits")
- the pll and data separator can't lock onto the clock bits either, so (depending on fdc type) would eventually lose framing and make cell sizes random and might as well inject a 0 or 1 bit as a bonus (weak bits again, but depends on fdc).
If you create an analog copy (drive to drive,such as Cyclone on Amiga, similar things exist for the ST I am sure) of such disk, the drive reads no flux reversals for an extended period of time, and the other drive tries to write that.
If you write that data with the other drive, what you get back is weak bits, instead of the "no flux reversal" area.
Therefore, even a copy made with analog equipment would never ever work, as the original has no flux reversal at the protected signature, the copy will have weak bits instead.
Naturally, other, simpler copying methods wouldn't work either.
One sector is shifted by a bit cell.
On a WD177x, when you read a data block, the fdc locks onto the sector, and disables further re-syncs caused by mfm marks.
Therefore if you have a data block written shifted by a bitcell and synced properly, you'd be able to read data bits as well as clock bits!
Now that's all nice, but if that was something that can be written with a normal controller it would be effort wasted.
So how about checking that we have a "no flux reversal" area instead? That as you know by now is impossible to write anyway
See attached pictures to understand what happens for real:
First you read sector 0; p1 and p2 at different positions (the number on the left is the bitcell position)
The data block gets locked on the marks at the line highlighted by yellow on p1.
The AM detector is turned off at this point. The FDC reads, and ignores the marks as expected (the bitshifted marks on p2 yellow line), ie continues to stream at the same data bit alignment.
Now read sector 16 instead.
The data block that must be locked onto is shifted by a single cell, in other words, clock and data bits shifted into each others position, see p3.
You can read the clock bits now.
You do not have the required permissions to view the files attached to this post.