Browse Games

Dungeon Master for Amiga

Editions

Screenshots

Version 2.0 English
Dungeon Master (Amiga) - Version 2.0 FTL Logo
Dungeon Master (Amiga)
Version 2.0 FTL Logo
Dungeon Master (Amiga) - Version 2.0 Title
Dungeon Master (Amiga)
Version 2.0 Title
Dungeon Master (Amiga) - Version 2.0 Entrance
Dungeon Master (Amiga)
Version 2.0 Entrance
Dungeon Master (Amiga) - Version 2.0 Credits
Dungeon Master (Amiga)
Version 2.0 Credits
Dungeon Master (Amiga) - Version 2.0 Dungeon View
Dungeon Master (Amiga)
Version 2.0 Dungeon View
Dungeon Master (Amiga) - Version 2.0 Inventory
Dungeon Master (Amiga)
Version 2.0 Inventory
Version 2.0 French
Dungeon Master (France, Amiga) - Version 2.0 Entrance
Dungeon Master (France, Amiga)
Version 2.0 Entrance
Dungeon Master (France, Amiga) - Version 2.0 Dungeon View
Dungeon Master (France, Amiga)
Version 2.0 Dungeon View
Dungeon Master (France, Amiga) - Version 2.0 Inventory
Dungeon Master (France, Amiga)
Version 2.0 Inventory
Version 2.0 German
Dungeon Master (Germany, Amiga) - Version 2.0 Entrance
Dungeon Master (Germany, Amiga)
Version 2.0 Entrance
Dungeon Master (Germany, Amiga) - Version 2.0 Dungeon View
Dungeon Master (Germany, Amiga)
Version 2.0 Dungeon View
Dungeon Master (Germany, Amiga) - Version 2.0 Inventory
Dungeon Master (Germany, Amiga)
Version 2.0 Inventory
Version 3.6 English
Dungeon Master (Amiga) - Version 3.6 FTL Logo
Dungeon Master (Amiga)
Version 3.6 FTL Logo
Dungeon Master (Amiga) - Version 3.6 Title
Dungeon Master (Amiga)
Version 3.6 Title
Dungeon Master (Amiga) - Version 3.6 Entrance
Dungeon Master (Amiga)
Version 3.6 Entrance
Dungeon Master (Amiga) - Version 3.6 Credits
Dungeon Master (Amiga)
Version 3.6 Credits
Dungeon Master (Amiga) - Version 3.6 Dungeon View
Dungeon Master (Amiga)
Version 3.6 Dungeon View
Dungeon Master (Amiga) - Version 3.6 Inventory
Dungeon Master (Amiga)
Version 3.6 Inventory
Comparison with version 2.0: The FTL logo and inventory screens are identical, but the others are not: the title screen was changed, the main menu has a Quit option, there are additional credits and the dungeon view perspective was changed.
Version 3.6 French
Dungeon Master (France, Amiga) - Version 3.6 Entrance
Dungeon Master (France, Amiga)
Version 3.6 Entrance
Dungeon Master (France, Amiga) - Version 3.6 Dungeon View
Dungeon Master (France, Amiga)
Version 3.6 Dungeon View
Dungeon Master (France, Amiga) - Version 3.6 Inventory
Dungeon Master (France, Amiga)
Version 3.6 Inventory
Version 3.6 German
Dungeon Master (Germany, Amiga) - Version 3.6 Entrance
Dungeon Master (Germany, Amiga)
Version 3.6 Entrance
Dungeon Master (Germany, Amiga) - Version 3.6 Dungeon View
Dungeon Master (Germany, Amiga)
Version 3.6 Dungeon View
Dungeon Master (Germany, Amiga) - Version 3.6 Inventory
Dungeon Master (Germany, Amiga)
Version 3.6 Inventory

Videos

Title (Version 3.6)

Information

The Amiga version is the fastest one due to the presence of the built-in blitter chip that accelerates graphics operations.
Release date: November 1988 (versions 2.0), February 1989 (version 2.1), September 1989 (versions 2.2), June 1992 (version 3.6)
Known versions:

  • Version 2.0 English Demo
  • Version 2.0 English
  • Version 2.0 French
  • Version 2.0 German
  • Version 2.1 English
  • Version 2.2 English
  • Version 2.2 German
  • Version 3.6 English, French, German

In the United Kingdom, Gainstar shortly distributed the Amiga edition directly imported from the USA, bypassing the exclusivity of Mirrosoft before they found an agreement:

