Contents

Technical Documentation - Dungeon Master for PC

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 file Dungeon Master for PC v3.4 Dungeon Master for PC v3.4 Multilanguage Description
Executable STATS.EXE - FTL - PC System Configuration Reporter
Executable INSTALL.EXE - Setup program. It is not required to use this program, manually copying the files to your hard disk works fine.
Executable DM.EXE DM.EXE The 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)
Executable ANIM ANIM Program to play animation files
Executable FIRES FIRES The main program
Executable IBMIO IBMIO This program is a loader used to launch the main program with command line parameters
Executable SELECTOR SELECTOR This 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.
Executable SWOOSH SWOOSH This program displays the FTL logo animation and plays the associated sound effect. The image and sound are stored as resources in the executable file.
Executable EGA EGA Some proprietary video driver for EGA graphics
Executable TANDY TANDY Some proprietary video driver for Tandy graphics
Executable VGA VGA Some proprietary video driver for VGA graphics
Animation File END END Contains the ending animation
Animation File TITLE TITLE Contains the animated Dungeon Master logo
Data File DATA\GRAPHICS.DAT EUDATA\GRAPHICS.DAT Contains all the graphics, sound and text used in the game.
Data File DATA\SONG.DAT EUDATA\SONG.DAT Contains the background music played on the Dungeon Entrance.
Dungeon File DATA\DUNGEON.DAT EUDATA\DUNGEON.DAT Contains the dungeon description (English version)
Dungeon File - EUDATA\DUNGEONF.DAT Contains the dungeon description (French version)
Dungeon File - EUDATA\DUNGEONG.DAT Contains 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.

Here is the order of execution (I'm not 100% sure of this):

  • DM.EXE: This is the text program where you make your choices for graphics mode, sound adapter, controller and language.
  • 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:

    Controller:

    • -pm: Mouse (PS/2)
    • -mc1: Mouse (COM1)
    • -mc2: Mouse (COM2)
    • -mc3: Mouse (COM3)
    • -pa3: Analog Joystick
    • -pj: Digital Joystick
    • -pk: Keyboard Simulation of Digital Joystick

    Sound:

    • -sn: No sound
    • -si: PC Spkr 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)
    • -sb: Sound Blaster
    • -sa: Adlib Sound

    Language:

    • -*e: English
    • -*g: German
    • -*f: French

    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).
  • SELECTOR: This program displays the main menu with the Enter, Resume and Quit buttons. It also plays the background music.
  • 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.

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

Technical_Documentation~Dungeon_Master~PC~Executable_Description~Document.7z Technical_Documentation~Dungeon_Master~PC~Executable_Description~Document.7z
This archive contains an Excel spreadsheet describing a lot of data parts of the FIRES file.
[Supplied by Jean-Claude]

History of this document

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