The config file is always named XEEN.CFG, and is generated when the user runs INSTALL.EXE and chooses their sound card options. The game itself will refuse to run unless this file exists. The file is always 28 bytes in size, and has the exact same format regardless of which game is running.
File Format[]
Offset | Type | Name | Description |
---|---|---|---|
0x00 | uint16 | soundCard | Index in to the table of sound card driver names, and hence sound card type. |
0x02 | uint16 | soundAddr | The I/O port address of the sound card, commonly 220h. |
0x04 | uint16 | musicCard | Index in to the table of music card driver names, and hence music card type. |
0x06 | uint16 | musicAddr | The I/O port address of the music card, commonly 388h. |
0x08 | uint16 | irq | The IRQ of the sound card, commonly 7. |
0x0A | byte*8 | ereiamjh | Eight empty bytes. These appear to be unused. Eight bytes is large enough to store the string "ereiamhj", which is an anagram for "jeremiah", or can be loosely spaced to form the phrase "Ere I am, J.H.". This may be a reference to the 1985 movie Brazil. |
0x12 | uint16 | has386 | This value is set to 1 if the install program determines that your CPU is at least a 386, otherwise it is set to 0. A 386 CPU supports the FS register, which allows the game to unroll and speed up certain loops, as well as using the rep movsd instruction to speed move slabs of data faster. |
0x14 | uint16 | volumeSet | Whether or not the game has permission to change your Sound Blaster volume levels. |
0x16 | uint8 | wonDarkside | Set by the event script operation CutsceneEndDarkside. If set, the option to view the Darkside end sequence appears at the game's main menu. |
0x17 | uint8 | wonThird | Set by the event script operation CutsceneEndWorld. If set, the option to view the World of Xeen end sequence appears at the game's main menu. |
0x18 | uint16 | soundDMA | The DMA address of the sound card (usually 1). |
0x1A | uint16 | sawDarkIntro | This appears to be unused. |