v1605

@v1605@lemmy.world

This profile is from a federated server and may be incomplete. For a complete list of posts, browse on the original instance.

v1605 ,

Also bought mine off AliExpress. It was one of the fake pokemon shell models, so that feels a little cheap but looks nice. Otherwise the unit functions perfectly, no scratches on the screen and buttons are responsive.

v1605 OP ,

Thanks! Found the stands here

v1605 OP ,

Well there are tons of 3d printed stands, as well as the classic nail polish stand. Lots of options out there.

Another GameBoy Bluetooth Controller ( lemmy.world )

I happen to have a board from my FunnyPlaying build so I figured I'd give it a shot. Used enamel wire to make the button contacts and got 3.3v from the cart slot. I also removed the caps as to not power any circuits that didn't need (CPU and RAM were donors to the other board). Power is provided via AA batteries.

v1605 OP ,
v1605 OP ,

Thanks. I was looking at these carts and thought about hard it would be to make something similar that you could use a old shell with. I recently made a SNES to Bluetooth adapter so the code was pretty similar. I really like projects that recycle parts like this.

v1605 OP ,

Space and simplicity. There is not a lot of room in a GBA so a custom PCB would probably be needed from the start. Also the DMG display PCB is basically trash if the screen dies, which is all you need for this project. The GBA equivalent would need a donor motherboard.

Update: SNES to Bluetooth Lag is now at 8ms and code is available ( github.com )

An update to my previous post. I was able to improive the average lag by disabling the serial monitor, passing a reference of the controller to the polling logic (eliminating the need to loop over the current state and previous state to determine if buttons should be pressed), and adding a 1ms delay between loops (should have...

v1605 OP ,

Can you provide an example? I only experimented with delay and found that 1 millisecond gave the best improvement.

v1605 OP ,

The SNES uses shift registers on the controller. Polling it requires reading the registers to get the current state.

Black Gold GBA Motherboard Fully Complete ( i.imgur.com )

Took a badly marginal gba pcb and transplanted the CPU and RAM into this new motherboard. The soldering was a nice challenge but I had an issue with the cart slot. A pin was bent, so had to fix that before games would boot. Very happy with the result. I've uploaded a picture of the back of the shell as well....

v1605 OP ,

Yep, maybe I'll revisit it again after trying it on some more smaller prints. Or just experiment with another jewel.

v1605 OP ,

It definitely could but the idea was to use only an esp32 rather than incorporating additional hardware.

v1605 OP ,

So in this case it's my own code to read the state of the controller and using the ble-gamepad library, which uses NimBLE under the hood. There could be some optimizations but getting to be under 10ms probably is going to use a lot of time I could just be playing games.

v1605 OP ,

I wouldn't call that controller bad, just not optimal. For this, I would want to have it be under 10ms to publish the code and instructions.

v1605 OP ,

There probably could be some optimization in the translation, such as passing the controller object as a reference when checking the state of the buttons, rather than doing two loops to read the state and act on it. But I doubt that is the source of the largest latency since this is compiled to run at 240mhz (I did some additional testing at 80 as well, about the same results). I'm using a d1 mini off alliexpress so not the highest quality but I wouldn't expect a huge performance hit.

v1605 OP ,

18ms is okay but for a lot of retro content, it's running 60fps. That means it's one frame is 50/3ms, aka 16.6666ms. Sub 1 frame is good enough, 18ms is not in my opinion.

v1605 OP ,

It's really hard to judge without additional testing, I'm always more likely to blame my code than hardware. My guess would be something in the stack, be it my code or the library that puts it above a frame but that kind of investigation is more than I want a hobby project to be.

v1605 OP ,

Without more testing it's hard to say. I don't want say it's the hardware without proof, but would require a much deeper dive into esp32 and c++ than I want to do right now.

v1605 OP ,

Yeah one approach is that BLE-Gamepad library supports gpio pins as button inputs, so in theory I could get a baseline of what the Bluetooth stack of the library is by soldering the jst connector to connect the Arduino (that triggers the button presses and measures the result from the Mister SNAC port).

Otherwise I'd basically have to develop my own controller code to port onto various Bluetooth stacks for testing, but that seems like more than I want to do right now.

v1605 ,

Just to add to the math, it really depends on what you own already and your capabilities to install mods yourself. Buying 3 pixelfx HDMI mods (shiny editions) will cost you around the same as the 4k (and that's if you can install yourself). Same thing as the analogue consoles if you want individual systems to play cartridges.

To add to the quality aspect, I have a 4k and I compared my RGB N64, HW1 N64Digital HDMI and RGB outputs, and Mister core as soon as I got it. The 4k looks better on my OLED than the HDMI output of the mod, with the only exception being if you prefer the smoothing filter in certain games.

v1605 ,

And many other systems and arcade games (SNES, NES, Genesis, GameGear, Super Gameboy, Simpsons arcade game, galaga, etc...)

v1605 OP ,

Haha thanks. I debated on which picture to use, I settled on this one mainly because I was so impressed with the UV print quality, though LEDs are great for those sweet, sweet internet points.

v1605 OP ,

UV printing is a way to print designs on plastic and other materials (special ink is applied to the surface and cured with UV light). This shell was definitely injection modeled, not 3D printed. I'm pretty sure the shell itself is this one.

v1605 OP ,

No, UV printed is still the correct term. For 3D printing, "resin printed" is the more common term.

Gbscontrol Wifi Remote (WIP) ( lemmy.world )

This is a small project I'm working on for the gbscontrol. It functions as a remote to change saved profiles via wifi using a Raspberry Pi Pico W. With the addition of filters to the analogue pocket dock, I wanted to be able to quickly change presets without having to launch the web UI. When its ready, it will be fully open...

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • test
  • worldmews
  • mews
  • All magazines