3DS & Virtual Boy emulators for Lume Pad & RED Hydrogen One

Thanks so much for working on this!

I have tried the latest versions of both apps on the RH1, now with some skull candy earbuds and a proper Android controller. Here’s some feedback.

On Citrus: The only 3DS game I can actually get it to load is Ocarina of Time and even that only works intermittently. Every other 3DS game just shows a black screen: it doesn’t build the shaders or anything: it just shows a black screen. Am I doing something wrong? Would appreciate feedback on that.

On VirtualBoy: It works, except for some issues:

  1. It continues to show the navigation bar at the bottom of the screen during gameplay when it should be full screen or just have blackness where it is not showing the game.

  2. The screen dims during gameplay instead of staying at full brightness. I think this may be a power saving measure? But it needs to stay at full brightness to see the game!

  3. Performance isn’t great: it’s just on the very edge of playable and some games that require precise timing run but I wouldn’t consider them playable. This may not be something you can do anything about but it’s an issue.

1 Like

thanks for the feedback, i appreciate it.

i have been experiencing the black screen issue with citra as well. i guess i broke something with my last build. ill take a look at that. i thought it was an issue on my device only cause i was testing out a different fork of citra which overwrote some files. but maybe its unrelated

for citra ive had best luck with less demanding games like 3d classics: kirbys adventure
but even some of the 3d classics and sonic games sadly dont make it past their main menus

ill look into the vvb issues as well :slight_smile:

ill post back here next time i have an update :slight_smile:

1 Like

Hey @BenMcLean,

Thanks again for the feedback! :slight_smile:

I’ve uploaded a new release of VVB v2021-10-02 which addresses some of the issues you mentioned.

I’m still looking into potential performance bottlenecks.

I think there’s some optimization that could be done regarding the on-screen controls that may be interfering. When I use a Bluetooth controller such as an Xbox controller, or my new GameSir X2 (h/t Nima) I notice that I get much more playable speeds.

I also intend to add an FPS monitor.

I’m curious, what games are you seeing slowdowns on? I mainly play WarioLand, but I’m happy to debug/test others.

If you get a chance to try it out, please let me know what you think!

I’ll be looking into Citra as soon as I can, tho i will say, I was enjoying New Super Mario Bros 2 (30fps-ish) recently on the existing build, so I guess YMMV depending on the game

3 Likes

@jakedowns , I Took a Second Look in the 3ds Emu, Looks awesome, but Performance isn’t all that great atm because of the General state of 3ds Emulation. Could You take a Look into adding the Leia Display Option to a fork of dolphin mmj? Runs pretty good, even in Hydrogen one.

Can already tell this new build is better even though I haven’t got to try it with the Bluetooth controller yet

Hi @jakedowns ,

I confess that I have not tried your software (sadly, I’m not a gamer), but I have a question for you. From your work, can you tell how difficult it would be to write an app that simply changes the Lume Pad display from 2D to 3D (either ST or 4V)? I think that might allow the Lume Pad to be used as a 2nd monitor for a Windows PC (or maybe a Mac, too). Any simple remote app, even something like Team Viewer or RDP, should be able to get pixels onto the Lume Pad; the missing piece is how to turn on the light-field. Does that make sense?

Thanks,
David

@David_in_VA there is unfortunately no global switch to go from ST to 4V, only 2D to 4V. ST (which enthusiasts like, but most users dont) repeats the left and right image, and has to be implemented per app

there is a generic 3D mode switch that you can use by installing a web helper app provided by Leia as part of their webgl api, then visit a specific URL to trigger it. (you could bookmark it as a homescreen tile) from there you could in theory connect to a remote desktop app and view it in ST/4V depending on the app.
see:
https://docs.leialoft.com/developer/webgl-sdk/leia-webgl-sdk

however, the way most remote desktop (msft, google) works, there would probably be some scaling going on, not to mention compression of the signal, both of which could render the view uncomfortable or downright unusable.

Leia does also have a remote app for connecting to Unity which (when i can get it to work) works pretty well for remotely previewing ST/4V content rendered on another device. you can even interact with the touchscreen altho it is delayed a bit

ive been told Leia is working on a more official generic approach to mirroring, but i have no idea where it is on their list of priorities

you could probably hack something together piping video into unity and back over to the lume pad. or maybe even using my fork of Jellyfin / MPV Player to stream content from OBS. but i have not tested either of those.

see https://github.com/jakedowns/mpv-android

2 Likes

@jakedowns,

Thank you very much for answering my question. I’ve thought about getting into Android programming, but haven’t made the jump yet. Perhaps this will give me the push I need.

