Browse Community

Description

Version 1.1 - January 13, 2011

This page documents some aspects of the PC version of Dungeon Master.

Note that the information here may not be 100% accurate.

Files

Type of fileDungeon Master for PC v3.4Dungeon Master for PC v3.4 MultilanguageDescription
ExecutableSTATS.EXE-FTL - PC System Configuration Reporter
ExecutableINSTALL.EXE-Setup program. It is not required to use this program, manually copying the files to your hard disk works fine.
ExecutableDM.EXEDM.EXEThe program you run to play the game. It asks questions about the graphics mode to use, the sound adapter to use, the input controller to use and the language (for the multilanguage version only)
ExecutableANIMANIMProgram to play animation files
ExecutableFIRESFIRESThe main program
ExecutableIBMIOIBMIOThis program is a loader used to launch the main program with command line parameters
ExecutableSELECTORSELECTORThis program displays the entrance of the dungeon (the large doors and the buttons to Enter and Resume) and plays the background music. This program accesses graphics.dat for the graphics and song.dat for the background music.
ExecutableSWOOSHSWOOSHThis program displays the FTL logo animation and plays the associated sound effect. The image and sound are stored as resources in the executable file.
ExecutableEGAEGASome proprietary video driver for EGA graphics
ExecutableTANDYTANDYSome proprietary video driver for Tandy graphics
ExecutableVGAVGASome proprietary video driver for VGA graphics
Animation FileENDENDContains the ending animation
Animation FileTITLETITLEContains the animated Dungeon Master logo
Data FileDATA\GRAPHICS.DATEUDATA\GRAPHICS.DATContains all the graphics, sound and text used in the game.
Data FileDATA\SONG.DATEUDATA\SONG.DATContains the background music played on the Dungeon Entrance.
Dungeon FileDATA\DUNGEON.DATEUDATA\DUNGEON.DATContains the dungeon description (English version)
Dungeon File-EUDATA\DUNGEONF.DATContains the dungeon description (French version)
Dungeon File-EUDATA\DUNGEONG.DATContains the dungeon description (German version)

Some executable files do not have the .exe extension, but they are still executable files following the DOS-MZ format (the first two bytes of such files are “MZ”).

All the executable files have been compressed with LZEXE. They can be uncompressed with UNLZEXE. Once uncompressed, you can for example see the text strings in clear text in the file FIRES and dissassemble the executables.

DM.EXE command line parameters

DM.EXE is a launcher program whose purpose is to build a command line (defining choices for Language/Graphics/Sound/Pointing device) and then running it to start the game.

When run without any command line parameter or with the -O parameter, it displays menus to choose among options for Language/Graphics/Sound/Pointing device.
When run with at least one command line parameter other than -O, the choice menus are not displayed and the game runs using the specified choices, or using defaults corresponding to the best hardware that was detected (and the English language for the multilanguage version).

The first command line parameter that does not start with - defines the main program to run (defaults to FIRES).

Any command line parameter that is not listed below is copied as-is to the command line used to run the game

You can store some of the command line parameters below in a text file named dmset. If this file is found, its content is appended to the parameters specified on the DM.EXE command line. Only the first 20 bytes of this file are read. Note that the graphics choice and the main program name cannot be stored in this file.

Below is a description of the supported command line parameters, which may be lowercase or uppercase.

-R Does not run the command line and displays it on screen instead
-O This parameter must be positioned after other parameters. It displays menus to choose options for Language/Graphics/Sound/Pointing device, disregarding choices defined with other command line parameters. This is the default behavior when no parameters are specified at all. Useful in combination with -R.

Language (only applicable with the multilanguage version)

-*E English
-*F French
-*G German

Graphics

-VV VGA Graphics
-VE EGA Graphics
-VT Tandy Graphics

Sound

-SN No Sound
-SI Internal PC speaker sound
-SF1 FTL Sound Adapter on LPT1
-SF2 FTL Sound Adapter on LPT2
-SF3 FTL Sound Adapter on LPT3
-ST Tandy 1000 TL/SL Sound
-SD1 Disney Sound Source on LPT1
-SD2 Disney Sound Source on LPT2
-SD3 Disney Sound Source on LPT3
-SB1 Sound Blaster on port 0x210
-SB (default port) or -SB2 Sound Blaster on port 0x220
-SB3 Sound Blaster on port 0x230
-SB4 Sound Blaster on port 0x240
-SB5 Sound Blaster on port 0x250
-SB6 Sound Blaster on port 0x260
-SA Adlib Sound

