PI 5 powered clamshell, dual screen gaming handheld. Will use a custom motherboard + controller board to get as close to the original DS footprint as possible. The only real purpose of this device is to build the best possible DS emulator, with no consideration for price, practicality ect. Should have just hacked a 3DS TBH.
Ok, enough ****ing around, time to do some concrete work. To prove that what I want can even be done, I have obtained some test hardware, in the form of the reference CM5 IO board. This one is designed by professionals, so there won't be a million possible reasons for failure if anything goes wrong (foreshadowing).
The CM5 comes stock with two DSI (Display Serial Interface) channels onboard. This is nice, because it makes the entire project possible at all, basically, by completely sidestepping the need for HDMI connections (Fat and annoying) when running screens, of which I will be needing two. Luckily I also had some DSI screens kicking around, and after about 5 minutes of CAD, and 2 hours of printing (ugh), I had the following "Not 2DS" in my possession:
(Sidenote: DSI is basically identical to DSi, as in the DS variant. This fact is sorta funny right until you google DSI screen, and the resulting search is full of DS content, rather than anything remotely related to what you actually want)
Enabling the screens required some messing around in the Rasbian config folder, but once done everything seems to work perfectly, including touchscreen input on both displays. From here, emulator install was the next step. MelonDS currently seems to be the emulator to beat, and supports multi window/screen output while emulating (part of the reason this project was even started), so it was the obvious choice. Because Linux, the emulator has to be built from source, but luckily the Devs of MelonDS have a great write up on how to do this, over at https://github.com/melonDS-emu/melonDS/blob/master/BUILD.md, and I can confirm the ubuntu instructions work perfectly for Raspbian.
Next up, get my "legal" copy of Pokémon Soul Silver, and enjoy:
So...... Guess I'm doing this now. Ok, to explain why on earth someone would want to dedicate hours of their life to making a worse DS, you really need to experience DS emulation on mobile. Long story short, it sucks, for a great many reasons mostly related to Nintendo's insistence on using the most gimmicky features ever to make up for their perpetual lag on hardware. Admittedly in this situation the sane response would be "Buy a 3ds xl" and not "Design a full new system to pretend to be a DS", but this is cooler.
Also, designing something that, to my knowledge, hasn't been done before sounds fun, and hopefully looks good on the resume, so why not. Anyway as this is my first real hardware level project, I will be doing a lot of stealing. Mostly from Texas Instruments, and their pretty great datasheets for basically everything, but also from the one other compute module handheld on the internet, found here: https://github.com/StonedEdge/Retro-Lite-CM5. This guy is much better than me, and I hope to get even remotely close to the quality of their work.
Anyway this will probably take the next 1000 hrs of my life, so might as well get started now. See ya