In the meantime, I really hope that Leia will provide an app to enable this 2nd monitor functionality, so they can compete with the new lenticular tablets that have it.

David

1 Like

Hi @jakedowns , I Hope you are well again and have Managed to get rid of Covid. I stumbled upon a Citra Fork that runs a lot faster than the main Release, it’s called Citra Enhanced and runs a lot better on Mobile, even in stereoscopic Mode. Do You think you could give it a try?

2 Likes

ooh that’s exciting to hear! i am feeling better, thank you

i’ll definitely be looking into this soon! :slight_smile:

2 Likes

Hello Jakedowns, this is great to hear, the recent mmj-build Runs even better, it has some fixes to the emulated CPU that greatly improve Performance. Have a great Day, B.R.

2 Likes

even more awesome! love that theres still progress being made on these fronts. im excited to dig into the details

which games did you try? i couldnt get any of my backups to load in citra enhanced. ill def try mmj next :slight_smile:

2 Likes

I tried Ocarina of Time which Ran almost flawless, but the mmj ist faster because the new emulated CPU isn’t wasting as much clock cycles as it seems, with mmj the Super Mario 3d is almost there with framerates in the upper 50s which is pretty impressive for a 845 I think. Even in the Red Hydrogen Rayman runs almost 100%
at 3x Resolution which is really impressive.
Edit you probably need to decrypt the Roms first, there is a Python tool for that somewhere.

2 Likes

nice. i feel like i need to factory reset my phone. i think with all the forked versions ive installed something might’ve been corrupted somehow. i get black screens on games that used to work. maybe just some settings. will try zelda. thanks for the tip

2 Likes

oh. are you using Lume Pad? i was trying it on my RH1. on my lume pad im definitely seeing 60fps in new super mario bros. this is great. :slight_smile:

i guess my dream of these perf enhancements helping the 835 in the RH1 aren’t quite a reality

still exciting tho.

i was playing rocket league sideswipe on the RH1 with the gamesir grip and it was super smooth. wish i could get a 4v version of that!

2 Likes

It also runs smoother on the RH1, Zelda ist smoother, a lot less audio hiccups and you can bump up the Resolution a little bit higher, Rayman was horrible with the main release and now runs pretty good.
Make sure to enable the video Hack that many Games seem to need to get somewhat smooth cut scenes.
Since they often start with Video try enabling it, Rayman for example won’t even get you to the main screen without it and you will just see a black screen if you don’t.

1 Like

Nice. will definitely try some more of my library on the RH1

i started digging into the mmj source code tonight

they moved the post processing step later in the render/compositing pipeline and it looks like i dont have access to the L/R channels in the current shader hook

i emailed the author for advice but i think i can figure it out either way. just not a simple patch and release. gonna take some sifting and trial and error

but im excited to get it working now that so many more games feel much more playable

Edit and thanks for the tips. 3x rez 60fps is pretty great

2 Likes

N.p. would be pretty awesome if you manage to apply the 4V Patch, it looks like I don’t have the time to take a look at it any time soon.
Have Fun :wink:!

1 Like

Portable devices like this are mainly for car rides on vacation for me, so that’s why it’s been a while before I could do a more in-depth test beyond “do any games load?” Here’s my results from actually using these emulators on a Lume Pad on a car trip:

On 3DS, I tried Super Mario 3D Land, 3D Sonic the Hedgehog 2 and Kingdom Hearts Dream Drop Distance. Sonic loaded the menu just fine but crashes the app when the actual game starts. Mario loads and I managed to get through the first stage but the framerate was just a little bit below what I would consider to be playable. (and I’m a veteran of testing with cutting edge development emulators such as PCSX2 back in the 2000s when I had a PC barely capable of running it at all so my definition of a playable framerate is pretty low) I tried tweaking settings and everything but couldn’t get a playable frame rate, even with the audio completely disabled. The 3D effect worked great though, so this probably isn’t something fixable. Kingdom Hearts would not load at all: it just showed a black screen.

What I found more concerning is some problems I ran into playing BLOX 2 on the Virtual Boy emulator. It runs with an OK framerate, but trying to bring up the emulator’s options menu in-game often resulted in freezing and crashing. Also, the total lack of save states is really bad. I’d appreciate getting save states if at all possible.

I had updated both apps on my Lume Pad to the latest Github releases before starting this trip yesterday. Both were using a bluetooth controller and it seems to have some pretty bad latency going on, but I am inclined to blame the controller on that one. I’d want to do a wired controller test before complaining about latency.

1 Like