Pointing device

-PM Mouse
-PAn Analog Joystick (where n is a number between 0 and 7 that defines the sensitivity which can be adjusted with the F1 and F2 keys in the game)
-PJ Digital Joystick (connected on the FTL Sound Adapter)
-PK Keyboard simulation of Digital Joystick

Additional command line parameters

These command line parameters are not processed by DM.EXE but passed on as-is to the IBMIO program that supports them:
-z Runs only the game program, bypassing other programs before (swoosh animation, title animation and entrance), and after (ending animation). Note that this does not work well and breaks the color palette in the game.
-x If present the game tries to load the saved game otherwise it starts a new game and loads the dungeon. Useful combined with -z, otherwise -x is automatically added if Resume is chosen in the SELECTOR program (the entrance screen).

Command line examples

Start the game without asking any questions and using the best detected hardware options:
dm -

Start the game in English with VGA graphics, Sound Blaster sound and mouse control:
dm -*e -vv -sb -pm

Start the game in French with EGA graphics, internal speaker sound and keyboard control:
dm -*f -ve -si -pk

Start the game in German with Tandy graphics, Tandy sound and analog joystick with sensitivity 3:
dm -*g -vt -st -pa3

Order of execution

  • DM.EXE: This is the text program where you make your choices for language, graphics, sound, and pointing device.
  • EGA or VGA or TANDY: Depending on your choice for graphics mode, the corresponding driver is initialized.
  • IBMIO FIRES + parameters: IBMIO is run with several parameters. The first is “FIRES”, the name of the main executable file. Other parameters follow to specify the sound, controller and language as defined by DM.EXE: For example, if you choose Mouse, Internal speaker sound and English language, the command line would be:
    IBMIO FIRES -pm -si -*e
  • SWOOSH: This program displays the FTL logo animation and plays the associated sound.
  • ANIM TITLE -ah -as: The ANIM program is run with the name of the animation file to play as a parameter (the Dungeon Master title in this case). Parameter -ah keeps the color palette intact at the end of animation, leaving the title on screen while SELECTOR is loading. Parameter -as progressively sets all pixels to black before playing the animation to hide the FTL logo.
  • SELECTOR: This program displays the main menu with the Enter, Resume and Quit buttons. It also plays the background music.
  • FIRES or FIRES -x: This is the main program running the game. Parameter -x is used to load a saved game otherwise a new game is started (depends on player selection on entrance menu)
  • ANIM END -as -ae: The ANIM program is run with the name of the animation file to play as a parameter (the ending animation in this case). This program accesses the graphics.dat file, probably for the sounds. Parameter -as progressively sets all pixels to black before playing the animation to hide the end of game screen. Parameter -ae progressively sets all pixels to black after playing the animation, concluding with a fully black screen.

About sound in Dungeon Master and modern sound cards

Michael Grof posted the following information in the forum explaining why there is no sound in Dungeon Master on modern sound cards:

“Few years ago, I was developing SoundBlaster emulator for AdLib Gold sound cards. DM was one of test programs I used to check correctness of the emulation. The main problem is that DM does not use any advanced feature of the sound card, it uses the card only as ‘dumb’ digital/analog converter. The sound code is basically the same for the speaker and for SoundBlaster - high speed system timer just feeds individual samples into the device. New versions of SoundBlasters (PCI, Live) are NOT hardware compatible with original SoundBlasters (SB2,SBPRO,SB16,SBAWE), the new cards use Ensoniq chipsets, unlike Creative Labs custom chips in old cards. So the new cards support only advanced playing techniques, and only those techniques are emulated for old cards effectively. Although designers probably tried to emulate even that ancient ‘direct D/A’ mode, it is surely VERY tricky and the emulation has probably terrible overhead, making the computer running like turtle once the game starts to emit samples at 10kHz rate.”

FIRES

Dungeon Master (PC) - Executable Description [Credits: Jean-Claude]
This archive contains an Excel spreadsheet describing a lot of data parts of the FIRES file.

History of this document

Version 1.1 - January 13, 2011: Added excel spreadsheet
Version 1.0 - April 18, 2004: First release