The DM copy protection explained

Discuss anything about the original Dungeon Master on any of the original platforms (Amiga, Atari, etc.).
This forum may contain spoilers.

Moderator: Ameena

Forum rules
Please read the Forum rules and policies before posting. You may Image to help finance the hosting costs of this forum.
Post Reply
User avatar
ChristopheF
Encyclopedist
Posts: 1603
Joined: Sun Oct 24, 1999 2:36 pm
Location: France
Contact:

The DM copy protection explained

Post 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.
User avatar
Toni Y
Adept
Posts: 221
Joined: Sat Feb 07, 2004 8:54 am
Location: Finland

Post by Toni Y »

Very interesting article. I guess that also explains the apparent random disk access during the game?
Toni Ylisirniö
Author of Grave of King Millias, Return of Chaos, and DM2 dungeons.
User avatar
ChristopheF
Encyclopedist
Posts: 1603
Joined: Sun Oct 24, 1999 2:36 pm
Location: France
Contact:

Post by ChristopheF »

Yes, the random disk accesses are cause by the copy protection.
User avatar
Paul Stevens
CSBwin Guru
Posts: 4322
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Post 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.
User avatar
ChristopheF
Encyclopedist
Posts: 1603
Joined: Sun Oct 24, 1999 2:36 pm
Location: France
Contact:

Post 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?
User avatar
dungeon.master
Artisan
Posts: 178
Joined: Wed Dec 25, 2002 8:29 pm

Post 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
Post Reply