Skip to content

FrenkelS/Doom8088

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Doom8088

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. And 1506 kB of XMS memory, if available. 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 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

Doom8088 in 256 colors

EGA 640x200 16 color mode

Doom8088 in 16 colors

EGA 320x200 16 color mode

Doom8088 in 16 colors

Text mode 80x43 16 color mode

Doom8088 in 16 colors

Text mode 80x25 16 color mode

Doom8088 in 16 colors

Text mode 40x25 16 color mode

Doom8088 in 16 colors

Text mode 80x25 2 color mode

Doom8088 in 2 colors

Controls:

Action
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
Quit to DOS F10

Cheats:

Code Effects
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

Command line arguments:

Command line argument Effect
-noems Disable EMS
-noxms Disable XMS
-timedemo demo3 Run benchmark

Building:

  1. Install gcc-ia16 (including libi86) and NASM on Ubuntu.

  2. Run one of the build scripts:

Build script Version
buildall.sh Build all versions
bmodey.sh Mode Y
bmode13h.sh Mode 13h
begah.sh EGA 640x200 16 colors
begam.sh EGA 320x200 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.

  1. (Optional) Compress DOOM8088.EXE with LZEXE, just like all the other 16-bit id Software games.

  2. Doom8088 needs an IWAD file that has been preprocessed by jWadUtil.