Open main menu

Freescape/DRM

< Freescape
Revision as of 11:03, 19 August 2024 by Neuromancer (talk | contribs) (→‎AtariST releases)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Certain Freescape games included DRM protections that ScummVM cannot bypass since the data needed for it is hidden in a physical track of the disk. In particular, the one used in some Amiga or AtariST releases is called CopyLock.

The first step for all the encrypted release is to dump the disk into a suitable format. This can be either ipf for Amiga or stx for AtariST releases. Other types of images could be supported, but they should retain all the track information, otherwise, it will be impossible to decrypt the data (for instance, the adf format for Amiga lacks of that information and therefore, cannot be used). This process is only needed for the 0.drk or the 0.tec file depending on the game. ScummVM will finish the decryption process once the CopyLock protection is removed. You can easily verify if CopyLock is used checking the result of the following command matches:

$ strings FILE | grep Rob
Protection (C)1989 Rob Northen Computing. All Rights Reserved.

Amiga releases

In case of having the Amiga release with CopyLock (e.g. the Dark Side one from MicroStatus), follow the instructions here to dump and decrypt your game data. The script will use directly the disk data to decrypt the file.

AtariST releases

In case of having an AtariST release with CopyLock (e.g. the Dark Side one from MicroStatus), use dec0de to decrypt game.

1. Clone/Download the dec0de repository. There is no need to compile anything since it already contains AtariST binaries ready to use.

2. Extract the encrypted file from the game. (e.g. 0.drk from Dark Side, 0.tec from Total Eclipse or m.prg from Castle Master) and save it in "prebuilt/atarist" directory.

3. Run dec0de inside hatari (you can use a real AtariST if you want, but this is easier). You will need an image of the original disc, otherwise the copylock protection cannot be removed. To do that, execute:

hatari -d prebuilt/atarist -m disk.stx

4. Inside hatari, go to the C drive, open dec0de.prg, press 1 and select the encrypted file. Then the disk should be already loaded, press enter and it will decrypt the file. Save it in the C drive, so you will see it inside "prebuilt/atarist".

5. Close the emulator, since it is no longer needed.