After resolving some issues with legitimacy (legends/Unown/Ditto so far, mythical aren’t entirely resolved yet), including PID mismatches based on encounter type, I have moved onto real hardware! The first steps, to read data off the cartridge and recognize what game is connected, are complete. As expected, some minor tweaks are necessary for the code to work on Arduinos as well, but nothing major has been required, yet.
I dug back out the hardware I was working on previously using a breakout board for a DMG cartridge slot and some chips to give the Arduino some more IO pins and got it working once again using some of the existing code for the emulated version. I am now going through the process of working out the kinks that aren’t even a thing in emulation, like the different memory controllers used as well as swapping RAM banks so that I can access all the information I need.
I am confident enough in my wiring as it is that I have designed a custom PCB to act as a daughterboard to the Arduino that only requires 5 connections to interface with the cartridge, so that will make things much easier going forward as the software comes together and the time arrives to design a case for the thing.
I am by no means an expert in PCB design, in fact, this is my first try at it, so it probably has some overall design oversights and obvious optimizations, but as long as it works, it’s fine by me for a first iteration.
Also, my mention previously about doing testing as to where illegal movesets will become an issue has not yet been done so I don’t have any updates on that yet. Until then, have a good one!