Homebrew 3DSControllerPlus - PC-->3DS video and input streaming

  • Thread starter Thread starter Sono
  • Start date Start date
  • Views Views 102,710
  • Replies Replies 392
  • Likes Likes 53
Video streaming is fully independent.

I've written FileStreamer.exe to stream your screen or an .ogg file to the 3DS.

Video has to be 240x320 (it's 320x240 rotated to the right) Theora codec in .ogg container.
Frametime must be 280071/16756991 (~59.831225FPS) or slower, but it will be played back at ~59.831FPS regardless of the file's framerate.

Also note that old3DS doesn't have enough bandwidth to stream both keys and video, both will suffer in latency, delay, and stutter.
Also affects new3DS, but it's much less worse.
Hi, do you know why the JoyToKey doesnt detect my C Stick from the 3DS?
 
Hi, where can I find the .cia? Or am I meant to use the original non plus cia.
Didn't realize it had been changed to Osu!controller. Thanks
 
Last edited by dmcpacks,
Hi, where can I find the .cia? Or am I meant to use the original non plus cia.
Didn't realize it had been changed to Osu!controller. Thanks

I could've sworn I've added description to each version.


"Linux controller" is the normal version, with all features available (including video streaming), but it has a single frame of latency, and a much lower touch resolution (only 320x240).

"osu!Controller" is the low-latency version, it works as fast as the 3DS hardware and the network conditions allow the data to be sent.
It also features a MUCH higher touch resolution (4096x4096 (yes, the resolution of the touchscreen is not the same shape as the touchscreen itself)).
Some features are not available, like video streaming, Circle Pad support, and "alternative key" support.
 
Thanks, is the source code available anywhere? I'm interested in swapping top and bottom screens to leave video input on the top screen and debug/connection things in the bottom one
 
Thanks, is the source code available anywhere? I'm interested in swapping top and bottom screens to leave video input on the top screen and debug/connection things in the bottom one

I have removed the most of my projects' source code I could remove, due to repeated abuse.

I can't stretch the image to 400x240 from 320x240, it has to stay 320x240. Is that okay?
 
I have removed the most of my projects' source code I could remove, due to repeated abuse.

I can't stretch the image to 400x240 from 320x240, it has to stay 320x240. Is that okay?
sure, thats ok. Sad to see how people abuse projects.
 
Nope.

I wanted to remake this to support other input hardware in the 3DS (like the gyro), but never got around to getting the PC software working.
Hi, sorry to be bothering in this old post, but I've found out that some people managed to support the input of gyro through Moonlight streaming through 3ds!
Maybe their source could be helpful to find a work around?
 
Hi, sorry to be bothering in this old post, but I've found out that some people managed to support the input of gyro through Moonlight streaming through 3ds!
Maybe their source could be helpful to find a work around?

Oh, it's not any technical problem. Literally one call to enable gyro in, and one call to disable gyro in (to save power).

I just never ended up adding it, as I don't know how to add it into the PC program in a meaningful way, as it doesn't support analog in (other than touchscreen as trackpad).

I could add it for others' programs to support though.
 
  • Like
Reactions: svenotta
Oh, it's not any technical problem. Literally one call to enable gyro in, and one call to disable gyro in (to save power).

I just never ended up adding it, as I don't know how to add it into the PC program in a meaningful way, as it doesn't support analog in (other than touchscreen as trackpad).

I could add it for others' programs to support though.
Oh, I get it now, I always thought it was something hard to do, but yeah, aside a few games like Breath of the Wild there are little to no reasons to pull it off

I'll use the chance to thank you for all of your works, both the Controller Plus and the Volume Management have helped me so much, I admire your work!
 
  • Like
Reactions: Sono
Oh, I get it now, I always thought it was something hard to do, but yeah, aside a few games like Breath of the Wild there are little to no reasons to pull it off

I'll use the chance to thank you for all of your works, both the Controller Plus and the Volume Management have helped me so much, I admire your work!

I mean, if you have *any* idea how I could map the gyro as digital controls, I *will* add it. But as it stands, it doesn't integrate into the program at all, so that's what's preventing me from adding it.
 
Hi, so maybe I'm just stupid, but I can't seem to find the download link for the CIA? I've tried downloading it from Github, but I get a 404... has this project been taken down?
 
Hi, so maybe I'm just stupid, but I can't seem to find the download link for the CIA? I've tried downloading it from Github, but I get a 404... has this project been taken down?

Oh, just looked, and it's indeed not clear that "Linux controller" and "osu!Controller" are the .cia downloads.
Not only that, seems like the edit I did to clarify the difference between the two are also not there... weird.

"Linux controller" is the generic full-featured version with video streaming support, but input framerate is locked to 60FPS, and touch resolution is locked to 320x240.

"osu!Controller" lacks video streaming and Circle Pad support*, but you get the entirety of the 4096x4096 touch resolution with as low latency as you can get (I forgot if it's 120Hz or 240Hz).
* new osu!Controller actually has Circle Pad support, but it only works when used with newer version of the PC software, which I have not published.
 

Site & Scene News

Popular threads in this forum