A while back I was working with the Libretro project and its various emulators and thought to myself "I wonder if I could make a machine that would fit in a gameboy and run all those old games" and so this project was born. I made the mistake of showing it to some friends who wanted me to make one for them... However, if I hadn't done so I would have given this up long ago.
In short - it's everything from 1985 to 1995 inside a DMG Gameboy from Nintendo - with a few modifications.
At long last, two years and then some after starting this project, I have finished it. I can even play games on the Nintendo 64, albeit slowly. My github repository for this project has several useful files, however it is an absolute mess.
Here are the things that you might want that I have developed:
Someone told me to submit this to the Hackaday Prize 2016. I'm over 18 now, so I guess I can, and I did. Here goes! I have been doing work on and off with this, most of the issue residing with my CNC machine more than with this project. Here's a list of new developments:
- We no longer need to search for old DMG cases to dismantle and put new components in, Kitsch-Bent makes custom ones that are identical to the originals! (almost) Unfortunately, new holes will still have to be drilled for at least the X and Y buttons, and L/R shoulder buttons are still a work in progress.
- Those 7.5mm buttons look just about perfect!
- The software should be working now, it's just a matter of fixing tri-state logic issues with some resistors. The circuit board has all that built in, so once it's cut, that should be fixed.
That's all for now, I think. Maybe I'll have a picture of the Real Deal(tm) ready soon.
I've been working pretty hard on this one in recent weeks. Latest update: There's a power connector on the pcb. Revolutionary, I know. Better yet, a few other errors are fixed since last time, and now I am ready to actually cut this thing out. My CNC machine is giving me issues now, so there will be delay on getting real-deal photographs on this page.
Every new advance leads to new questions, the latest issue is that the DMG uses strange 10.43mm buttons, which are made of pure unobtanium. 8mm and 12mm can be sourced, but only for certain types of tactile buttons, therefore, more research and specialized parts have to be sourced for this project. I found that Kitsch-Bent has custom injection molded parts that can be ordered for relatively cheap, considering that they are completely custom and exact analogs of the originals. One can even purchase a whole DMG case from them! A worthwhile site, I'll add a link to this project ASAP. The other issue is the tactile switches. The standard 6mm square buttons are not tall enough. The actuator on top of them is not tall enough to allow the cap (DMG buttons, in this case) to press the actuator without colliding with the housing of the button first. Currently, I'm waiting on some 7.5mm tall buttons to ship, with the hope that they will be tall enough.
I should mention that this project has been going on for the better part of two years before I decided "Gee, it would be a good idea to document this." I started out with no knowledge of PCB manufacturing, Gcode, how to make circuit boards, or how virtual devices work in Linux or why on earth OpenGL and GLES are not compatible. It's been an absolutely insane amount of work to learn all this for one project, but hopefully, in the end, it will all be worth it!