TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Show HN: Game Bub – open-source FPGA retro emulation handheld

274 pointsby elipsitz3 months ago
Hey HN,<p>Over the past ~1.5 years, I built an open-source FPGA retro emulation handheld that can play Game Boy, Game Boy Color, and Game Boy Advance cartridges. To my knowledge, there isn&#x27;t an existing open-source FPGA emulator that can play physical cartridges like this.<p>One of my main goals was to do all of the pieces myself, and be able to understand every component of it, so I designed my own PCB, wrote the firmware, wrote a Game Boy and Game Boy Advance emulator for the FPGA (using the Chisel HDL), and designed a 3D-printed case.<p>I detailed the design and development process in the linked post. It&#x27;s quite long, but there are a lot of pictures and videos.<p>Code and design files available on GitHub: <a href="https:&#x2F;&#x2F;github.com&#x2F;elipsitz&#x2F;gamebub">https:&#x2F;&#x2F;github.com&#x2F;elipsitz&#x2F;gamebub</a>, and an overview of the architecture: <a href="https:&#x2F;&#x2F;github.com&#x2F;elipsitz&#x2F;gamebub&#x2F;blob&#x2F;handheld&#x2F;docs&#x2F;architecture.md">https:&#x2F;&#x2F;github.com&#x2F;elipsitz&#x2F;gamebub&#x2F;blob&#x2F;handheld&#x2F;docs&#x2F;archi...</a>

25 comments

