Homebrew 3DS Controller

  • Thread starter Thread starter CTurt
  • Start date Start date
  • Views Views 454,609
  • Replies Replies 1,201
  • Likes Likes 104
Sorry, this isn't an answer to your question, but is there a reason you're not using nds-bootstrap/TWiLightMenu to run DS games on your console natively?
It is because snickerstream cannot capture whatever is played in the twilightmenu, I want to be able to stream my ds games, and most emulators are just no very nice to play with. If there was a way to capture footage of ds games on the 3dsxl, Id do it in a heartbeat. I can't afford the 3dsxl capture card mod.
 
  • Like
Reactions: smileyhead
Just a quick recap from reading this whole thread, here is the latest method which made it work for me

Intro
OP CTurt's version aka official latest version: 0.6, comments saying "N3DS buttons, C stick only working in .3dsx not in .cia", my 2DSXL those does not work, maybe it works only for 3DSXL idk
Recommended: Search Ordinaryperson2 github latest version: 0.7.2, this build works good for me
Tap does not exist/work in 3DSController.ini


How to download/install
Follow instructions on github, download and extract the files. Follow the Readme file.
Install vjoy 2.0.5 preferred version.


Problems encountered
  1. Issue MSVCR120.dll was not found: I went to google and downloaded the file from dll-files, saw people recommend downloading from Microsoft official website. From the dll-files, you MUST use the Architecture: 32-bit one and put it in the same folder as PC: 3DSController.exe. If you download the 64-bit and put it in the same folder, running 3DSController.exe will prompt: "The application was unable to start correctly (0xc000007b)."
  2. When running PC: 3DSController.exe be sure to allow it on Public and Private network when the firewall prompts you. If you only enabled one of them (default for me is public only), go to Control Panel > Search "Firewall" > Click "Allow an app through Firewall" > Look for 3DSController.exe and allow. My 3DS in unable to connect to 3dscontroller.exe until I've done this step, idk why. After this try connecting again by launching PC: 3DSController server again, then launch the app on 3DS. If text on server says: "3DS connected", means you're in. You can show keyboard in 3DS by pressing L+R+X.
  3. Call to bind() returned error 10048: Port is currently in use. You probably already started the 3DSController.exe already
  4. Exit on 3DS using Start+Select, using Home button or Rosalina menu seemed to freeze my 3DS frequently

Keybinds
If you want to use it as JOYSTICK keybinds, you will need to edit 3DSController.ini as below. Or change the JOY orders, does not matter. You will need remove "DPAD: Keys", edit Circle Pad and C Stick as JOYSTICK, then change vjoy config > Number of buttons: 16
Port: 8889
Throttle: 10
Mouse Speed: 0
vJoy Device: 1

Circle Pad: JOYSTICK1
C Stick: JOYSTICK2
Touch: MOUSE

A: JOY1
B: JOY2
X: JOY3
Y: JOY4
L: JOY5
R: JOY6
ZL: JOY7
ZR: JOY8
Start: JOY9
Select: JOY10

Left: JOY11
Right: JOY12
Up: JOY13
Down: JOY14

Pad Left:
Pad Right:
Pad Up:
Pad Down:

C Stick Left:
C Stick Right:
C Stick Up:
C Stick Down:

To test if keybinds are working, open notepad and press your keys. If arrow keys show 2468, turn off NumLock.

You can also go to Control Panel > Search "controller" > Click "Set up USB game controllers" > Properties
Based on testing, Circle Pad corresponds to X Axis/Y Axis, C Stick corresponds to X Rotation/Y Rotation, and Volume Slider corresponds to Z Axis (contrary to release 0.7.2 changelogs, which should be slider)

Vjoy is working, what next?
You can map keyboard keys directly, or use JoyToKey for ease, or use xbox360ce to map JOY1-16 to an XBOX controller. I used xbox360ce in games like Overcooked 2 and FIFA 19. You can also use vjoy directly as a Steam controller, which I am going to use for the new Fantasy Life i: The Girl Who Steals Time on Steam yay
 

Site & Scene News

Popular threads in this forum