[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: EDD + CARD



On 26 Jul 2002 02:08:58 GMT, mjmahon@aol.com (Michael J. Mahon) wrote:

>Dick Sisco replied:
>
>>On 25 Jul 2002 19:51:13 GMT, mjmahon@aol.com (Michael J. Mahon) wrote:
>>
><snip>
>>>The standard disk read routines are not capable of detecting the two
>>>0's directly, since the controller shift register's high bit has already been
>>>set by the first of the eight 1's.  Non-standard techniques can measure
>>>the time until the high bit becomes set again, and so determine how
>>>many 0 bits were present after the initial 8.
>>>
>>>If the presence of a non-standard number of 0 bits were not detectable
>>>by a Disk ][ controller, this so-called "bit stuffing" scheme could not
>>>be verified to be present, negating its usefulness as a disk "signature"
>>>technique.
>>
>>But that is exactly why it works as a protection scheme.  After about
>>8-10 0 bits the standard Apple (or IBM) controller begins returning
>>random bits.  
>>
>>A special controller (like that in a Trace duplicating machine) can
>>lay down  two or three bytes of 0s somewhere on the disk. 
>>
>>A standard disk controller will add some random 1 bits while trying to
>>read the 0s. CopyA and its ilk will complain about a bad checksum and
>>refuse the copy the disk.   A bit copy program will blythly write
>>those bytes as real bytes, random bits and all,  or, if it rereads the
>>source track, will complain that it can't get a good read.
>>
>>The protection verifier on the disk will request reads of those bytes
>>multiple times.  If those bytes are the same on several reads, the
>>disk must be a bit bit-copy.  But if they don't match, it's an
>>original.  
>>
>>This technique (called "weak bit") was being discussed in the copy
>>protection community as early as 1985.  I implemented it on the Apple
>>II for 5.25" and 3.5" disks and 5.25" IBM disks (never could get it to
>>work on IBM 3.5" disks) for a disk duplication company in about 1987
>>and I know the Apple 5.25" version was used on at least a couple of
>>disks.
>
>Very interesting, Dick.  Every "signature" protection scheme I have
>seen depended upon a deterministic read of a hard-to-copy condition
>on the disk.  "Weak bit" instead depends on the non-deterministic
>response of the head amplifier to the absence of transitions!  Cool!
>
>So was the string of 0's laid down following some unique "mark",
>like D5 D5?  Was it planted on an unused track or sector, or in
>the self-sync nibbles?  From what you describe, it would only
>have to be four or five nibbles long, in total.

It was the begining of a sector's data in my implementation,  On track
35 so we didn't loose any regular data space.  That made it easier to
check for, especially on 3.5" disks where all one had to do was
repeatedly read the block and compare checksums.  I think it could
have been placed between sectors or even in a fake track splice, at
least for 5.25" disks.