Beta Release: 3DS & Virtual Boy Emulator Support for LumePad & RED Hydrogen One

OK, I just started up Wario Land on the Virtual Boy emulator. It works. The RH1 even accepted my 8bitdo Zero as the controller without a fuss. I love that you took the time to do this!!

But there is one major problem which I really feel should go without saying, and that is that a major problem with the VirtualBoy is its horrible, headache-inducing red color that makes people want to gouge their eyes out so they will never see it again. Personally, I prefer to see VirtualBoy games in white, blue or green like the Matrix. Any color but that god-awful red abomination. Even Red Alarm is better when it isn’t red.

Please add a color selector!! :smiley:

1 Like

i will definitely enable the color selector! haha, for now, there is a workaround: if you set it to anaglyph or left eye only mode, select a left eye color (may i suggest blue), go back to emulator. then, go back to settings and set it back to litbyleia display mode, it should retain your color selection. for now it’s limited to a pre-selected palette. but i’m working on adding an option for selecting custom foreground and background colors :slight_smile:

4 Likes

Will try that soon! Thanks!

Can anyone recommend an actually good Bluetooth controller for Android phones? I’ve never been happy with any of the ones I’ve owned.

1 Like

i use an xbox wireless controller with bluetooth. it’s great once it’s connected, but it’s kind of a pain to re-connect it sometimes it works, sometimes i have to “forget” the device and re-pair it.

1 Like

@BenMcLean I just posted an updated apk with custom color picker and improved performance: Release Leia Beta 0.2 · jakedowns/vvb · GitHub

Screenshot_20210827-155733

4 Likes

Runs flawlessly now! And changing the background from black to grey eliminates 90%+ of the crosstalk. Playing with other colors and pallets is going to be super fun :slight_smile:

Thank you!

4 Likes

Great! Looking forward to trying that soon! :smiley:

2 Likes

Thank You very mouch! Pretty cool Stuff! I need to try this also in my Red Hydrogen when I have the Time.

1 Like

Just tried it on my phone and it works! Only problem is the 3D is kinda off. Is there any way to adjust it? Seems as if the images are too far apart for the 3D.

1 Like

yeah the disparity is a bit too much at times. im working on a way to adjust the intensity, sadly tho, games on VB implement the parallax in a variety of different ways, sometimes pre-baking the effect into the sprites. so it’s difficult for me to adjust it in one place. if that makes sense.

changing the color palette to something with less contrast (like light grey / dark grey) helps a lot with the crosstalk

im currently looking into options using shaders or opencv to reduce the depth effect into a shallower range thats more well suited for the leia display

oh, also scaling down the size of the output image helps reduce the crosstalk too

2 Likes

I don’t think the problem that guy is having is with the leiapad. I think it is the 3D effect in the original games. It was made to be extreme so you really get the point that it is 3D. More like the old timey 3D movies whoch went 3D to the extreme than like the current lame ones.

1 Like

Good convergence / focus and really deep / popping out 3D aren’t necessarily inversely correlated.

You can get some super deep content and content that pops out a lot that’s still really comfortable, as shown by some of the creators on LeiaPix.

The big issue in my opinion is that the content for older games are designed for 3D displays with completely different parameters than the displays on Leia devices. The content could be updated but would require work on the emulator side (or hack the content itself in the case of baked sprites like in Virtual Boy). It could happen, but it will take some work! Which is why I’m very interested in seeing where @jakedowns takes these projects next.

2 Likes

I don’t believe anyone’s going to be interested in doing ROM hacks of VirtualBoy games just for the LeiaPad. You’ll have to make them yourself for each and every indovidual game if you want that to happen. That’s a huge time and effort commitment, where just adding Leia support to the existing emulator was not.

I don’t think the VirtualBoy games being designed for a different display method is the problem here. Both displays were designed for human vision. People’s eyes aren’t a different distance apart than they were in the mid 1990s. Hell, stereoscopic photographs still work the same from the 19th century and the display method on those has changed even more.

I think it’s just that this is how the Virtual Boy looks.

1 Like

