Doom8088

From DoomWiki.org

Doom8088
Codebase GBADoom
Developer(s) Frenkel
Initial release v20230828 (2023-08-28, 2 years ago)
Latest release 20250828 (2025-08-28, 2 months ago)
Development status Active
Target platform DOS
License GPLv2+
Source Repository

(Git)

GitHub

Doom8088 is a source port of Doom, by Frenkel. It targets 16-bit processors such as the Intel 8088 and 286. In addition, many video card standards of the IBM PC era are supported.

It can be cross-compiled for DOS by gcc-ia16 and NASM on modern machines or using DJGPP and Watcom on DOS.

Features[edit]

  • Support for shareware episode Knee-Deep in the Dead
  • Runs within the original IBM PC memory constraints
  • Supports EMS and XMS memory
  • Rotating overlay automap mode
  • Supports VGA/MCGA, EGA, CGA, and MDA
  • Text Mode support

Added parameters:

  • -noems Disables EMS detection
  • -noxms Disables XMS detection

Added cheats:

  • IDROCKET Gives all enemies a rocket projectile attack
  • IDRATE Displays the frame rate (replaces the ammo counter)

Removed:

  • PWAD support
  • Texture mapped floors and ceilings
  • Music
  • Savegames
  • Multiplayer
  • Screen resizing
  • Mouse and joystick support

Limitations[edit]

  • Doom8088 sacrifices the conveniences of one executable in the name of optimization and low memory footprint. To reduce executable size, EXE files need to be generated for each CPU architecture, video mode, and detail level.
  • Due to the target platforms' notoriously low memory limitations and memory address model, the IWAD must be pre-processed with jWadUtil, a fork of GbaWadUtil. Similar to WadPtr, jWadUtil compacts the IWAD to reduce its size, and pre-calculates fields that the original Doom engine had to calculate on the fly, saving precious CPU cycles.
  • Graphics are converted into memory-friendly formats for each type of video card, at the expense of generating many IWAD files. These IWAD files cannot be used interchangeably.

See also[edit]

External links[edit]

Source code genealogy
Based on Name Base for
GBADoom Doom8088 None