← Previous → Next Contents

Last modified: Fri Apr 15 08:09:52 EDT 2016

Vanilla DOOM

(Screenshot scaled from 320×200 to 320×240 to preserve original appearance.)

Description:  Original DOOM 1.9.  There are three variants.

Source:  Retail package DOOM 2 on 3.5 inch floppies, patched up to Version 1.9.

Hardware to run Vanilla DOOM

ISA go Bragh™

Motherboard/CPU:  Short answer, 440BX with a Pentium III.  They are relatively common among the late ISA motherboards and more than adequate.  For alternatives to make your life more complicated, see ISA chipsets for ATX motherboards and i845 ISA PC.

Memory:  Having too little RAM will be a nonissue for anything newer than a 486.  DOOM allocates a maximum of 8 MiB for its "zone," or working memory.  DOS and the DOOM executable program combined will use less than 1 MiB.  OTOH, having more than 64 MiB of RAM provided by an XMM working alone in plain DOS triggers serious bugs in the DOS/4GW v1.95 extender that is attached to all DOOM executables.  This is easily fixed by replacing the extender (DOS/32A works for me) or worked around by using an EMM or no memory manager at all.

PSU:  In theory, an ISA PC should have a power supply that provides the −5 V rail, which new PSUs don't (and old PSUs die like crazy).  The Sound Blaster 2.0, Media Vision Pro Audio Spectrum 16, and Roland LAPC-I sound cards reportedly need −5 V to work, but most ISA sound cards apparently do not.

Sound card:  This can be very simple or very complicated depending on how picky you are.  If unsure, listen to the samples here and here.

Video card:  The video card will be limited by the motherboard.  With 440BX you get AGP 2×.  Since DOOM uses only a standard VGA mode and is playable even with ISA VGA cards, any old AGP, PCI, or VESA Local Bus VGA card will be more than adequate.

Mouse:  I recommend the Kensington Expert Mouse Optical USB Trackball.  As of 2012, they no longer include a USB-to-PS/2 adaptor in the box, but the device still works with one.

Monitor:  If you think that every monitor is capable of correctly displaying standard VGA modes, I have bad news for you.  Most widescreen LCDs refuse to display VGA modes in the correct aspect, and the average non-widescreen monitor is not actually 4:3 but rather 5:4 (1280×1024).  Either salvage a dying old CRT on its way to the recycler or get an LCD monitor that is actually 4:3 (native resolution of 1024×768 or 1600×1200).  The Dell 2007FP is pricey, but it works*, is nicely sized at 16 inches by 12 inches, and is still available in quantity as of 2013-02.  (* If the analog VGA input is used, some adjustment of the horizontal and vertical is necessary.)

Useful distinctions from Wikipedia:

Term Definition 320×200
1280×1024 1920×1080 1920×1200
Storage Aspect Ratio (SAR)The ratio of the original image's width to its height, in pixels. 8/5 4/3 5/4 16/9 8/5
Pixel Aspect Ratio (PAR)The ratio of the width of a pixel to its height. 5/6 1 1 1 1
Display Aspect Ratio (DAR)The ratio of the width of the displayed image to its height. 4/3 4/3 5/4 16/9 8/5


What about that other game...?

Although Duke Nukem 3D is a similar DOS game that requires the same kind of sound card as DOOM, its performance demands are much greater.  It runs slower than DOOM in an apples-to-apples comparison at the 320×200 resolution, but more significantly, it supports higher resolutions.  Setup goes up to 800×600, but by editing the config file manually I've gotten it to run at 1600×1200.  That's a factor of 30 increase in the number of pixels to render entirely in software and push over the bus to the video card.  The more reasonable choice of 800×600 is still 7 times as many pixels as DOOM.

DN3D on a 486DX2/66, supposedly its "recommended" configuration, is actually a horrible thing:  less than 10 fps at the standard 320×200 resolution, very choppy and difficult to play.  A 440BX motherboard with a 500 MHz Pentium III makes DN3D pleasantly playable at 800×600 but is not overkill.  The only ISA motherboard I have tested that unequivocally crushes it has a KT133A chipset (complete with faulty DMA), 1.4 GHz Athlon CPU, 4× AGP, and 133 MHz FSB.

There are specific places in the game where the frame rate suddenly nosedives.  I have reproduced the behavior with even faster Intel chipsets and CPUs and concluded that it is a bottleneck or glitch in the game itself that only sticks out when your frame rate is over 30 to begin with.

To get high resolution modes without quirky drivers you'll need a video card that has built-in support for the VESA BIOS Extensions (VBE), such as compatible GeForce and Quadro cards.

PCI sound cards that work

