From GameBrew - a wiki dedicated to Video Game Homebrew.

Author(s)fancypantalons (aka brettk)
TypeRoguelike Role Playing
Version3.4.3r2 (4 May 2016)

NetHackDS is a port of NetHack for the NDS, utilizing the unique features of the DS to create an easy-to-use NetHacking experience. It is a roguelike RPG based on the Nethack DS by Stuart.


  • Support for 16- and 256-colour BMP tilesets, including non-rectangular tiles (tiles must have dimensions which are a multiple of 8, e.g. 8x8, 8x16, etc).
  • Support for text mode, with optional full colour and IBM graphics.
  • Support for multiple font sizes for menus, status, and message displays.
  • Popup command window for easy access to the full command set.
  • On-screen keyboard for text input.
  • Flexible key bindings, supports binding keys to both regular and extended commands, and toggleable options.
  • Support for both left- and right-handed modes.
  • Save and restore.
  • Sleep mode.
  • Optional walk mode, inspired by iRogue.
  • Incorporates the following patches to vanilla NetHack:


Download and extract file.

DLDI patch .nds file if needed (if your card does not have auto-patching) and copy it along with the files to the root directory of the card.

User guide

It features a hero wandering around in a virtual world, acquiring equipment, items, and money, in the hopes of completing some goal or quest. In the case of NetHack, the goal is to retrieve the Amulet of Yendor from the depths of the dungeon, where upon you must return and sacrifice the amulet to your god.

It sounds simple on the surface, but the path to ascension is a long and arduous one, fought with many perils. Not the least of which is the destructive nature the game often has on grades, job performance, and so forth.

NetHackDS Manual can be found here.


D-Pad - Move

R+D-Pad - Scroll map

A - Pick up

B - Search

X - Open

Y - Kick

L - Display command window

You may also interact with the game map using the Stylus.


3.4.3r2 4 May 2016

  • Represents NetHackDS 1.17 with a few bug fixes that were identified and fixed, plus build fixes to work with the latest toolchange.
  • This code is based on NetHack 3.4.3. The version numbering scheme is switched for this release, dropping the old X.Y versioning, so it's clearer what the release represents.

Version 1.17 24 January 2008

  • Added support for tapping menu section titles for selecting items in that section.
  • Changed menus in keyboard mode to show item accelerator characters.
  • After insisting I'd never do it, action menus (read, zap, eat, etc, etc) now display only relevant menu items (with an option to show all).
  • Made 'cursor' a compound option, which can take three values: 0 (always on), 1 (disabled over hero), and 2 (always off).
  • More refinements to touchscreen handling to ensure that stylus raises are promptly registered (fixes periodic hangs).
  • Fixed directional prompting when keyboard mode is enabled.
  • Fixed detection spells (such as "detect monsters"), etc, so they properly wait for user input.
  • Fixed key bound option toggling, after I completely broke it in the last release.
  • Fixed crasher triggered by popping up a menu immediately after resuming a saved game with the 'name' option set (yes, someone hit this).

Version 1.16 4 January 2008

  • Allow users to bind commands to individual chordkey presses (note, you can't bind combination presses, and commands are activated when the key is released).
  • Added support for binding run and fight movements (movements prefixed with 'g' and 'F', respectively).
  • Added the 'cmdkey' option, which lets the user define the key used to open the command window.
  • Added 'keyhelp' option which controls whether the bindings are shown on the screen (default is now off).
  • Added HELPLINE1 and HELPLINE2 directives. These take key lists, which determine which keys appear in the key help, and in what order.
  • Moved minimap colours into a palette file (minimap.pal).
  • Properly ignore all input when in sleep mode.
  • Various commands which didn't show a prompt now do (eg, wear, take off, eat, etc).
  • Fixed a bug in the default X keymapping. ie, it actually works now (the default was mistakenly set to "o," instead of just "o").
  • Fixed a bug where dismissing the "Toggle Option" key binding submenu without selecting anything would cause a crash.
  • Fixed a bug where responding to the "Press A…" prompt would result in the action bound to A getting executed.
  • Fixed keyboard colours, and changed the palette to plain text.

Version 1.15a 31 December 2007 Yes, already. Fixed a map rendering bug in graphics mode caused by wall tile substitution in the NetHack core (this was evident when going from the regular dungeons to Sokoban, where the wall colours are supposed to change, but didn't).

Version 1.15

  • Added the CHORDKEYS configuration option, which allows the user to define which keys may be used in combination of others for the purpose of key binding.
  • Removed triggermode (yes, after just two versions), in lieu of CHORDKEYS.
  • Display help for key bindings if a chord key is pressed.
  • Changed extended command input to use a menu, rather than the virtual keyboard.
  • Added the ability to bind keys for toggling boolean options (eg, holdmode, hpmon, etc).
  • Added "Show Keys" command, which pops up a window listing the current key bindings.
  • Added hilite_pet support.
  • Added new option "keyrepeat", which controls whether or not keys repeat in the game (default on). Doesn't affect menus, command window, etc.


  • This code has it's roots in the first NetHackDS port, created by Stuart Pernsteiner.
  • Of course, there's the Nethack DevTeam.
  • The Devkitpro folks, and all those who've contributed to the project. In particular libnds.
  • Chism for his work on libfat.
  • Masscat for his GDB stub.
  • The dswifi developers.
  • Oddly, the Foobillard developers.
  • Stumpy, for his ANSI fontsets.
  • Tobias Jung, for making ProFont available.
  • The authors of the portable PCRE.
  • Many users for providing feedback and feature suggestions.