Dungeon Master (Atari ST) Award - Computer Gamesweek (United Kingdom), Issue No 19 04 January 1989, Page 7
Dungeon Master (Atari ST) Award
Computer Gamesweek (United Kingdom), Issue No 19 04 January 1989, Page 7
[Credits: Internet Archive]
Dungeon Master (Amiga) Advertisement - Computer Gamesweek (United Kingdom), Issue No 19 04 January 1989, Page 8
Dungeon Master (Amiga) Advertisement
Computer Gamesweek (United Kingdom), Issue No 19 04 January 1989, Page 8
[Credits: Internet Archive]
Dungeon Master (Amiga) Advertisement - New Computer Express (United Kingdom), Issue No 7-8 24 December 1988, Page 22
Dungeon Master (Amiga) Advertisement
New Computer Express (United Kingdom), Issue No 7-8 24 December 1988, Page 22
[Credits: Internet Archive]
Dungeon Master (Amiga) Article - New Computer Express (United Kingdom), Issue No 7-8 24 December 1988, Page 4
Dungeon Master (Amiga) Article
New Computer Express (United Kingdom), Issue No 7-8 24 December 1988, Page 4
[Credits: Internet Archive]
Dungeon Master (Amiga) Advertisement - New Computer Express (United Kingdom), Issue No 10 14 January 1989, Page 7
Dungeon Master (Amiga) Advertisement
New Computer Express (United Kingdom), Issue No 10 14 January 1989, Page 7
[Credits: Internet Archive]

Keyboard commands

  • F1, F2, F3, F4: Toggle champion inventory
  • Escape: Freeze / Unfreeze game
  • Return (when resting): Wake up
  • Ctrl-S: disk menu
  • Numeric pad 4, Del, Shift Del: Turn left
  • Numeric pad 5, Up Arrow, Shift Up Arrow: Move forward
  • Numeric pad 6, Help, Shift Help: Turn right
  • Numeric pad 1, Left Arrow, Shift Left Arrow: Move left
  • Numeric pad 2, Down Arrow, Shift Down Arrow: Move backward
  • Numeric pad 3, Right Arrow, Shift Right Arrow: Move right

Note: in the Dungeon Master demo version 2.0, the Shift + arrow keys for Move/Turn are swapped. Keep Caps lock off to play the demo with the keyboard.

Compatibility with Amiga models

Dungeon Master for Amiga version 2.x was designed for Kickstart ROM version 1.2 or 1.3, found in Amiga 1000, Amiga 2000 and Amiga 500.
These versions of the game may not load on later Amiga models (Amiga 500 plus, 600, 3000, 1200 or 4000) because they contain a Kickstart ROM version 2.x or 3.x.
Possible workarounds:

  • Play Dungeon Master version 3.6
  • Hold down both mouse buttons while you turn on the Amiga. Click ‘Display Options’ and select the ‘Original’ chip type, then boot with the Dungeon Master disk in the drive
  • Boot the computer with the ‘ReloKick’ program that allows loading a Kickstart version 1.3 in RAM, replacing the built-in computer ROM

Dungeon Master for Amiga requires 1MB of RAM. FTL worked hard to squeeze the game into the default 512KB of RAM in Amiga 500 computers, but they failed. The Amiga OS consumes more memory compared to Atari ST with the same amount of RAM. The announcement of an Amiga version working with 512KB of RAM, and then its cancellation caused a lot disappointment, as shown in some magazines:

Computer Action (Denmark)
Dungeon Master (Amiga) News - Computer Action (Denmark), Issue No 1 August 1989, Page 4
Dungeon Master (Amiga) News
Computer Action (Denmark), Issue No 1 August 1989, Page 4
[Credits: Retro CDN]
Micro News (France)
Dungeon Master (Amiga) News - Micro News (France), Issue No 22 June 1989, Page 10
Dungeon Master (Amiga) News
Micro News (France), Issue No 22 June 1989, Page 10
[Credits: Retro CDN]
New Computer Express (United Kingdom)
Dungeon Master (Amiga) Article - New Computer Express (United Kingdom), Issue No 13 04 February 1989, Page 6
Dungeon Master (Amiga) Article
New Computer Express (United Kingdom), Issue No 13 04 February 1989, Page 6
[Credits: Internet Archive]
Dungeon Master (Amiga) Article - New Computer Express (United Kingdom), Issue No 23 15 April 1989, Page 3
Dungeon Master (Amiga) Article
New Computer Express (United Kingdom), Issue No 23 15 April 1989, Page 3
[Credits: Internet Archive]

