Dungeon Explorer (DOS, 1990)

Back to Index

Files

The ZIP that you can find distributed in various places on the internet has these files:

FileDescription
CGAMASK.PICMissing file! Transparency data for CGAMON.PIC
CGAMON.PICCGA monster graphics
CGAPICS.PICCGA tileset graphics
DUNGEON.OVRtext file, introduction to the "Dungeon of the Beast" adventure. OVR = overview?
DUNGEON.RMSbinary, "Dungeon of the Beast" room data. RMS = rooms?
EGAMASKS.PICUnused
EGAPICS.PICEGA tileset graphics
EXPLORER.DSCtext file, Instructions screen text accessible from main menu
EXPLORER.EXE16-bit DOS exeutable, made with Borland technology
EXPLORER.ICOWindows 3.0 icon
EXPLORER.TXTREADME
PYMASK.PICTransparency data for PYMON.PIC
PYMON.DATMonster data
PYMON.PICEGA monster graphics
README.1STSmaller README
ROCON.DCHIncluded save character with equipment, some areas cleared. DCH = Dungeon (of the Beast) CHaracter

CGAMASK.PIC

This file is missing and so the game crashes attempting to draw monsters.
I recreated this file from PYMASK.PIC. It can be downloaded here: https://github.com/footballhead/explorer-utils/blob/master/maskconv/CGAMASK.PIC.

Transparency data for CGAMON.PIC. White pixels are transparent, black pixels are opaque.

CGAMON.PIC

CGA monster graphics. Transparency data is stored separately in CGAMASK.PIC.

CGAPICS.PIC

CGA tileset graphics. Most tiles are opaque, however some have transparency data stored as separate images in this spritesheet. For example, a chest uses tile 21 for color with tile 64 for transparency.

As best as I can figure out, the last 14 images are garbage. There's no EGAPICS.PIC equivalent).

DUNGEON.OVR

36-column, 21-row text file. Single screen. Exceeding this row or column count will override the border and "press any key to continue" text.

Centering must be manually performed by inserting space characters.

DUNGEON.RMS

This record is incomplete. Single letter values (A, B, etc.) are unknown.

Room data, stored in binary as an array of Pascal records:

type
    RoomData = record
        A: byte; { unknown, affects entering a building or city }
        Tiles: array [1..8*20] of byte;
        Objects: array [1..8*20] of byte;
        MonsterId: byte;
        MonsterCount: byte;
        NorthRoom: byte;
        EastRoom: byte;
        SouthRoom: byte;
        WestRoom: byte;
        UpRoom: byte; { Destination of stairs up }
        DownRoom: byte; { Destination of stairs down }
        RoomId: byte;
        MonstersStartFrozen: byte; { if 1 then monsters stay put until attacked. if 0 then monsters chase you }
        TreasureFactor: byte; { Higher means more gold from chests, etc. Except 0, which means chests give 950 gold }
        OddDesignRoom: byte;
        Name: string[26];
    end;

For an interactive webpage, click here!

EGAMASKS.PIC

This file is present but unused.

The format is different compared to CGA or EGA, but bears similarities to EGA.

We can only speculate what it could have been used for. Could it have been an earlier version of tile masks in EGAPICS.PIC? Or maybe, since many tiles look like geometric shapes, it could have been used for blending between two tiles?

Here's sorta what it looks like:

EGAPICS.PIC

EGA tile graphics. Most tiles are opaque, however some have transparency data stored as separate images in this spritesheet. For example, a chest uses tile 21 for color with tile 64 for transparency.

EXPLORER.DSC

EXPLORER.EXE

16-bit DOS executable. I recommend IDA Freeware 5.0 for disassembling.

Coded in Borland Turbo Pascal 5.5. Hints:

Expected TPUs: System, Dos, Crt, Graph

Good references:

PYMASK.PIC

Transparency data for PYMON.PIC. Uses EGA storage format, except each channel is identical. Black means opaque, white means transparent.

PYMON.DAT

This record is incomplete. Single letter values (A, B, etc.) are unknown.

Monster statistics, encoded in binary as an array of Pascal records:

type
    PyMonDat = record
        Name: string[15];
        Level: byte;
        A: byte;
        Exp: byte;
        C: byte;
        E: byte;
        F: byte;
        Id: byte;
        H: byte;
        I: byte;
        J: byte;
        K: byte;
        L: byte;
        M: byte;
        N: byte;
        O: byte;
    end;

PYMON.PIC

EGA monster graphics. Transparency masks are stored separately in PYMASK.PIC.

I'm confused why it's called PYMON and not EGAMON. My best guess is that the graphics were going to be reused for the (now missing) "The Dark Pyramid" adventure (as in short for pyramid monsters).

Back to Index