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

Re: Cracked Software



Steve Mentzer <!smentzer@ecom.net> wrote:

> >
> >     Anyhow.....One type of protection that always intrigued me was the
> >EA protection........ya know the clickity clickity click sound that
> >popped up every so often. Anyone know how they did that?  I'd love it
> >when that happened...I'd buy up any EA game I could just to hear the
> >different combinations of clicks they put in there.  There were also
> >different type of clicks too....and if you were quick, you could swap
> >disks quickly with another EA original disk with the same click and it
> >would work.  Am I making sense??
> 
> I think I remember that form of protection. I believe it was called
> "nibble counting". It basically moved the heads back and forth real fast,
> performing an intermittent read. If the number of nibbles (everything on
> the DiskII was arranged as nibbles, 4 bytes), was vastly different than
> the ones coded into the program, the system would fail. In essence, they
> would perform a read immediately following the track change, and count the
> number of nibbles prior to the track start header ($D5 $AA $96 if I
> remember correctly).

When talking about GCR-formatted disks (5.25" in particular) "nibbles"
are raw disk bytes, which are usually 8 bits.  (In traditional usage, a
nibble is 4 bits, not 4 bytes.)

With 6-and-2 encoding (DOS 3.3 and later) there are about 66 8-bit
values that can be reliably written and read back again by the disk
controller.

(The restrictions include having bit 7 set, no more than two consecutive
zero bits, and only one pair of consecutive zero bits within a byte.)

"Nibble counting" works on the principle of writing "illegal" nibble
values.  Reading the disk back in a traditional manner will not
correctly read these illegal bytes, and a copy made from this will
differ slightly from the original.

The copy-protected program simply counts how many nibbles are present on
the protected track (or tracks), and if it differs by more than a very
small amount, then the disk is assumed to be a copy.

I don't think nibble counting requires any special seek methods, though
a technique as you describe could use nibble counting over a partial
track.  As you said, I expect it would be unreliable on disks that were
out of tolerance for their rotation speed.

-- 
David Empson
dempson@actrix.gen.nz
Snail mail: P.O. Box 27-103, Wellington, New Zealand