Homebrew 3DS Controller

  • Thread starter Thread starter CTurt
  • Start date Start date
  • Views Views 454,598
  • Replies Replies 1,201
  • Likes Likes 104
I'm sorry if this has been asked before I'm receiving this error while trying to run the exe file. "libgcc_s_dw2-1.dll" is missing etc etc.. I installed vJoy version 2.0.4

Edit 1 : I managed to fix it by finding required dll files on net and placing them in 3DS controller folder but now I'm encountering another error.

"vJoy failed (1) Buttons will still work, but joy stick won't work"

Edit 2 : Oh okay it was my own stupidity >.< I forgot to install vJoy again after uninstalling to see if it would fix the first problem. I successfully managed to run both 3ds app and pc but controller doesn't work. What could be the problem?

I'm pretty sure I'm using the right ip adress and made sure that my firewall doesn't block the connection.

Edit 3 : Okay I managed to fix it by changing the port to 8888 :) Thank you for this great app

Edit 4 : Another question is it possible to assign left or right mouse click to some button or tapping to touch screen and can i use circle pad as mouse?
Also up and right buttons typing down 2,4,6,8 I guess they are assigned to numlock buttons? Is it possible to change those to arrow buttons?
 
Last edited by kheldar,
Kek. Don't count on it. I'm talking to CTurt. He's done with the project.
I never said that. Just that I was busy with something else.

Yesterday I updated the PC client to be compatible with the latest compilers and latest version of vJoy.

Is there no way to turn the backlights off?

This homebrew seems to drain battery like crazy.

Love it. Use if for all my emulators.
I don't think I can turn off backlight, but I could definitely reduce the power consumption of the 3DS app. There is currently no throttling for it, it streams all keys once per frame. Also, looking at the source now, double buffering seems to be enabled when there is no need for it. I never tested this for any long periods of time.

I also see a lot of people complaining about DLL errors still, I will sort it soon. Sorry for the delay,
 
Last edited by CTurt,
  • Like
Reactions: Hashtastrophe
I never said that. Just that I was busy with something else.

Yesterday I updated the PC client to be compatible with the latest compilers and latest version of vJoy.


I don't think I can turn off backlight, but I could definitely reduce the power consumption of the 3DS app. There is currently no throttling for it, it streams all keys once per frame. Also, looking at the source now, double buffering seems to be enabled when there is no need for it. I never tested this for any long periods of time.

I also see a lot of people complaining about DLL errors still, I will sort it soon. Sorry for the delay,
Well Well WELLL. He's here now!
 
Thanks for the support, everyone!

I just managed to get backlight control working, which will be in the next version:

Code:
#ifndef REG_LCDBACKLIGHTMAIN
#define REG_LCDBACKLIGHTMAIN (u32)(0x1ED02240 - 0x1EB00000)
#endif

#ifndef REG_LCDBACKLIGHTSUB
#define REG_LCDBACKLIGHTSUB (u32)(0x1ED02A40 - 0x1EB00000)
#endif

static u32 brightnessMain;
static u32 brightnessSub;

void disableBacklight() {
u32 off = 0;

GSPGPU_ReadHWRegs(NULL, REG_LCDBACKLIGHTMAIN, &brightnessMain, 4);
GSPGPU_ReadHWRegs(NULL, REG_LCDBACKLIGHTSUB, &brightnessSub, 4);

GSPGPU_WriteHWRegs(NULL, REG_LCDBACKLIGHTMAIN, &off, 4);
GSPGPU_WriteHWRegs(NULL, REG_LCDBACKLIGHTSUB, &off, 4);
}

void enableBacklight() {
GSPGPU_WriteHWRegs(NULL, REG_LCDBACKLIGHTMAIN, &brightnessMain, 4);
GSPGPU_WriteHWRegs(NULL, REG_LCDBACKLIGHTSUB, &brightnessSub, 4);
}

Hopefully this should reduce the battery drain significantly when using 3DS Controller.

I've also been looking into the possibility of a Linux port, but I'm not promising that it will be in the next version, or will ever be released for that matter.
 
Last edited by CTurt,
Oh wow that sounds great. Looking forward to the streaming feature so playing SNES and GBA on 3DS will be a breeze!
 
I've also been looking into the possibility of a Linux port, but I'm not promising that it will be in the next version, or will ever be released for that matter.
that would be awesome :D I've stopped booting into windows at this point... it's actually surprisingly unstable compared with Linux (I'm tired of bluescreens and all of the extra programs you need to do things Linux can do on a fresh install)
I run all of my games with wine (lets you run windows apps on Linux, though for something like this an official port would probably work better)
 
Interesting, good work! Is it per screen (main = top, sub = bottom), or do main & sub mean something else, and the screens can't be controlled independently?
Main is the top screen, sub is the bottom screen. The naming convention stems back from the DS scene which had two video engines: the main engine (which can do 3D graphics and has more VRAM) and the sub engine; each screen is assigned 1 engine (can be either way around). But for the 3DS, main is always the top, and sub is always the bottom.

It is indeed possible to control both screens' backlight independently, but it is not a good idea to do this, because the 2DS only has a single screen. Controlling both ensures that it behaves the same on a 2DS and 3DS.

that would be awesome :D I've stopped booting into windows at this point... it's actually surprisingly unstable compared with Linux (I'm tired of bluescreens and all of the extra programs you need to do things Linux can do on a fresh install)
I run all of my games with wine (lets you run windows apps on Linux, though for something like this an official port would probably work better)
All operating systems have their flaws; but overall I choose to use Windows. If I had to use anything else, I'd use FreeBSD with GNOME 3 though; you should too if your main concern is stability.
 

Site & Scene News

Popular threads in this forum