Downloads

Dungeon Master (Amiga)

This archive contains:

  • Amiga disk images in IPF format:

    You need the Software Preservation Society (SPS, ex CAPS) emulator plugin to use these images.

    Dungeon Master for Amiga v3.6 (English, French, German) [SPS ID 833].ipf
    Official IPF disk image released by SPS. Note that this version is not copy protected.
    Dungeon Master for Amiga v2.0 (English) Unofficial.ipf
    Dungeon Master for Amiga v2.0 (French) Unofficial.ipf
    Dungeon Master for Amiga v2.0 (German) Unofficial.ipf
    Dungeon Master for Amiga v2.2 (English) Unofficial.ipf
    These unofficial IPF disk images are not released by SPS (they work in emulators but cannot be written to a floppy disk)
  • Amiga disk images in ADF format:

    Dungeon Master for Amiga v2.0 (English).adf
    [Credits: Steve Debnar (dmman)]
    Dungeon Master for Amiga v2.0 (English) Hacked hard disk version.adf
    [Credits: Steve Debnar (dmman)]
    This version of the game can be played from the floppy disk or from a hard disk. Note that the copy protection is not completely cracked in this version and thus the game may crash with the ‘SYSTEM ERROR 60’ message.
    Dungeon Master for Amiga v2.0 (French) Original (Not working).adf
    Not working because of the copy protection [Credits: Pierre Monnot]
    Dungeon Master for Amiga v2.0 (French) Cracked.adf
    [Credits: Meynaf]
    Dungeon Master for Amiga v2.0 (German) Cracked.adf
    [Credits: Ingmar]
    Dungeon Master for Amiga v2.1 (English) Original (Not working).adf
    Not working because of the copy protection [Credits: Johnny Grasset]
    Dungeon Master for Amiga v2.2 (English) Original (Not working).adf
    Not working because of the copy protection [Credits: Johnny Grasset]
    Dungeon Master for Amiga v2.2 (German) Original (Not working).adf
    Not working because of the copy protection [Credits: Sven Würfel]
    Dungeon Master for Amiga v3.6 (English, French, German).adf
  • Files of hacked version:

    Dungeon Master for Atari ST v1.2 (English) ported to Amiga by Meynaf
    Dungeon Master for Atari ST v1.2 (English) ported to Amiga by Meynaf (Updated 2006-02-14)
    Cracked, hacked and ported to Amiga by Meynaf with the following features:
    • The graphics.dat file has been changed: the copy protection routine was replaced by the FTL Logo “swoosh” data. The code is now in the main executable.
    • The dungeon.dat file is not changed.
    • That version runs in multitask (except for audio) and has an exit option (use CTRL-C if you don’t have any champion in your party).
    • The keyboard management was changed to play with the num pad.
    • The game is slow because of a dynamic translation of the screen that is still managed in Atari ST format.
    • Updated version 2006-02-14:
      • Audio is now allocated correctly
      • Screen is centered vertically (only OS 3.0+ can do that without workbench being visible behind)
      • Compatible with screen grabbers (copper is not used)
      • Graphics.dat file updated with higher quality sounds from the Amiga version

Hard disk patches for Dungeon Master and Chaos Strikes Back from Aminet

In the directory “game/patch” of Aminet, there are two hard disk patches for Dungeon Master (dmpatch.lzh, dmhd.lha for version 3.6) and one for Chaos Strikes Back (csbhd.lzh).

Crack

This section details how to crack Dungeon Master for Amiga version 2.0 French. This nice work was done by Meynaf in his spare time between October 2003 and January 2004). It helps in understanding the protection mechanisms and how to bypass them. Maybe people inspired by this crack will be able to crack other versions.

Meynaf also cracked Dungeon Master for Atari ST and ported it to Amiga. He also cracked Chaos Strikes Back for Amiga and made it playable from hard disk. You can also download the Chaos Strikes Back for Atari ST version 2.1 assembler source code on Chaos Strikes Back for Atari ST. It is the disassembled source code of the original game (non cracked). People can study it if they want.
In the csb.s file, the following labels mark the checksum functions used by the copy protection: u3048, vcfae, w17ea. The last one is called from two places in the code. The save game routine has 3 out of the 4 checksums in the game, the programmers really did not want it to be modified as it contains a copy protection check.

