Overview
The Amiga version is the fastest one due to the presence of the built-in blitter chip that accelerates graphics operations.
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
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.
Screenshots
- Version 2.0 English

- Version 2.0 French

- Version 2.0 German

- Version 3.6 English

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

- Version 3.6 German

Packaging
Manuals
Dungeon Master Manual (Original release)
Dungeon Master Manual (Psygnosis release)
Dungeon Master for Amiga (English, Original release)
- Box Front and Side / Box Back and Side

[Supplied by Jehan (jdbs@brutele.be)]
- Disk

[Supplied by Mad Ollie]
- Running Note / English Keyboard Controls

Dungeon Master for Amiga (US, Original release)
- Manual
- This manual is identical to the manual in the Apple IIGS release

- Registration Card / Reference Card

- Advertisement for the Audio CD - Dungeon Master The Album and associated Booklet

- Advertisement for the Hint Book - Chaos Strikes Back Adventurer's Handbook

- Advertisement for the Hint Book - Chaos Strikes Back Adventurer's Handbook

Note this advertisement for the Chaos Strike Back Adventurer's Handbook was in a Dungeon Master box that did not include Chaos Strikes Back.
Dungeon Master for Amiga (UK, Mirrorsoft release)
- Keyboard Controls

Dungeon Master for Amiga (French, Mirrorsoft release)
- Box Front / Box Back / Box Side

[Supplied by Pierre Monnot]
- Version 2.0 French Disk / Version 2.0 French Keyboard Controls

[Supplied by Bruno Aublet]
- Version 2.0 French Disk (Alternate) / Version 2.0 French Keyboard controls (Alternate)
~Front~ScanThumbnail.jpg)
[Supplied by Pierre]
Dungeon Master for Amiga (German, Mirrorsoft release)
- Box Front / Box Back

[Supplied by The Legacy]
Dungeon Master for Amiga (German, Mirrorsoft release)
This package contains the English version of the game released in Germany with translated material.
- Box Front / Box Back

[Supplied by The Legacy]
- Booklet / Disk /

[Supplied by Ingmar]
Dungeon Master for Amiga (US, 1992 release)
- Notes Front / Notes Back / Sticker

[Supplied by Pierre Monnot]
Dungeon Master and Chaos Strikes Back for Amiga (Europe, Psygnosis release)
- Box Front / Box Back

[Supplied by The Legacy]
- French Keyboard Controls

[Supplied by Patrice]
Dungeon Master and Chaos Strikes Back Compilation for Amiga (Europe, Psygnosis release)
- Box Front / Box Back / Box Side / Disk

[Supplied by Steve Debnar (dmman)]
- Keyboard Controls
- This card was in the box of the Psygnosis release.

[Supplied by Steve Debnar (dmman). Spanish controls added by Udirnel]
Dungeon Master and Chaos Strikes Back Compilation for Amiga (UK, Psygnosis release)
- Box Front / Box Back / Box Side / Box Inside / Dungeon Master Manual Front Cover / Chaos Strikes Back Manual Front Cover / Keyboard Controls / Registration Card / Questionnaire Card

This package contains the same Dungeon Master disk as in 'Dungeon Master for Amiga bundled with AmiRAM'.
This package contains the same Chaos Strikes Back disks as in 'Chaos Strikes Back for Amiga (Alternate scans)'.
[Supplied by Howard Feldman from Museum of Computer Adventure Game History]
Dungeon Master for Amiga bundled with AmiRAM memory cards
The AmiRAM memory extension for Amiga computers was bundled with Dungeon Master because it was an example of a game requiring 1 MB of RAM.
There were several different packagings.
Memory Card - AmiRAM 1000 bundled with Dungeon Master
Memory Card - AmiRAM 1000 TecnoPlus bundled with Dungeon Master
Memory Card - AmiRAM 1000 TecnoPlus bundled with Dungeon Master and Chaos Strikes Back
Scans
Dungeon Master for Amiga - Disk Alternate
~Front~ScanThumbnail.jpg)
[From Hall of Light]
Downloads
Game~Dungeon_Master~Amiga~Software.rar
- Dungeon Master for Amiga version 2.0 (English) [Supplied by Steve Debnar (dmman)]
- Dungeon Master for Amiga version 2.0 (English, Hacked hard disk version) [Supplied by 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 version 2.0 (French) Original, not working because of the copy protection [Supplied by Pierre Monnot]
- Dungeon Master for Amiga version 2.0 (French) cracked [Supplied by Meynaf]
- Dungeon Master for Amiga version 2.0 (German) cracked [Supplied by Ingmar]
- Dungeon Master for Amiga version 2.1 (English) Original, not working because of the copy protection [Supplied by Johnny Grasset]
- Dungeon Master for Amiga version 2.2 (English) Original, not working because of the copy protection [Supplied by Johnny Grasset]
- Dungeon Master for Amiga version 2.2 (German) Original, not working because of the copy protection [Supplied by Sven Würfel]
- Dungeon Master for Amiga version 3.6 (English, French, German)
This version consists of an Amiga disk image in IPF format. You need the Software Preservation Society (SPS, ex CAPS) emulator plugin to use this image.
Note that this version is not copy protected.
- Dungeon Master for Atari ST version 1.2 (English), cracked, hacked and ported to Amiga by Meynaf
- The graphics.dat file has been changed: the copy protection routine was replaced by the 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
There are also programs that allow running some game versions from a hard disk: http://dmweb.free.fr/?q=view%2FLinks&tid=64
Compatibility with Amiga 1200
Dungeon Master for Amiga version 2.x was designed for Kickstart ROM version 1.2 or 1.3, found in Amiga 2000 and Amiga 500.
The game may not load on Amiga 1200 or 4000 computers because they contain a Kickstart ROM version 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
See also: How to play Amiga games under Windows? (Dungeon Master, Chaos Strikes Back and Dungeon Master II)
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 |
22DD0 |
4E55 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. |
165F4 |
66: Conditional Branch
60: Unconditional Branch |
Checksum |
17976 |
66: Conditional Branch
60: Unconditional Branch |
Checksum |
18BE4 |
66: Conditional Branch
60: Unconditional Branch |
Checksum |
1A29C |
6600 00A8: Conditional Branch
4E71 4E71: NOP NOP (no operation) |
Checksum |
1275A |
4E55: 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. |
ACBC |
6606: bne (Conditional Branch on code at +$06)
6010: Unconditional Branch |
A test that can display the "System error 60" message |
1906C |
63: Conditional Branch
60: Unconditional Branch |
A test that can display the "System error 60" message |
1964E |
4267 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:
- 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: ""
- 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.
- 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.
Videos
Title (Version 3.6) https://www.youtube.com/watch?v=Q5hPgGy4KBo