Doom8088
Doom for 16-bit DOS computers
Install / Use
/learn @FrenkelS/Doom8088README
Doom8088

Doom was originally designed in 1993 for 32-bit DOS computers with 4 MB of RAM. It's mostly written in C code with very little assembly code. It has been ported to all kinds of systems. Usually these systems are 32-bit or more and have a flat memory model.
Doom8088 is a port for PCs with a 16-bit processor like an 8088 or a 286, and with MDA, CGA, EGA, VGA or MCGA graphics. It uses 64 kB of EMS memory, if available, as an upper memory block to store data. And 1507 kB of XMS memory, if available, as a RAM drive. It's based on GBADoom, a port of PrBoom to the Game Boy Advance. Download Doom8088 here.
Watch what it looks like on a real PC here.
What's special?:
- Supports only Doom 1 Episode 1
- Rotating overlaid automap
- Only demo3 is supported
- 256, 16, 4 and 2 color modes
- PC speaker sound effects
- No music
- No texture mapped floors and ceilings
- No light diminishing
- No saving and loading
- No multiplayer
- No PWADs
- No screen resizing
- No mouse and joystick support
Known bugs:
- When there's not enough memory for a texture, one color is drawn
- When there's not enough memory for the intermission screen, the last few frames of gameplay are shown instead
- When there's not enough memory for a new palette, only the border changes color
Supported video modes
VGA 320x200 256 color Mode Y and MCGA 320x200 256 color Mode 13h, effective resolution 240x128

VGA 320x200 256 color Mode Y and MCGA 320x200 256 color Mode 13h, effective resolution 120x128

VGA 320x200 256 color Mode Y and MCGA 320x200 256 color Mode 13h, effective resolution 60x128

EGA 640x200 16 color mode

EGA 320x200 16 color mode

CGA 320x200 4 color mode

CGA 640x200 2 color mode

Text mode 80x50 16 color mode

Text mode 80x43 16 color mode

Text mode 80x25 16 color mode

Text mode 40x25 16 color mode

Text mode 80x25 2 color mode

Controls:
|Action |Keys | |---------------------------------|-------------| |Fire |Ctrl | |Use |Enter & Space| |Sprint |Shift | |Walk |Arrow keys | |Strafe |Alt | |Strafe left and right |< & > | |Automap |Tab | |Automap zoom in and out |+ & - | |Automap follow mode |F | |Weapon up and down |[ & ] | |Menu |Esc | |Switch palette (CGA version only)|F5 | |Quit to DOS |F10 |
Cheats:
|Code |Effects |Notes | |----------|-------------------------|--------------------------------| |IDCHOPPERS|Chainsaw | | |IDDQD |God mode | | |IDKFA |Weapons & Keys | | |IDFA |Weapons | | |IDSPISPOPD|No Clipping | | |IDBEHOLDV |Invincibility | | |IDBEHOLDS |Berserk | | |IDBEHOLDI |Invisibility | | |IDBEHOLDR |Radiation shielding suit | | |IDBEHOLDA |Auto-map | | |IDBEHOLDL |Lite-Amp Goggles | | |IDCLEV |Exit Level | | |IDEND |Show end text | | |IDROCKET |Enemy Rockets |(GoldenEye) | |IDRATE |Toggle FPS counter |Divide by 10 to get the real FPS|
Command line arguments:
|Command line argument|Effect | |---------------------|---------------------| |-noems |Disable EMS | |-noxms |Disable XMS | |-nosfx |Disable sound effects| |-nosound |Disable sound effects| |-timedemo demo3 |Run benchmark |
Building:
|Build script |Version |
|-------------|-------------------------|
|buildall.sh|Build all versions |
|bmodeyh.sh |Mode Y 240x128 |
|bmodeym.sh |Mode Y 120x128 |
|bmodeyl.sh |Mode Y 60x128 |
|bmode13h.sh|Mode 13h 240x128 |
|bmode13m.sh|Mode 13h 120x128 |
|bmode13l.sh|Mode 13h 60x128 |
|begah.sh |EGA 640x200 16 colors |
|begam.sh |EGA 320x200 16 colors |
|bcga.sh |CGA 320x200 4 colors |
|bcgabw.sh |CGA 640x200 2 colors |
|bt80x50.sh |Text mode 80x50 16 colors|
|bt80x43.sh |Text mode 80x43 16 colors|
|bt80x25.sh |Text mode 80x25 16 colors|
|bt40x25.sh |Text mode 40x25 16 colors|
|bmda.sh |Text mode 80x25 2 colors|
It's possible to build a 32-bit version of Doom8088 with DJGPP and Watcom.
First run setenvdj.bat once and then bdj32.bat for DJGPP, and setenvwc.bat followed by bwc32.bat for Watcom.
For debugging purposes, the Zone memory can be increased significantly this way.
It's also possible to build a 16-bit version with Watcom: Run setenvwc.bat followed by bwc16.bat.
Related Skills
node-connect
335.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
82.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
335.9kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
82.7kCommit, push, and open a PR