Changes required to crack the game

Offset in file "DM"Replace XX
By YY
Notes
22DD04E55 0000: In C language code, all functions start with 4E55 followed by 0000 or a negative value. This is a LINK instruction to create the stack frame.
7000 4E75: 70xx is moveq #val,D0, that means put the value in D0 register. 4E75 is a RTS (a return). So this returns the value 0.
First protection read
After that the program runs until the presentation it switches on the floppy disk.
The original function directly accesses the floppy drive controller hardware and returns 0 if everything went fine, or stops the program if a copy is detected. This function is replaced by a simple "return 0" to bypass the test.
165F466: Conditional Branch
60: Unconditional Branch
Checksum
1797666: Conditional Branch
60: Unconditional Branch
Checksum
18BE466: Conditional Branch
60: Unconditional Branch
Checksum
1A29C6600 00A8: Conditional Branch
4E71 4E71: NOP NOP (no operation)
Checksum
1275A4E55: LINK instruction to create the stack frame.
4E75: RTS (just a return)
Hidden routine
The function that uses the graphic items as hidden protections is nearly identical, so it is easy to find.
ACBC6606: bne (Conditional Branch on code at +$06)
6010: Unconditional Branch
A test that can display the "System error 60" message
1906C63: Conditional Branch
60: Unconditional Branch
A test that can display the "System error 60" message
1964E4267 4878
6000 0290
Save game function

Note: Three of the four checksums are performed on the save game function.

Additional changes required to run the game from hard disk:

  1. Because the program accesses files using the name of the floppy disk (which is “DungeonMaster”), you have to run the following command before running the game to map this name to the folder where you have the game files (you have to be in that folder before running this command):
    assign DungeonMaster: ""
  2. The “swoosh” program checks the integrity of the master disk (it can display the message “Damaged master disk” if that fails) and then displays the FTL logo.
    In the file “swoosh”, at offset $36a, replace 4EBA 03F6 4A40 661a by 4E71 4E71 4E71 601A to neutralize this test.
    4EBA 03F6: jsr (to a function located $3f6 bytes after that instruction)
    4A40: tst.w d0
    661a: bne (conditional branch to code at +$1a)
    4E71: NOP
    601A: Unconditional branch to code at +$1a.
  3. There is a function to ensure that the game disk is in the floppy drive. If it is not there, a message is displayed asking for it.
    In the file “DM”, at offset $15194, replace 4E55 FFB0 by 7001 4E75 to bypass this test (the function returns 1 if the disk is present in the drive).

Tips on cracking other versions

Other versions of the game require similar changes, but it is not very easy to find the offsets where you need to change some bytes.
You need a good debugger (like devpac), try to find all abnormal disk accesses and neutralize them with NOP or RTS instructions.

You can search for disk access routines by looking for floppy disk controller address FF8600 on Atari ST and address BFD100 on Amiga.

Often conditional branches (6x codes) are replaced by unconditional branches (code 60, BRA). For example, after computing a checksum, the program branches depending on the value of the checksum. Replacing the conditional branch by an unconditional branch can bypass the checksum test.

You also need to find all the checksums in the code and neutralize them.
To find the code for checksums, you have to search for “ADD.W (A?)+”. One of the checksums is used on the dungeon.dat file so it can be ignored for the crack. For the others, you need to find which functions calls the checksum functions and which results they are looking for. Then you can neutralize the checksums by always giving the calling functions the results they want.

There is a word value “0C91” stored in binary item #558 in graphics.dat at offset 3234 which is used by the copy protection. In the program, a variable is compared to that value. Other values are written in the variable in case the protection fails which seem to cause the animation freeze. The variable is initialized with that value from the graphics.dat file.

To find the protections, some numerical constants are useful to search: 4ef9, 103e3, 88, 31e9, 22b, 459, c91, 1f4.
Some of them (88, 31e9, 22b, 459, c91) are arbitrary values only used to store the result of protection checks. Others (103e3, 1f4) are counter values: after these numbers of clock ticks, the game stops.
The 4ef9 value is the binary code for the JMP instruction. It is used by the checksum functions to ensure that they are working on the correct code. At the beginning of the program, there is a large list of JMP instructions that jump to various functions in the code. The checksum functions compare the first word of data of the function they have to check with the JMP code (4ef9) to ensure they are working on the function’s real code and not the JMP table at the beginning of the program.
These values seem to be identical in all versions, some of them can be found in Chaos Strikes Back for Windows.