[{"data":1,"prerenderedAt":411},["ShallowReactive",2],{"project-43027335":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":20,"keywords":22,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":45,"post_text":47,"what":48,"said":89,"maker_in_thread":198,"shape":209,"grid":213,"attempts":374,"same_week":375,"maker_shows":44,"maker_hidden":403,"reader_version":404,"card":405},"43027335","Game Bub","open-source FPGA retro emulation handheld","title","Show HN: Game Bub – open-source FPGA retro emulation handheld","https:\u002F\u002Feli.lipsitz.net\u002Fposts\u002Fintroducing-gamebub\u002F","eli.lipsitz.net","elipsitz",1739380285,2025,274,62,205,3837,6,"legend","hardware","fpga retro handheld",[23,24,25,26,27],"fpga","game boy emulator","retro handheld","open source hardware","game boy advance","loved",0.417,{"positive":31,"neutral":32,"mixed":33,"critical":34},13,14,0,2,29,{"design":37,"idea":39,"pricing":40,"performance":41,"docs":42,"execution":43},{"positive":38,"critical":33},3,{"positive":18,"critical":34},{"positive":33,"critical":33},{"positive":33,"critical":33},{"positive":34,"critical":33},{"positive":44,"critical":33},1,[38,46,38,38,38,33,38,33,33,38,38,33,33,33,33,33,33,33,46,38,33,46,38,46,46,38,46,46,33,46,44,33,38,46,33,46,38,44,38,46],5,"Hey HN,\n\nOver 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't an existing open-source FPGA emulator that can play physical cartridges like this.\n\nOne 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.\n\nI detailed the design and development process in the link",{"problem":49,"audience":58,"pricing":58,"motivation":59,"time_to_build":63,"stack":67,"openness":86,"stage":87,"team_size":88},{"value":50,"source":51,"evidence":52},"Plays original Game Boy, GBC and GBA cartridges on an FPGA with real-time timing","maker",[53,55],{"id":54},"post",{"id":56,"by":11,"text":57},"43029509","I agree, and wrote a rant about this as part of the post: https:\u002F\u002Feli.lipsitz.net\u002Fposts\u002Fintroducing-gamebub\u002F#a-brief-rant-about-fpga-retrogaming IMO: the only real advantage is…",null,{"value":60,"source":51,"evidence":61},"Wanted to do all pieces himself and understand every component",[62],{"id":54},{"value":64,"source":51,"evidence":65},"About 1.5 years",[66],{"id":54},[68,72,80],{"value":69,"source":51,"evidence":70},"Chisel HDL",[71],{"id":54},{"value":73,"source":74,"evidence":75},"Rust","commenter",[76],{"id":77,"by":78,"text":79},"43028562","ogoffart","Awesome project! Really cool to see that the UI is built with Rust and Slint, the GUI framework I’m working on. https:\u002F\u002Fgithub.com\u002Fslint-ui\u002Fslint",{"value":81,"source":51,"evidence":82},"Slint GUI",[83],{"id":84,"by":11,"text":85},"43028645","Thanks! Slint has been great to work with :)","open_source","prototype","solo",{"praise":90,"objections":116,"requests":135,"questions":151,"alternatives":170},[91,106],{"value":92,"source":74,"evidence":93},"Thorough writeup and design",[94,98,102],{"id":95,"by":96,"text":97},"43031901","kbrackbill","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…",{"id":99,"by":100,"text":101},"43029037","cibyr","Very cool project, and a fantastic write-up! The timelapse videos of the PCB layouts are particularly brilliant.",{"id":103,"by":104,"text":105},"43034258","hoc","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,…",{"value":107,"source":74,"evidence":108},"Real cartridge support is a unique advantage",[109,113],{"id":110,"by":111,"text":112},"43058374","tourmalinetaco","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…",{"id":114,"by":11,"text":115},"43028496","This main distinguishing feature of this project is that it supports physical cartridges, whereas MiSTer and almost every other emulation handheld doesn’t. The FPGA cores here…",[117,128],{"value":118,"source":74,"evidence":119},"Questions why retro handhelds are needed",[120,124],{"id":121,"by":122,"text":123},"43030683","ThrowawayTestr","How many retro emulation handheld do we really need? Are there people out there seriously playing retro games for many hours at a time?",{"id":125,"by":126,"text":127},"43028345","ConanRus","Why only GB\u002FGBA? Mister FPGA support lot's of cores which can use the same Screen and controls: NES, SNES, various Sega consoles, C64, MSX etc. And any cheap Chinese…",{"value":129,"source":74,"evidence":130},"Possible Nintendo legal risk",[131],{"id":132,"by":133,"text":134},"43027688","giancarlostoro","If Nintendo wouldn't sue you for selling these, I'd say shut up and take my money. I do wonder if they'll definitely try to sue? Its really a shame, I never thought I'd see a…",[136,144],{"value":137,"source":74,"evidence":138},"Support for Game Gear or SNES",[139,143],{"id":140,"by":141,"text":142},"43029755","nubinetwork","Can you do one for Game Gear?",{"id":132,"by":133,"text":134},{"value":145,"source":74,"evidence":146},"Legacy Bluetooth controller support",[147],{"id":148,"by":149,"text":150},"43028799","sitkack","What is the total cost for a pcb populated with components? Probably around 60-70 qty 100? I appreciate the blog post and the writeup, it might be nice to include it in the repo.…",[152,163],{"value":153,"source":74,"evidence":154},"Why FPGA rather than software emulation latency",[155,159],{"id":156,"by":157,"text":158},"43029469","LeoPanthera","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…",{"id":160,"by":161,"text":162},"43030273","pipes","Am I correct in thinking that FPGAs have an advantage over software emulators when it comes to latency? In particular the latency from the host operating system before input has…",{"value":164,"source":74,"evidence":165},"Why portrait layout instead of landscape",[166],{"id":167,"by":168,"text":169},"43035801","Yossarrian22","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…",[171,176,184,191],{"value":172,"source":74,"evidence":173},"Analogue Pocket",[174,175],{"id":156,"by":157,"text":158},{"id":110,"by":111,"text":112},{"value":177,"source":74,"evidence":178},"MiSTer FPGA",[179,180],{"id":125,"by":126,"text":127},{"id":181,"by":182,"text":183},"43032282","alexjplant","As I understand it this has already been done for several systems. The first time I saw such a device it was one of those bootleg \"100 Games In A Joystick\" things that Ben Heck…",{"value":185,"source":74,"evidence":186},"FPGBC",[187],{"id":188,"by":189,"text":190},"43031501","snvzz","Great, an open (and better!) alternative to FPGBC, which FPGA is locked to encrypted and signed configurations. There's also the Chromatic, but that one is not made to be cost…",{"value":192,"source":74,"evidence":193},"Analogue Super Nt",[194],{"id":195,"by":196,"text":197},"43028085","evanwalsh","You're literally describing a product and a company that already exists (Analogue Super Nt: https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSuper_Nt)",{"comments":199,"answered":200,"key":201},12,10,[202,205,208],{"id":203,"text":204},"43032325","Thanks! Yeah, support for physical cartridges makes it a complete non-issue. Mappers are a huge problem with the NES, but a much smaller problem with the Game Boy. There are only…",{"id":206,"text":207},"43029202","Populated PCB in quantity 100 would probably be 60-70 USD, yeah. Maybe a bit less, it really depends on how much you can buy the FPGAs for. I really did want to switch to the…",{"id":56,"text":57},{"commenters":210,"max_depth":46,"maker_replies":199,"first_comment_mins":211,"lifespan_hours":212},43,33,68,[214,216,217,221,225,227,228,231,234,235,237,239,242,245,248,251,255,259,261,264,268,271,274,276,279,282,285,287,288,291,292,296,298,303,306,308,309,313,314,315,317,318,323,328,330,333,335,337,339,342,344,347,349,353,355,359,362,364,366,367,369,371],[95,33,38,215,96,33],"project\u002Fneutral\u002Fdesign",[203,33,33,215,11,44],[218,44,46,219,220,33],"43030729","project\u002Fpositive\u002Fidea","bityard",[222,34,38,223,224,33],"43031192","maker\u002Fneutral\u002Fdesign","Neywiny",[148,38,38,226,149,33],"project\u002Fneutral\u002Fpricing",[206,38,33,226,11,44],[229,38,38,230,149,33],"43031830","project\u002Fneutral\u002Fnone",[156,232,33,233,157,33],4,"other\u002Fneutral\u002Fnone",[56,232,33,233,11,44],[160,232,38,236,161,33],"project\u002Fneutral\u002Fperformance",[238,232,33,236,11,44],"43030334",[240,232,33,233,241,33],"43034090","dailykoder",[243,232,33,233,244,33],"43029534","Y_Y",[246,232,38,236,247,33],"43033656","christkv",[249,232,33,233,250,33],"43034593","cladopa",[252,232,33,253,254,33],"43034928","other\u002Fneutral\u002Fperformance","varispeed",[256,46,38,257,258,33],"43027821","project\u002Fneutral\u002Fidea","wwwtyro",[260,46,33,230,11,44],"43028183",[262,46,33,233,263,33],"43028317","Joel_Mckay",[265,18,33,266,267,33],"43028486","other\u002Fneutral\u002Fidea","ecshafer",[269,18,33,233,270,33],"43028547","nemomarx",[272,18,33,233,273,33],"43028965","philipkglass",[275,18,33,257,11,44],"43028635",[277,18,33,233,278,33],"43028859","anfractuosity",[280,18,33,233,281,33],"43029032","opencl",[283,18,33,233,284,33],"43029047","goosedragons",[286,18,33,233,247,33],"43033682",[181,18,33,233,182,33],[77,289,46,290,78,33],7,"project\u002Fpositive\u002Fdesign",[84,289,33,233,11,44],[293,294,38,236,295,33],"43029810",8,"noxa",[297,294,33,236,11,44],"43029901",[299,300,46,301,302,33],"43029625",9,"project\u002Fpositive\u002Fdocs","ge96",[304,300,33,305,11,44],"43029756","project\u002Fneutral\u002Fdocs",[307,300,38,305,302,33],"43029767",[103,200,46,290,104,33],[310,311,46,290,312,33],"43028464",11,"bsimpson",[110,199,46,219,111,33],[167,31,38,215,168,33],[316,31,33,215,11,44],"43036392",[188,32,46,219,189,33],[319,320,46,321,322,33],"43027917",15,"project\u002Fpositive\u002Fexecution","agg23",[324,325,46,326,327,33],"43032149",16,"project\u002Fpositive\u002Fnone","terrycody",[121,329,33,233,122,33],17,[331,329,33,233,332,33],"43030713","mathgeek",[132,334,46,219,133,33],18,[195,334,44,336,196,33],"project\u002Fcritical\u002Fidea",[338,334,33,233,312,33],"43028608",[340,334,33,233,341,33],"43028679","skyyler",[343,334,33,233,312,33],"43028830",[345,334,38,257,346,33],"43028553","Shared404",[99,348,46,301,100,33],19,[350,351,33,233,352,33],"43038787",20,"archontes",[354,351,33,233,11,44],"43042471",[356,357,46,219,358,33],"43030629",21,"dinkumthinkum",[360,361,33,253,254,33],"43034923",22,[140,363,38,257,141,33],23,[125,365,44,336,126,33],24,[114,365,33,257,11,44],[368,365,38,305,341,33],"43028626",[370,365,46,219,126,33],"43028837",[372,365,38,257,373,33],"43049812","timw4mail",[],[376,381,386,390,394,398],{"id":377,"name":378,"points":379,"category":380},"43000303","pdfsyntax",451,"dev_tools",{"id":382,"name":383,"points":384,"category":385},"42975803","theretowhere",321,"consumer_social",{"id":387,"name":388,"points":389,"category":380},"42965198","sqlite-page-explorer",288,{"id":391,"name":392,"points":393,"category":380},"42974378","trre",263,{"id":395,"name":396,"points":397,"category":380},"42984420","FlashSpace",255,{"id":399,"name":400,"points":401,"category":402},"42977388","ExpenseOwl",227,"productivity",false,"v2",{"id":406,"name":5,"line":6,"ai":403,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":407,"top":18,"kw":408,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":409,"url":9,"mix":410,"praise":92,"objection":118,"sub":21},43027335,0.42,[23,24,25,26,27],"3533303003300000005305355355051035053135",[31,32,33,34],1793991112952]