I mostly agree with that sentiment with one exception, on the hardware version of the VB you had focus and IPD controls to make the image more comfortable. However I haven’t found a good way to emulate these in software.

I tried a basic shader that simply moved the images closer and further apart as an analog to manual IPD adjustment. But it didn’t seem to work. Ill revisit it.

I’m also looking into an option to hook into the neural network that leia uses for their YouTube video playback feature. Tho with that, I imagine they can buffer frames ahead of time, so it remains to see what kind of fps hit we’ll see trying to add stereo depth estimation in top. In theory tho, if it’s playable, it would make depth intensity, focal distance, and even bokeh a possibility. Even tho it might be a little less than perfect, it seems like a fun experiment

With the 3ds, I’m at least able to expose a control for depth intensity that maps to the hardwares 3d slider and the games will respect it

In the case of something like the wii and the GameCube, I think since those 3d implementations are post processing effects, and aren’t as hindered by the way the individual games choose to implement their rendering, I should be able to implement the same depth control option by adjusting the geometry shaders that perform the offsets, without needing to mess with adding AI inference on top.

Lots to explore!

4 Likes

I don’t think the VirtualBoy games being designed for a different display method is the problem here. Both displays were designed for human vision. People’s eyes aren’t a different distance apart than they were in the mid 1990s.

I see what you’re saying, but the baked-in convergence of a Virtual Boy game in software designed for a display meant to be viewed from 3cm away (with zero cross-talk due to two separate screens) is different from the convergence of content designed for a tablet viewed from 30cm away and is different from content for a 34" 3D TV viewed from 300cm away.

If you could adjust the convergence ala @jakedowns idea by doing manual IPD adjustment, then I think that could maybe allow users to dial in the content to correct for issues that arise from using Virtual Boy content on other devices, except in cases where stereo disparity is baked into the assets and all pixels per view move linearly. When doing convergence adjustment in other software (Nintendo 3DS, Leia SDK’s, etc.), content at different distances move at different rates based on it’s position in the scene. If it all moves linearly, then there may not be a way in a particular title to ensure all content in a specific scene is converged properly and in focus for the viewer at any given time, as moving background content into focus would move the foreground out of focus and vice versa.

3D displays have different trade-offs, which is why ideally content should be optimized per-display (or at least per-type of display, e.g. for 3D TV’s or for HMD’s). For context, I’ve had similar issues with uncomfortable convergence playing Virtual Boy games on my PlayStation 3D display, but I don’t have any issues playing Virtual Boy on Oculus Go.

3 Likes

This is a very weird problem to have because 3D movies seem to work fine, even from the 1950s

Hey Ben, Just wanted to say that I watched some videos on the Famicom 3D System and the SegaScope. Very cool, can’t believe I never heard of those. It’s so cool to me that they actually made consumer products out of them even if they were janky.

I’m excited to see what companies like Apple and Nintendo develop as AR/MR headset become more comfortable, and affordable

I was also excited to find that some of the games already have ports to Nintendo 3DS. I picked up a copy of 3D Classics: Kirby’s Adventure, and it runs very smoothly on Citra for Android

I will still look to see if there’s any emulators that run on android dedicated to the original hardware for the games that haven’t been ported, probably i’ll fork some RetroArch cores. But yeah, just wanted to share that and say thanks.

I also found that disabling VSync seems to help in some games in Citra. I’m not sure if it’s a placebo effect, or if it’s really making a difference haha, but it seems to be.

I intend to dive back into performance stuff in the near future.

2 Likes

Great to hear that! Citra in the LumePad ist Cool, I’ll try the Performance without vsync this weeken. Thanks for pointing that out :wink:.

1 Like

Pushed some quality of life updates to Citra :slight_smile:

Beta 2021.09.09

  • added option to adjust overlay control opacity Issue #245
  • added option to enable & adjust haptic feedback for on screen controls (Thanks to @VitorTrin & @JetPlaneJJ)
  • added option to enable sliding finger between face buttons Issue #247, similar to how DPad behaves (Thanks to @nathanlepori)
6 Likes

Cool, :sunglasses: Thanks for sharing!

1 Like