File Formats
On-disk format documentation for every Darklands data file, produced by cross-referencing community research with reverse-engineered code from DARKLAND.EXE.
The primary source for community-documented formats is Wendigo’s Darklands repository (wendigo.online-siesta.com/darklands), which preserves the XML format specifications originally assembled by Merle, Quadko (Joel McIntyre), and others. For general Darklands reference — game mechanics, items, locations, and lore — darklands.net by Matt Wirkkala remains the authoritative community resource.
All formats documented here are based on the original game files and are public knowledge. Sources are cited per page.
| Format | Pattern | Location | Byte order | Compression | Size | Status |
|---|---|---|---|---|---|---|
| Archives | ||||||
| Catalog Archive | *.CAT (incl. extensionless) | Game root | LE-16/32 | None — payloads vary | Variable | Documented |
| Graphics | ||||||
| PIC Image | *.PIC | PICS\ | LE-16 | Custom RLE + encoder | Variable | Partial |
| IMC Sprite | *.IMC | Via CAT archives | LE-16 | DRLE whole-file | Variable | Partial |
| Font Set | FONTS.FNT, FONTS.UTL | Game root | LE-16 | None | Variable | Partial |
| Message File | *.MSG | MSGFILES CAT + loose | LE-16 | None | Variable | Partial |
| Enemy Palettes | ENEMYPAL.DAT | Game root | LE-8 | None | 3,692 B (71 × 52) | Documented |
| Common Sprites | COMMONSP.IMG | DARKLAND\ | LE-16 | None | 4,078 B fixed | Partial |
| Presentation | ||||||
| PAN Animation | *.PAN | Game root | LE-16 | Custom LZ bitstream | Variable | Documented |
| Startup Banner | BANNER.DAT | DARKLAND\ | LE-16 | None | 1,519 B fixed | Documented |
| Audio | ||||||
| Raw PCM Audio | *.DGT | Game root | — | None | Variable | Partial |
| World Data | ||||||
| Locations | DARKLAND.LOC | Game root | LE-16 | None | 24,334 B (414 × 58) | Partial |
| Cities | DARKLAND.CTY | Game root | Mixed † | None | 57,225 B (92 × 622) | Partial |
| City Descriptions | DARKLAND.DSC | Game root | LE-16 | None | 7,361 B (92 × 80) | Partial |
| Enemies | DARKLAND.ENM | Game root | LE-16 | None | 16,452 B (71 × 204 + 82 × 24) | Partial |
| Items | DARKLAND.LST | Game root | LE-16 | None | Variable (200 × 46 + strings) | Partial |
| Alchemy | DARKLAND.ALC | Game root | LE-16 | None | 6,865 B (66 × 104) | Documented |
| Saints | DARKLAND.SNT | Game root | LE-16 | None | 48,961 B (136 × 360) | Documented |
| Starter Bundle | CFILE.DAT | DARKLAND\ | LE-16 | None | 24 B (4 × 6) | Partial |
| Save & Runtime | ||||||
| Save File | dksave*.sav | Game root | LE-16 | None | Variable | Partial |
| Character Record | embedded in .sav | — | LE-16 | None | 554 B fixed (0x22A) | Partial |
| Inn Cache | CACHE.TMP | Game root | LE-16 | None | Variable | Partial |
| Location Cache | LOCS.TMP | Game root | LE-16 | None | 24,336 B (mirrors LOC) | Partial |
| Character Cache | CHARACTR.TMP | Game root | LE-16 | None | Variable | Partial |
| Map | ||||||
| Wilderness Map | DARKLAND.MAP | Game root | Mixed ‡ | Bit-packed RLE | Variable (328 × 932 tiles) | Partial |
| Executables | ||||||
| DARKLAND.EXE | DARKLAND.EXE | Game root | LE-16 (MZ) | None (unpacked) | ~370 KB | Reference |
| Auxiliary EXEs | MGRAPHIC.EXE etc. | Game root | LE-16 (MZ) | None | Varies | Reference |
† DARKLAND.CTY: city_contents word is big-endian; all other fields are little-endian.
‡ DARKLAND.MAP: dimension words at 0x00–0x03 are big-endian; row offsets and tile data are little-endian.