kbrackbill3 months ago
This is really cool, thanks for the writeup. Love how thorough you were, one of my first thoughts was whether you could hook it up to a gamecube and it was already done in the blog post :).<p>One cool advantage of real cartridge compatibility I hadn&#x27;t really thought about is that lets you not have to think about memory mappers (I&#x27;m mostly familiar with NES&#x27;s dozens of different mappers, not sure if GB carts work the same way) and other custom cartridge hardware since you&#x27;re just &quot;emulating&quot; up to the cartridge boundary. I guess this means even crazier hardware like the camera&#x2F;rumble&#x2F;sewing machine would &quot;just work&quot; with an original cartridge without any special support right?<p>I guess that doesn&#x27;t save too much for this though if it supports loading ROMs. For that do you still end up having to emulate all the different mappers in the FPGA?
评论 #43032325 未加载
bityard3 months ago
Thank you for the nice project and write-up! I love stuff like this!<p>I visited the comments earlier and was discouraged to find that most of them were of the flavor of, &quot;why does this exist?&quot; From people who have obviously never attempted 1% of an audacious project like this. It exists because it&#x27;s cool sure looked to be a fun cross-domain learning experience, like what else do you need?<p>BTW, I have submitted to Hack-A-Day&#x27;s tip line so don&#x27;t be surprised in there&#x27;s an article there about it in a few days.
Neywiny3 months ago
Sadly that display controller MISO thing is notorious. I first ran into it a few years ago. The recommendation was to use a tristate buffer on the chip select line or, as you did, separate the buses.<p>I also run into the power domain issue a lot. I didn&#x27;t see a graphic about it in the article but essentially in the majority of devices the IO is like this:<p>Vdd<p>|<p>Esd diode<p>|<p>I&#x2F;O pin<p>|<p>Esd diode<p>|<p>Ground<p>Where the diodes are pointing towards. That way if the line goes too negative the lower one will conduct and clamp it to a diode drop + ground, same as if it goes too high to a diode drop + Vdd. The problem is if Vdd has a low impedance path to ground. This is common with power supply ICs either with output discharge resistors or transistors allowing current through to ground. When that happens, your io pin now has a diode in parallel to ground. If you&#x27;re not careful and don&#x27;t have current limiting resistors in the way I2C does (because it needs the pull ups), suddenly you&#x27;re putting the max current your driver can deliver through that diode. Doesn&#x27;t take much for the smoke to escape.<p>Some IO pins are designed to be fine without VDD. You can usually check the absolute max ratings for someone like &quot;VDD + 0.3&quot; vs &quot;3.6&quot;
sitkack3 months ago
What is the total cost for a pcb populated with components? Probably around 60-70 qty 100?<p>I appreciate the blog post and the writeup, it might be nice to include it in the repo.<p>I have been toying with a similar design, with many of the same choices. Although for the system controller pair, I&#x27;d go with RP2350B and ESP32-C61 (I think). It would be nice if there was an optional chip and pad layout to support legacy or classic BT.<p>Another option would be to have a USB port and support something like <a href="https:&#x2F;&#x2F;www.8bitdo.com&#x2F;usb-wireless-adapter-2&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.8bitdo.com&#x2F;usb-wireless-adapter-2&#x2F;</a> to enable legacy controllers.<p>It looks like supporting legacy BT while noble, could be a project killing sidequest (if you didn&#x27;t already have it done!) Another out, would be exposing an SPI connection internally so someone could hack in a controller of their choice.
评论 #43029202 未加载
LeoPanthera3 months ago
I have an Analogue Pocket, which works really well, but the fact that it uses an FPGA is essentially meaningless to me. Is there really any significant difference compared to software emulation?<p>I know <i>how</i> they&#x27;re different, I understand the mechanics of it, I just don&#x27;t understand why it&#x27;s not possible to make a software emulation that is as good as FPGA emulation. Or maybe it is possible. I always felt like doing it in software would be a lot more flexible.
评论 #43029509 未加载
评论 #43034593 未加载
评论 #43029525 未加载
评论 #43029643 未加载
评论 #43034928 未加载
评论 #43029534 未加载
评论 #43033656 未加载
wwwtyro3 months ago
I love the idea of open source hardware, but one issue I struggle with is - what happens when one or more components go out of production?<p>I suppose one solution is that the maintainers could update their component list (which might involve more than one component because of compatibility issues?). But what if I&#x27;m in the middle of purchasing the components only to discover I can&#x27;t get them all? Maybe the maintainers could sell component kits? That might be a nice way to fund their work. Not sure if that would run into issues with IP laws, though.
评论 #43028183 未加载
ecshafer3 months ago
I don&#x27;t really know if this is a stupid idea or not, I don&#x27;t really have hardware experience. But the older systems, say NES, SNES, Genesis etc are pretty simple systems. Patents also have a lifetime. Why aren&#x27;t we getting recreations of the hardware via a SOC sold that near-perfectly emulates the system? The FPGA projects are as close as I see this happening, but FPGAs are pretty expensive I imagine compared to some 40 year old cpu design and 1kb of ram.
评论 #43029047 未加载
评论 #43029032 未加载
评论 #43028635 未加载
评论 #43032282 未加载
评论 #43028859 未加载
评论 #43028605 未加载
评论 #43028547 未加载
ogoffart3 months ago
Awesome project! Really cool to see that the UI is built with Rust and Slint, the GUI framework I’m working on. <a href="https:&#x2F;&#x2F;github.com&#x2F;slint-ui&#x2F;slint">https:&#x2F;&#x2F;github.com&#x2F;slint-ui&#x2F;slint</a>
评论 #43028645 未加载
noxa3 months ago
Fantastic project and great writeup! The screen tradeoff with needing triple buffering but getting integer scaling was interesting to hear about - any feeling as to whether it adds human-noticeable latency vs. original hardware?
评论 #43029901 未加载
ge963 months ago
Damn what a great post, I hope to have similar skills one day (specifically about designing my own PCB and working with FPGAs)<p>Anyway feedback for the site, I think it could help if the active tab on the index is colored vs. bold
评论 #43029756 未加载
hoc3 months ago
What a great writeup. I am always interested in these specifics of current design decisions even if I am so not into gaming handhelds. But the questions around display, enclosure, battery power and connectivity and the chose. borders between circuit and software are always current and shifting with time and goals. I love the Pico W integration, which is still one of rather undervalued development items of the last few years.<p>Great work. Thanks a lot for sharing.
bsimpson3 months ago
Designing your own boards and writing the emulator is super impressive! I like the clear case too! :)<p>It&#x27;s a good week for homebrew handhelds. Someone posted a cool one on reddit yesterday built with a Raspberry Pi:<p><a href="https:&#x2F;&#x2F;old.reddit.com&#x2F;r&#x2F;Handhelds&#x2F;comments&#x2F;1in0svx&#x2F;my_pi_5_handheld_prototype_that_i_finished_with&#x2F;" rel="nofollow">https:&#x2F;&#x2F;old.reddit.com&#x2F;r&#x2F;Handhelds&#x2F;comments&#x2F;1in0svx&#x2F;my_pi_5_...</a>
tourmalinetaco3 months ago
You have not only created an open source Analogue Pocket, which is amazing, but you’ve also perfectly voiced the problems I have with the MiSTer project: that as cool as FPGA technology is, the MiSTer completely misses its sole advantages (which is better support for official hardware) due to a mix of limited I&#x2F;O on dev boards (which is a fair point) and the community’s irrational hatred of cartridges as “unnecessary”. There is literally zero reason for the MiSTer to exist by their own logic, because why do you need a dedicated platform? That’s so unnecessary, just use a computer. Just as if not more accurate in most cases too.<p>Regardless, this article alone is like my holy grail of emulation and project design. And there’s more of them? I can’t wait.
Yossarrian223 months ago
This is fantastic! Perhaps I missed it but do you go over why you chose a portrait layout as opposed to a GBA-style landscape layout? With the existing equivalents in the FPGA space all being GBC style I&#x27;m curious if that&#x27;s just a personal preference or if there was something that led you to select that layout.
评论 #43036392 未加载
snvzz3 months ago
Great, an open (and better!) alternative to FPGBC, which FPGA is locked to encrypted and signed configurations.<p>There&#x27;s also the Chromatic, but that one is not made to be cost effective.
agg233 months ago
Very nice. I&#x27;m always happy to see new FPGA implementations of retro computing hardware. I&#x27;ve wanted to try Chisel, but have never gotten around to it.
terrycody3 months ago
I don&#x27;t know what to say, epic man. You alone, on your own, are on a par with the gods.<p>Retro history will remember you and your splendid journey.
ThrowawayTestr3 months ago
How many retro emulation handheld do we really need? Are there people out there seriously playing retro games for many hours at a time?
评论 #43030713 未加载
giancarlostoro3 months ago
If Nintendo wouldn&#x27;t sue you for selling these, I&#x27;d say shut up and take my money. I do wonder if they&#x27;ll definitely try to sue? Its really a shame, I never thought I&#x27;d see a project like this in my lifetime in all honesty. I would love to have something that lets me just keep playing my physical gameboy games indefinitely, so even if a truck crushes my gameboy, its nice knowing I can always print a new one.<p>I would love to see this done with the Super Nintendo.
评论 #43028085 未加载
评论 #43028553 未加载
cibyr3 months ago
Very cool project, and a fantastic write-up! The timelapse videos of the PCB layouts are particularly brilliant.
archontes3 months ago
Apologies for the tangent, but may I ask what you use to write your blog? I love how clean it is.
评论 #43042471 未加载
dinkumthinkum3 months ago
This is a very nice project and write-up. I think it&#x27;s a perfect case for Show HN.
varispeed3 months ago
Author missing one important point in their &quot;A brief rant about FPGA retrogaming&quot; rant. Sure FPGA systems are emulations, but key thing is that they typically are real-time systems, whereas software emulations typically are not.<p>That&#x27;s actually a huge difference.
nubinetwork3 months ago
Can you do one for Game Gear?
ConanRus3 months ago
Why only GB&#x2F;GBA? Mister FPGA support lot&#x27;s of cores which can use the same Screen and controls: NES, SNES, various Sega consoles, C64, MSX etc.<p>And any cheap Chinese retro-console of the same sort support even more of them. So from a practical standpoint I don&#x27;t see any advantage of this (no doubt cool) project.
评论 #43028496 未加载