Most PCI sound cards suuuuuuuck.  The only thing this buys you is maybe getting DOOM to run on a slightly newer PC that has no ISA slots yet can still run Windows 98, and maybe a different soundfont.  Better results are nearly always obtainable with less effort by sticking with ISA and plain DOS.

A few early PCI sound cards, including the AWE64 PCI which might not suck, used a hardware workaround called SB-Link to allow continued DOS compatibility on supporting motherboards.  More of them supported DOS via special drivers that did clever/onerous/unreliable things to reroute ISA requests to the PCI bus.  This VOGONS thread provides background on both approaches.

Lots of PCI sound cards and integrated PCI sound chips on motherboards did not support plain DOS at all but came with Windows drivers that "should work" (claims the manufacturer) if DOOM is run from a command prompt window.  In reality, the drivers are fragile and the success rate is low.

My experiences with the DOS and W98 drivers for many common PCI cards are documented here.  So far the only PCI sound card that was worth the trouble is the one with a Yamaha DS-XG synth, and only because I don't have one of the related Yamaha daughterboards to attach to an ISA sound card.

Operating systems


DOOM runs equally well under FreeDOS, DR DOS, PC DOS, MS-DOS, or a hard drive formatted with FORMAT /S from a Windows 98 SE boot floppy.  The tricky part is that you need a compatible sound card and a mouse port that is recognized by the BIOS.  It's your problem to make sure that the Sound Blaster is configured properly (SET BLASTER=...) and that you have a working combination of mouse and mouse driver.  A motherboard with built-in USB ports and a newer BIOS may have a "legacy" feature in BIOS that allows USB mice to work under DOS; otherwise you may have to use a USB-to-PS/2 adaptor or be stuck using a serial mouse.

See previous note about avoiding bugs in the DOS/4GW v1.95 extender and general configuration notes for DOS.

Windows 98 SE

For Vanilla DOOM, a full installation of Windows 98 SE instead of plain DOS usually does more harm than good.  Pros:


Windows drivers for sound can be either VxD or WDM.  The Microsoft softsynth works only with WDM drivers; OTOH, WDM drivers always cause sound effects glitches.

One time I had to install a DOS mouse driver in AUTOEXEC.BAT (anachronistic for W98) to get the mouse working in DOOM.  Usually this is not necessary.

See general configuration notes for W98SE.


If you can't run DOS or Windows 98 and still want to use Vanilla DOOM, the next least worst alternative is DOSBox.  It's a VM, but it is specifically for games.

It has been a long time since I tested DOSBox on Windows, but when I did it only barely worked.  With CPU cycles maxed out on a 3.2 GHz Pentium 4, gameplay still was not nearly as smooth or subjectively pleasant as when running under FreeDOS on a 166 MHz Pentium.

I have since gotten it to work credibly well on Linux (both 32 and 64 bit), but it needs patching to fix code rot that has accumulated since the 0.74 release way back in 2010, plus other stuff.  Here is a 3-in-1 patch that merges the following:

  1. dosbox-0.74_gcc4.6_compat.patch
    Fix code rot blocking build with GCC.
  2. dosbox-joystick-patch.diff
    Allow more axes and buttons to be mapped in sdl_mapper.
  3. sdl_mapper_vjoy.patch
    Fix buffer overflow and borked initialization in sdl_mapper.

The emulated Sound Blaster has a harsher sound than the real thing—it is heavily biased toward high frequencies, fully earning the "bee in a box" epithet that was unkindly applied to the original FM synthesis—but it is comparable to that of most source ports.  (Not coincidentally, since the code has been shared.)

I changed the following settings in dosbox-0.74.conf to get the video scaled correctly on a 1920×1080 monitor:



To get the correct sensitivity on the track ball:


And to make the emulated Sound Blaster use the canonical IRQ:


The Windows XP DOS box

OK, so, in theory, by the grace of NTVDM, DOOM ought to run in a regular Windows DOS box in Windows XP.  Set music to General MIDI, set sound effects to Sound Blaster, and it should just work.  But it just doesn't.  Every time I have tried it, the sound breaks up, gameplay is jerky, and it's totally unplayable.

There are many compatibility tweaks buried in the shortcut menus.  I have tried all of them, and they don't help.

The command prompt box in 64-bit versions of Windows won't run DOS programs at all.  I have no 32-bit installations of Windows 7 or later to test on.  According to Doom Wiki, DOOM faceplants in 32-bit Windows 7 or 8.  OTOH, they imply that it should work fine on XP.

The three variants of DOOM 1.9

The behavioral differences are summarized from http://doom.wikia.com/wiki/Doom_1.9 as it was on 20080225.  The relevant material has since disappeared from that page.


Original DOOM 1.9 executable was used for DOOM shareware, registered DOOM and DOOM II.  It was named doom.exe in shareware and registered, doom2.exe in DOOM II.

