Using the Nintendo DS as a wireless controller for your PC!

Discussion in 'NDS - Emulation and Homebrew' started by weegeeweeg, Mar 8, 2017.

  1. weegeeweeg
    OP

    weegeeweeg Newbie

    Newcomer
    1
    2
    Mar 8, 2017
    Canada
    I wrote this guide for a Smash fangame site for complete beginners, so apologies if there's how-to's on stuff that most of you already know how to do. I tried to optimize this guide for a more tech-savvy audience. Mods, please feel free to edit or move this to where you want it. Thanks.

    Pros and Cons

    Pros:
    -No input lag
    -Practical
    -Cheap
    -Reliable

    Cons:
    -D-Pad is small
    -A B X Y buttons are quite small too... I hope you don't have massive fingers
    -Requires old, but still stable and functional, software
    -Possible risk of having an unsecure broadcasted network; please read the Risks section

    Equipment
    - Nintendo DS
    (not sure about DSi)
    - Flashcart
    - Windows or Linux computer -
    Sorry mac users!
    - Internet connection capable of broadcasting a no-security or WEP-security network
    - microSD card with at least 128MB
    - Freeware to edit text documents that contain code, such as Notepad++.
    - A DS game that can connect to Wi-Fi


    Procedure

    Step 1: If you haven't already set up your flashcart to use some sort of homebrew or R4 software to execute ROMs, there are guides online for different cards; most R4 cards use the software from R4 SDHC's official website.

    Step 2: Download DS2KEY. Extract the zip file to your desktop. Make a folder to contain the 2 executable files, because the executables generate settings files that we will need for the program to function properly and to map the DS keys. Next, put the .nds file on your microSD card (it shouldn't matter where). Lastly, you can trash COPYING and the readme. Note: This is not my software, credits to sypherce from 1emulation.com forums.

    Step 3: This part is important to save lots of time. Download this .ini and put it on the root of your microSD. Next, open the .ini file with Notepad++ (right click -> Edit with Notepad++) and change where it says IP: 0.0.0.0 to your IPv4 address. To find that, open up a CMD by pressing the Windows key + R, and then type: cmd. Hit enter. Now type: ipconfig. You should see a bunch of numbers that will mean nothing to you. Look for something that says IPv4 Address, it will probably be 192.168.1.x or 10.0.0.x. Take the numbers and replace them with the 0's in the IP field. Make sure not to mess up the formatting of it! Also, please keep your IPv4 address in mind or keep the console window open, because we'll need it for Step 5 (unless your network has no password).

    Step 4: Now, for the next part, put your DS game that connects to the Internet in your DS, whether it be Mario Kart DS or Pokemon Diamond or whatever else. Find the "Connect to Nintendo WFC" option, and go into the settings. If you aren't already near your computer with the DS, please bring the DS to your computer and continue on to the next step.

    Step 5: Leave your DS on and we're going to switch over to your computer. Unless you have Wi-Fi without a password, or your Internet's password security hasn't been updated since 2003, or you've already set up a WEP network specifically for NDS programs, you'll need to set up a temporary unsecure network. Please see the Risks section below if you feel uneasy about this. So take the IPv4 address that you got in Step 4 and put it in the URL bar of your Internet browser, and replace the last digit(s) with 1 (e.g. 192.168.1.5 becomes 192.168.1.1).
    Here is what it should look like. Next, depending on what router you purchased, you will probably get asked for a username and password. By default, the username should be admin and the password should be password. If this doesn't work, look at your router's manual, look on the router, the router box... the username and password will be there somewhere.
    Now simply set up another network that has WEP encryption or no encryption if your router doesn't support WEP. If you need further help setting this up, please Google a tutorial with your specific router's name in the search (e.g. "How do I set up a network on Netgear R5600?"). Set the SSID to something like "DS Connection," so you know which one to connect to. Most settings you can just leave default. Now save your network.
    Switch over to your DS. Connect to the network on your DS. Once the connection is successful, make sure the network is saved, turn the DS off, put your flashcart with the microSD in it, boot your DS up, and run the DS2KEY ROM. You should see text on the top screen now.
    Here is a picture of my DS with the software correctly loaded. Your IP probably won't be the same as mine, so don't worry. It might go black to save power (mine wouldn't stay up long enough for my camera to focus), just touch the screen or tap a button to get it to display everything again. As long as you see the text once and you leave the DS on, it's fine. Go back to your computer. You don't need the command window open on your anymore, so please close it if you haven't already.

    Step 6: You have 2 executables, and you want to know which one to use? Honestly, the one without console in its name is terribly programmed... it was supposed to be a GUI for you to see what the buttons did, but... it's terrible. Delete it. So wait wait wait... before you execute this file, get your DS and put it where you can see it, because magic is about to happen. Open DS2KEY.Console.exe. Your console window on the computer should spam you with a lot of the same thing, and your DS should go black on both screens with the LED flashing. Now what I want you to do next is go to ANY PLACE on your computer where you can type something in. Pick up your DS and start mashing buttons. MIND BLOWN. [If it doesn't work, please see the Troubleshooting section.]

    Final Step: So if you were planning on deleting Notepad++ after this, well, don't, because it's a beautiful text editing program. Seriously though, you'll need it to change the configuration of the buttons, so close the command window and open the file that the program created with Notepad++. It should be called something like ds2key.p0.ini. Essentially here, the left value (e.g. A, B, Down) is the key on the DS, and the value on the right is the keyboard button. We can easily deduce that standard letter and number keys are called KEY_A, KEY_B, KEY_5, etc. Like I said earlier, I am not the creator of this software, merely someone who dug it up from the dead and tried to make it work. Therefore, I don't know the special names for certain special keys (e.g. Insert, F12, Printscreen, Scroll Lock). However, feel free to try different things to get those keys to work.


    Troubleshooting

    To save the tech-savvy people time, the following paragraph explains how to port-forward port 9501 on both TCP and UDP, so try that.
    Unfortunately, this is not my software, and the programmer isn't around anymore. However, you can try port forwarding if your DS is not connecting to your computer. Now, please go to your favorite Internet browser. Type in the number (IPv4 address) that you got in the tutorial INTO your URL bar at the top, replacing the last digit with 1, so it will probably be 192.168.1.1 or 10.0.0.1. Keep the periods!
    Here is what it should look like. Next, depending on what router you purchased, you will probably get asked for a username and password. By default, the username is admin and the password is password. If this doesn't work, contact your ISP or look at your router's manual. Next, you want to find anything that says port forwarding or port triggering. Look in every advanced menu, every tab, etc. Once you find it, create a new exception/service/whatever it calls them. For the port opening and port ending, put 9501 for both. Make sure it says TCP and UDP. Select your computer's name from the list. Then, save it. Done! Try it again, I really hope it works for you.

    Risks
    Put your default gateway into your browser's URL bar. If it asks you for a user and pass combo, put in admin for the username and password for the password. If that combination works, or if there was no user/pass request, then I'm sorry to tell you that any random hacker nearby could have all of your bank info and know everything about you RIGHT NOW, but that didn't happen. Why? Because hackers don't drive around hacking people's local networks. How would it be practical for a hacker to illegally park in your driveway for an hour attempting to hack you, and even then probably not even gain valuable information? Hackers are amazing at analyzing the risk vs. reward of a hack. Your network isn't worth the risk for them, even if you failed that security test that we just did. Honestly, the only time I would ever think that it wouldn't be practical to keep an alternate network open for this would be if your router doesn't support WEP and you're scared that your neighbours might try to take advantage of your wide-open no password network.

    Final Thoughts
    I was EXTREMELY surprised on how EASY this was to pick up and do, and the fact that no one has made any tutorials to use the DS as a controller for a computer. It's wireless, lagless, and relatively cheap. Feel free to post this elsewhere, but please credit me. Cheers.
     
    AsPika2219 and TheVinAnator like this.
  2. AsPika2219

    AsPika2219 Pikachu going beach!

    Member
    1,198
    220
    Jun 17, 2010
    Malaysia
    Cats City
    Nice! But, please reduce the font size. :teach:
     
    blustorm12 and Hayleia like this.
  3. Retinal_FAILURE

    Retinal_FAILURE GBAtemp Regular

    Member
    145
    26
    Jan 3, 2016
    United States
    Well this is good to see on the front page of DS rather than having to search to page 1024 now! Thanks