Page 5 of 7

Re: Dungeon Master for Atari ST disk image produced by dtc.e

Posted: Fri Nov 04, 2011 11:06 am
by IFW
It had to be a post-processing effect on the bitstream as there is no way to define this using FreeForm.
My guess would be defining it via a custom pre-compensation table, but it could have been just an additional function after the track buffer was ready.
In either case, it's an effect that is applied later, so an IPF file would store it as such; whether it will be marked as an algorithmic change in bitcell widths or something else will have to be decided.

Re: Dungeon Master for Atari ST disk image produced by dtc.e

Posted: Fri Nov 04, 2011 10:54 pm
by Gothmog
If I understand correctly, that means you would store the "normal" sector data (using only bytes of value $68 for each byte containing a fuzzy bit, which is the intended data as proven by the CRC that is correct when using such values). Then you would implement a specific function for Dungeon Master & Chaos Strikes Back in the IPF library (or in the IPF files themselves?) that would dynamically modify the bitcell width at runtime, including small random variations to simulate for rotation speed fluctuations?
Isn't there a more generic way of handling fuzzy bits that would apply to more copy protection schemes?

Re: Dungeon Master for Atari ST disk image produced by dtc.e

Posted: Sat Nov 05, 2011 12:24 am
by Gothmog
Another request: could you post the list of Amiga and Atari ST versions of Dungeon Master and Chaos Strikes Back that have already been dumped and submitted to SPS for preservation?
I submitted some dumps last week (along with other versions for Japanese systems, Apple IIGS), but I wonder which versions and languages I should be tracking down to make sure all of them are preserved.

Re: Dungeon Master for Atari ST disk image produced by dtc.e

Posted: Sat Nov 05, 2011 1:36 am
by DrCoolZic
For info I have also submitted DM and Chaos Strike back (US versions)

I will also get back on your question about the fuzzy bits (would like also to better understand how it is handled in IPF). I have a new experimental version that show the decoded bytes as well as the transitions. Quite interesting! But I have something I do not understand so I want to further investigate before I release ...

Dungeon Master for Atari ST disk image produced by dtc.exe

Posted: Sat Nov 05, 2011 12:47 pm
by mr.vince
Gothmog wrote: Isn't there a more generic way of handling fuzzy bits that would apply to more copy protection schemes?
There is, but DM is the only game with this type of protection so deserves to be stored correctly.

Re: Dungeon Master for Atari ST disk image produced by dtc.e

Posted: Sat Nov 05, 2011 7:05 pm
by DrCoolZic
Yes I believe that DM has a unique way of using fuzzy bits. After all the protection is covered by a patent!

Here is my understanding - correct me if I am wrong:
Normally fuzzy bits are just used to create a "fuzzy sector" i.e. a sector that will have a different content each time you read it. To check you read multiple times (usually 3 to be safe) and compare the content to check that they are different. With this kind of fuzzy bits it is usually sufficient to store the fact it is "fuzzy sector" with eventually the location of the first byte that differ.
What is unique to DM is the fact that the "border bits" are used to change the bytes 68 into bytes E8. So my guess is that DM not only test the fact that some bytes are different from read to read but also that some byte 68 are turned into byte E8.

I have attached a picture of a section of sector 7 analyzed with an experimental KFAnalyze version. On the plot I have added at the bottom the combined clock/data stream and the resulting extracted clock byte and data byte (from bottom to top). The next line contains a scattered plot of the flux transition spacing where dots in green are "border bits". As can be seen the 68 are changed to E8 in region where are the border bits
You will also notice that "border bits" seems to perturb the DPLL clock

Re: Dungeon Master for Atari ST disk image produced by dtc.e

Posted: Sun Nov 06, 2011 12:36 am
by IFW
Yes, in practice the Amiga version checks for the fixed and random bitcells.
The ST version can only check for the data bits (the Amiga one does check the clock bits), but does not matter, in principle the result is deterministic weak bits.

As for checking for weak bits some games do a little bit of more work than you'd expect: most notably a protection scheme used by Thalion checks weak bits 50 times in a row, and if any of the reads match any of the existing samples, the protection fails...!

Re: Dungeon Master for Atari ST disk image produced by dtc.e

Posted: Sun Nov 06, 2011 12:38 am
by IFW
...and no, the weak bit markers in IPF files match exactly the location and length of the original data and can be anywhere any time in the stream, ie not just one byte changing or anything similar.

Re: Dungeon Master for Atari ST disk image produced by dtc.e

Posted: Sun Nov 06, 2011 8:37 pm
by galibert
mr.vince wrote:
Gothmog wrote: Isn't there a more generic way of handling fuzzy bits that would apply to more copy protection schemes?
There is, but DM is the only game with this type of protection so deserves to be stored correctly.
You mean all the amiga games with weak bits do it through unformatted or out-of-alignment zones?

OG.

Re: Dungeon Master for Atari ST disk image produced by dtc.e

Posted: Sun Nov 06, 2011 8:47 pm
by IFW
Yes, various versions of Dungeon Master, Chaos Strikes Back and Oids are the only games on any platform that use this technique. Might have something to do with the patent on it...