DOOM2/DOOM2.EXE:    MD5 = E2 38 2B 7D C4 7A E2 43  3D 26 B6 E6 BC 31 29 99
DOOM2/DOOM2.EXE:   SHA1 = AA06 68FA E2F7 43EE 5E3E  5634 EE42 D3C8 ACE7 D907
DOOM2/DOOM2.EXE: RMD160 = 1887 5E56 90F7 1D35 E77D  2288 7EFF 5F37 3A6D 1EBD
DOOM2/DOOM2.EXE: SHA224 = 11913326 975EBDFE 8A6629AD 34C72128 12696709 76770F63
DOOM2/DOOM2.EXE: SHA256 = B8020523 561A5AD9 706E009A 52D61C57 8F37FAAF D85AC471
                          96230840 6292CE27
DOOM2/DOOM2.EXE: SHA384 = 54880089 7A7406C9 B948F14B EE83FB0E FF855C73 843F0FDC
                          CC4AAA9D 67C28625 E9FE4559 470B0F88 3A062985 F75DA321
DOOM2/DOOM2.EXE: SHA512 = 3104D991 E2893D98 2220030A B714FC3F C079F7B4 BB88C0E8
                          E47403D7 5A68B2AE FD381893 FDE0B493 2373D71E 530B1ED8
                          C32FB561 9F135644 CDC65A1B EC5BBDA2

Ultimate DOOM

Ultimate DOOM executable interprets Tag 666 (triggered by killing some big baddie) differently and fixes a bug in the behavior of lost souls when they collide with the ground.

Ultimate/DOOM.EXE:    MD5 = 74 2A 5F 99 53 87 16 87  34 1E 37 94 46 88 94 D8
Ultimate/DOOM.EXE:   SHA1 = 64E6 DF0E E478 868B 42D5  EB7D 4434 3028 3B0D DC0C
Ultimate/DOOM.EXE: RMD160 = 6783 0ECF DE4D 6EE3 1A28  4EDF 17BA FE8B AFF1 8327
Ultimate/DOOM.EXE: SHA224 = 8E5DB966 6FCD14B9 CDC61F70 C53EB116 1D8CFB41
                            EE7F4716 22CA8226
Ultimate/DOOM.EXE: SHA256 = 4970B0D1 FEFA4583 6A572377 7D2BB41E 79329657
                            82678ACA 6C2BBEEC 705B38D4
Ultimate/DOOM.EXE: SHA384 = C8147AB4 F431FAE9 4BAAEC92 26D4CE82 9E207507
                            008A0D80 3C6AF0ED B0432288 A0BE949B A805B9D6
                            C2AF7D91 C18860BB
Ultimate/DOOM.EXE: SHA512 = 9229510C AB17C9EB 01236255 7D0F6E4B 80E294B6
                            108F2CD2 AA188294 EF9DBEFB F7B52F06 9FAFE5BD
                            CE0FEAAB 50EC196F 2A195884 014B497E 9094EB55

Final DOOM

Final DOOM executable has the changes made in Ultimate DOOM, plus the altitude of teleported objects is no longer set to the floor.  While autorun can be enabled in the other two versions by setting joyb_speed to 29, for Final DOOM you must use 31 instead.

Team TNT wrote, "...we have some reports of teleport exits making you appear up in mid-air and dropping you.  Cool effect, but it's a bug..."

Final/DOOM2.EXE:    MD5 = F0 06 DE 4F D2 82 BA 61  D7 D0 AF 41 A9 93 F9 BA
Final/DOOM2.EXE:   SHA1 = 9269 FA5C 0957 15D9 2601  5CAD 3381 A421 8E4F 2D7E
Final/DOOM2.EXE: RMD160 = 6108 03FB F4F6 7F65 1FAF  FC67 2357 3CF7 6A68 8368
Final/DOOM2.EXE: SHA224 = 15985E25 AD1C89B8 C6DD9E30 707B3787 61731FF4 560CB9BF
Final/DOOM2.EXE: SHA256 = 1F474EB4 7B440E44 D0A0931C ACC70E58 9884C22A EFDDD626
                          C71EE3A9 6A08EE4B
Final/DOOM2.EXE: SHA384 = B37A17C2 3E3B7F69 B2E2939A 02D97CF4 AD5EAF5F EA177B53
                          364F503B 284CF1B8 BFDDC981 B7A8D9A9 E4B0AA0F 3D179CD1
Final/DOOM2.EXE: SHA512 = 5B13B81E 72DE0798 937FED3B E736EFE2 562B1B2D 76653FBB
                          902E0A41 AA5D771A EA723486 4C2B6C7F 02EF2DEB FF2ED57E
                          6359A959 A5156D71 46AD860B D3303FDC

← Previous → Next Contents