DS Doom

From GameBrew - a wiki dedicated to Video Game Homebrew.

DS Doom
Author(s)TheChuckster, WinterMute, Jefklak
Version1.2.1 (Aug 2011)
LicenceGNU GPL v2

DSDoom is a port of Doom to the Nintendo DS based off the Prboom source tree because of its purity and portability.

Notes from developer:

DS Doom is a game engine which provides a program to play Doom levels, but it doesn't include any levels itself. More importantly, you need all the sounds, sprites, and other graphics that make up the Doom environment. So to play dsdoom, you need one of the main Doom data files from id Software - either doom.wad, doom2.wad, tnt.wad or plutonia.wad from one of the commercial Doom games, or the shareware doom1.wad. This file is called the IWAD.

If you don't own any of the Doom games, get the doom1.wad from shareware version of doom on The Dos Games Archive. You won't be able to play most add-ons.


  • DSDoom loads any Prboom-compatible IWAD file.
  • Single-player is playable at very smooth framerates.
  • Multiplayer network play is possible using DS wifi and prboom_server.exe.
  • Configuration file.
  • Sound effects work with stereo panning.
  • Touch screen control.


These are the files you will need in order to run DS Doom:

  • dsdoom.nds - Main program.
  • prboom.wad - Included in the binary download file, which contains data files used by DS DOOM to draw non-standard graphics.
  • doom.wad - Doom datafile. Make sure the Doom data file you use is renamed to doom.wad or it will not work.
  • PRBOOM.CFG - prboom configuration file.

You can extract the zip to your favourite media device, dsdoom will now read files from the directory where you put dsdoom.nds when the launcher supports the argv protocol, such as hbmenu.

Select Standard Game from the initial menu to start a single player game.

Notes from developer:

Using the latest hbmenu you can use .argv files to pass arguments to DS Doom which gives you the ability to use any PrBoom compatible PWADs and DEHs. DS Doom will accept most arguments you can pass to PrBoom but there is no guarantees that all of them will work as expected.

To access features include PWADS, DEHs and warping to specific maps, create a file with a .argv extension in your DS Doom folder then edit it with a text editor. For instance, an argv file containing

dsdoom.nds -iwad doom2.wad -file KDiP.wad -save KDiP

will start dsdoom with the doom2 wad, the Knee Deep in Phobos PWAD and place the save files in the KDiP directory.

Please see readme file for some other PrBoom arguments that you can possibly use for DS Doom.

User guide

Wifi connection

To play online using wifi, you're going to want to have a PC with port 5030 opened/forwarded. Run prboom_server.exe with the number of players specified using the -N command line parameter. There are other parameters for such things as maps and coop; check out the prboom_server documentation. The server waits until the given number of players connect and then the game begins.

Now that you have the server running, you will want to set up the DSes. Make sure that WFC data is set in firmware on the DSes. Next, edit the prboom.cfg file on the card and change the server "name:port" line under misc. You are ready to start. Launch dsdoom.nds and choose the network game option in the initial menu.


Q. When will G6 or other media device be supported?

Assuming your device uses DLDI autopatching, which most modern cards do, then everything should be working fine.

Q. Why did I get a Guru Meditation data abort error?

As of now, online netplay is particularly unstable. Restart the game and continue playing.

Q. Where do I get the PrBoom server?

You can get the PrBoom server for your chosen platform from the PrBoom Site. dsdoom is based on prboom 2.4.2.

Q. I don't have Doom, where can I get a WAD to play?

You can use the shareware doom WAD, download it from the dos games archive.


D-Pad - Movement

Up/Down - Forward/Backward

Right/Left - Look right/left

A - Fire

B - Action

X - Toggle run

Y - Undefined

Start - Open menu

Select - Toggle weapon inventory

L/R - Strafe left/right

Hold B+L/R - Zoom in/out (automap)

Start+Select - Alter console mode




How to get DOOM on your NDS/DSi/3DS/2DS (PeaSensei2)


Has been tested be the developers to work on M3:SD and GBAMP.

Known issues

Configuration file changes are not saved.

Save games can become corrupted and unusable. The game may also crash while saving.

There is no music support.

Crashes, while uncommon, do occur.

Does not make use of the DS's hardware-based 3D rendering capability.


1.2.1 2011/08/20

  • Restore automap zoom controls.
  • Prevent freeze on changing SFX volume.
  • Bring up keyboard for save name editing.
  • A & B buttons operate as select & back in menus.

PWAD and DEH Support 2011/08/14

  • With the release of hbmenu 0.4.1 we now have the ability to pass command lines to DS Doom which makes it particularly easy to run mods. Have a look at the documentation page for more details.

1.2.0 2011/08/10

  • Update code for latest libnds, dswifi and libfat.
  • Now reads files from nds directory with argv supporting cards.

1.1.2 2007/08/02

  • Rebuilt with latest libnds, dswifi and libfat.
  • Fixed warnings.
  • Zero terminate user string.
  • Remove dead code.
  • Move version info to makefile.
  • Remove banner to allow booting on Supercard.

1.1.1 2006/08/08

  • Replaced old gba_nds_fat code with libfat.
  • Rebuilt with latest toolchain & support libraries.


  • Add Wouter Groeneveld's updates.
  • Enabled automap mode on the lower DS Screen. Stats are displayed.
  • On the lower screen too. Option can be set in config file.
    • Automap set to autofollow.
    • Zoom IN/OUT: hold B and press L/R accordingly.
  • Implemented Power save mode. Closing the DS will set DS Doom in.
  • Engine stops running and game will be 'paused'.
  • Screen and Sound system powered down to save battery life.
  • LED blinks to indicate save mode.
  • Disabled LED blinking when playing. On DS Lite, Change Brightness in-game. hold B and press SELECT.
  • Displays loading/saving messages (can take a while).
  • Options/General menu:
    • Cheat code option.
    • Console mode option.
    • Swap DS screens option.
    • All options can be set manually in CFG.
  • Options menu: fixed Y/N (press select/A to emulate Y key).
  • Exit Doom code, powers off the DS device.
  • NDS icon attached (G6, DSX, ... cartridges).
  • Saving: automatically label slot with profile (select a save slot with SELECT. When the name appears, press SELECT again or A to confirm - this will save the game.
  • In DOOM II, add regular shotgun to weapon cycling pool.
  • Other minor fixes and tweaks.

1.0.0 2006-08-08

  • DSDoom loads any Prboom-compatible IWAD file.
  • Single-player is playable at very smooth framerates.
  • Multiplayer network play is possible using DS wifi and prboom_server.exe.
  • Configuration file.
  • Sound effects work with stereo panning.