What you'll require:
=================
9.2 or lower 3DS (New or Old)
Cubic Ninja (For Ninjhax)
A computer running Windows
A way to access the 3DS' SD card. (Be it a physical reader, the Wifi transfer tool, or the FTP homebrews)
The following files: vJoy 2.0.5, 3DSController v0.5, the fixed 3DSController.exe*
===========
Instructions:
===========
For this tutorial I'll assume that you already have Ninjhax set up. If you don't, head over to http://smealum.net/ninjhax/ to get started.
-----------------------
Computer Setup:
-----------------------
- Extract 3DSController05.zip somewhere you can find it. I suggest your desktop.
- Open the PC folder and place the fixed 3DSController.exe inside, overwriting the current one.
- Install vJoy 2.0.5, reboot if required.
- Once it has successfully installed, go to %ProgramFiles%\vJoy\x86 (You can paste that into explorer's address bar)
- Copy vJoyInterface.dll and paste it into the PC folder from earlier. Once again you should overwrite the old file.
Run 3DSController.exe and grant it permission to use your network if prompted. Take note of the IP address the window displays, you'll need it later. (eg. 192.168.2.100) Feel free to close the program for now.
---------------
3DS Setup:
---------------
- Open the 3DS folder on your computer that you extracted in the last section.
- Open 3DSController.ini with a notepad/wordpad. Change the IP to the one you wrote down before. Leave the port unchanged unless you know you need to. Save the file.
- Access your 3DS' SD card using whatever way is easier or more comfortable for you.
- Place the edited 3DSController.ini right into the root of the SD card. (It should not be in a folder!)
- Open the 3DS folder on the SD card.
- Create a folder called 3DSController (no spaces). Copy 3DSController.smdh and 3DSController.3dsx from the computer's 3DS folder to this new folder.
Tap on the touchscreen to move the mouse. If it does not move, check the troubleshooting section below.
------------------------------------
Configuring the Controller:
------------------------------------
Now for the fun part. Setting up buttons for your games! You can map buttons to either keyboard keys or joypad buttons. Joypad buttons are a must if you are playing a game that uses DirectInput for controller input.
All the configuring is done on the computer side, in its 3DSController.ini. I strongly recommend making copies of this file so you can set up different layout for multiple games.
The ini already has helpful hints for setting up the controller. Part of the installed vJoy program was a utility called vJoy Monitor. If you plan on mapping buttons as joypad buttons this can be a helpful tool. You can set a button, save the ini and restart 3DSController.exe. Now with vJoy Monitor open, press the button and it will light up the number you assigned it. Moving the CirclePad should move the X and Y bars if configured as a joystick. Testing standard keyboard binds can be done in notepad. Press the button to simulate the press of the keyboard key it was assigned.
And you can type remotely with the 3DS! Press L + R + X to toggle the touchscreen keyboard.
===============
Troubleshooting:
===============
Q: I can't move anything/computer app doesn't say I'm connected!
A: There are a few reasons this may happen. I'll list some of the causes and solutions below.
- First, try to reconnect. Do this by restarting both the 3DS homebrew and the computer app. Start+Select on the 3DS will exit to the Homebrew Launcher.
- Is your 3DS' Wireless on? Is the computer connected to the same network? Both devices need to be on the same network to see each other.
- Is there a firewall blocking the 3DS or 3DSController.exe from accessing the network? Allowing them is the only way to have it work.
- Is the IP in the 3DS' 3DSController.ini the correct one for the computer? Most routers are set to assign local IP addresses on a first come, first serve basis. This is known as a dynamic IP. I suggest making both the 3DS and the computer's local IP static so they do not change. This will help a lot if you use FTPony/FTPBrony. Refer to your router's manual for instructions on that. (Shouldn't be too hard to set up)
- Is the port listed in both 3DSController.ini files the same? They'll need to be. Default is 8889.
- Have all of this set up and it still won't connect? Try enabling UPnP on the router if it isn't already. And in the worst case: forward the port you need. Again, refer to the manual for your router. Or google it.
Q: I get input lag that keeps getting me killeded!
A: In the computer's 3DSController.ini there's an option called Throttle. It controls how often the computer checks for updates from the 3DS. The number is in milliseconds. Try raising if still at the default of 20, or lowering if already higher. Higher Throttle = more CPU usage.
Alternatively, move closer to your router. Or change its broadcast channel to a less congested one and kick everyone off your internet.
*This is a build provided by the developer of 3DS Controller. It fixes an issue where it would not launch due to missing DLLs. All that changed from the v0.5 release is he statically linked the GCC libs so you don't need them anymore to run it. Source: GBATemp
======
Notes:
======
I wrote this up in about an hour so there might be a mistake or two. If there are any, please let me know and I'll fix the post as soon as I can. If CTurt ever gets around to updating his release download with the fixed 3DSController.exe, I'll update the tutorial accordingly. I should also mention that following this tutorial will allow people with Windows 10 to use the 3DS as a controller. This is because the recommended build of vJoy (as noted in the readme for 3DSController) will not install whereas the version I posted will.
Advertising
