Page 1 of 1

The DM copy protection explained

Posted: Sun Feb 15, 2004 10:48 am
by ChristopheF
I have made a new web page about the copy protection used in Dungeon Master and Chaos Strikes Back.
This page is not yet integrated into the site, but you can view it here: http://dmweb.free.fr/FFCopyProtection.htm

Many thanks to Meynaf who did most of the real job, I only wrote the page.

Posted: Sun Feb 15, 2004 11:54 am
by Toni Y
Very interesting article. I guess that also explains the apparent random disk access during the game?

Posted: Sun Feb 15, 2004 7:04 pm
by ChristopheF
Yes, the random disk accesses are cause by the copy protection.

Posted: Sun Feb 15, 2004 8:33 pm
by Paul Stevens
I think much of the 'Copy Protection' was abandonded in
Atari's Chaos Strikes Back. I saw a lot of code that looked
like copy protection code but it seemed not to do much of
anything. It reminded me of code that had not been maintained
and had lost its original use. There were checksums of
some of the program's functions but no use was made of
them. Of course I worked from a hacked version and perhaps
the Copy Protection had already been cleverly bypassed.

The paper refers to CSBwin code that remains from the
copy protection schemes. This is the Watchdog Timer. In my
opinion, the Watchdog Timer is a very simple mechanism
designed to catch errors in the timer queue. It puts a timer
in the queue and starts counting. Every time the timer comes
out of the queue the count is reset and the timer is put back
into the queue. If the timer fails to come out then an error
is reported. It certainly may be a remnant of a copy protection
scheme but I don't remember seeing it that way. This is exactly
how the Watchdog Timers in embedded processors work except
that in the case of embedded processors the error report
amounts to a reset (or reboot). The rover on Mars recently
recovered itself using such a mechanism.

Posted: Sun Feb 15, 2004 11:53 pm
by ChristopheF
CSB on Atari ST used the same copy protection mechanism as DM. I confirm that the hacked version you used for CSBwin was already cracked, that explains why you may have found "useless" parts of code.

For the watchdog timer, I don't know the precise link with the protection, maybe Meynaf can give us more details.
But the consequence of the watchdog timer error is indeed the same as a copy protection check failure. Is there such code elsewhere in the program?

Posted: Mon Feb 16, 2004 10:12 pm
by dungeon.master
Hi !

This is a great piece of History.

Thanks for making this hard work, and also thanks for the explanation.

I now know why DM was so hard to crack : great game and great protection.

Thanks

dungeon.master