Guide: Enable D-Pad controls on the Legend of Zelda Nintendo DS games

Last updated: 24SEP2020 (see Changelog for details)

The two Legend of Zelda games that were released on the Nintendo DS were classics of their time. The Legend of Zelda: Phantom Hourglass (2007) is a follow up to Wind Waker (NGC, 2003), and has a Metacritc score of 90 today. The Legend of Zelda: Spirit Tracks (2009) is a mix of action and puzzle gameplay, and has a Metacritic score of 87. When I first fired up my Retroid Pocket 2, I was excited to try these games on my new device. Thing is, they are built for stylus controls, and so at face value, these games are virtually uplayable on handheld emulation devices.

Luckily, someone also had this same problem, and they’ve figured out a way to mod the original ROM files so that they respond to d-pad controls. I’ve tested both games, and they feel like what you’d expect from a gamepad-based Zelda game (in other words, they’re awesome). This method requires a bit of Windows wizardry, but I’ll walk you through the process.

As a bonus, I’ve also included instructions on how to patch d-pad controls for another game: Castlevania: Dawn of Sorrow.

Table of Contents:
Necessary tools
Installation instructions
Bonus: Castlevania: Dawn of Sorrow (Definitive Edition)


Necessary tools

You’ll need two different files to enable this d-pad patch on your Zelda games:

You will need to make note of which version of the game you have, because there are different patch files for the EU and US versions. I have the US versions of the games, but I assume you can distinguish the EU versions by whether they ask you to pick a language when you start the game up.

Installation instructions

There are two methods to patch the ROMs with d-pad controls. You can use an online patcher, or manually patch them yourself. The video above demonstrated the manual patch method, and I have also written instructions below.

Online patch method

Online patcher: Simply go to this website and add your .nds and .xdelta (patch) file, the site will do the rest.

Manual patch: I like this method because it gives me control over the process, but it has a few extra steps compared to the online patcher method.

Let’s start with the Phantom Hourglass patch as an example. Unzip the patch file, and you’ll find four files:

  • README.txt (installation instructions)
  • xdelta.exe (the program that patches the game)
  • zelda_phantom_hourglass_dpad_eu.xdelta (EU game patch)
  • zelda_phantom_hourglass_dpad_eu.xdelta (US game patch)

Place these four files in a folder. You can either drag their folder from your unzip client, or you could just make a new folder on your desktop. Nextr, add your ROM (.nds) file to the folder. I recommend renaming this .nds file to something small, like “Phantom.nds”, to make the next steps easier.

Open the Command Prompt. You can do this by pressing the Windows Start button and typing “cmd”, which will pull it right up. First, you want to point the Command prompt to the folder where you have the ROM and patch. To do so, go to the address bar at the top of your Windows Explorer window, and click on it. It will reveal the path to wherever your Phantom Hourglass patch folder is located. Copy this path. In Command Prompt, type the following code (and replace your path with mine):

cd "C:\Users\Russ\Desktop\Legend of Zelda Phantom Hourglass Dpad Patch"

Okay, now that Command Prompt is looking in the right folder, we now want to tell it to take the old .nds, patch it, and create a new .nds file. Note that this process will not affect your original .nds file in any way. Okay, so now you want to type this code:

xdelta.exe -d -s Phantom.nds zelda_phantom_hourglass_dpad_us.xdelta Phantom-dpad.nds

You will want to change the name of “Phantom.nds” to whatever you’ve named your file to, and swap out the “us” with “eu” if you’re using the EU ROM version. Okay, once you’ve typed that in, hit ENTER, and you should see a new “Phantom-dpad.nds” file appear. You can now change this filename to whatever you’d like; “Legend of Zelda – Phantom Hourglass (d-pad).nds, for example.

That’s it! Follow this same process for Spirit Tracks, but with these codes instead:

cd "C:\Users\Russ\Desktop\Legend of Zelda Spirit Tracks Dpad Patch"


xdelta.exe -d -s Spirit.nds zelda_spirit_tracks_dpad_us.xdelta Spirit-dpad.nds

Now that you have these shiny new d-pad friendly ROMs, load them onto your SD card and boot up your favorite Nintendo DS emulator (for the Retroid Pocket 2, that would be DraStic – read my full breakdown here).

The Legend of Zelda controls:

D-Pad: move
Y + D-pad: move slower
A + D-pad: roll
B button: sword
Y + B: spin attack
A button: interact or advance dialog

Bonus: Castlevania – Dawn of Sorrow (Definitive Edition)

This method also works with the “Definitive Edition” of Castlevania: Dawn of Sorrow. To find the appropriate .xdelta patch file you’ll want to go to this link and click the “Download” link. You can also read up on all the neat improvements they’ve made to the game, beyond just the d-pad function.

Note that this zip file doesn’t include the xdelta.exe file you’ll need to run the patch, so you’ll want to grab it from one of the Zelda folders above.

The overall process is the same: make sure that the original (US version only) .nds ROM file, the xdelta.exe file, and the “CVDawnDefinitive.xdelta” file are all in the same folder. To make things easier, I renamed my .nds file to simply “Sorrow.nds”.

Use the first code below in Command Prompt to point to the right folder, then the second code to run the script. Here are the codes (be sure to change everything to match your setup):

cd "C:\Users\Russ\Desktop\CVDawnDefinitive"


xdelta.exe -d -s Sorrow.nds CVDawnDefinitive.xdelta Sorrow-dpad.nds

Note that this manual patch method is for Windows users only, but the online patcher works for those using Macs.


– added online patch method
– added Zelda control scheme
– published guide

One thought on “Guide: Enable D-Pad controls on the Legend of Zelda Nintendo DS games

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s