DS Doom

From GameBrew - a wiki dedicated to Video Game Homebrew.

DS Doom
Author(s)TheChuckster, WinterMute, Jefklak

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

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 date 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.


  1. 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.
  2. For a launcher that supports argv and works on many devices see
  3. Select Standard Game from the initial menu to start a single player game.

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 we offer no guarantees that all of them will work as expected.

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.


Dpad – movement

Up – Forward

Down – Backward

Right – Look right

Left – Look left

A – Fire

B – Action

X – Toggle run

Y – Undefined

Start – open menu

Select – Toggle weapon inventory

L – Strafe left

R – Strafe right

Hold B and press L or R - zoom in and out on the automap.

Start and Select at once - alter console mode


When will my G6 or other media device be supported?

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

Why did I just get a Guru Meditation data abort error?

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

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

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.

Known Issues


2011-08-20 - DS Doom 1.2.1 uploaded

  • 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

2011-08-14 - PWAD and DEH Support 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. 2011-08-10 - DS Doom 1.2.0 uploaded

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

2007-08-02 - DS Doom 1.1.2 uploaded

  • 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

2006-08-08 - DS Doom 1.1.1 uploaded

  • 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

2006-08-08 - DS Doom 1.0.0 uploaded

  • 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.