https://github.com/tbsp/Adjustris
https://github.com/tbsp/Adjustris/releases
Another one, a platform game, GPLv3 licensed:
https://github.com/mholtkamp/carazu
https://github.com/mholtkamp/carazu/releases
You need this to compile both ROMs:
I used an STM32F401 (the "blackpill" board). Shoved it into a gameboy case I got from aliexpress and connected an ILI9341 display, a PCB for the buttons I found online from some hobbist selling them and 4 AA batteries in series. The screen wasn't really the same as the gameboy's one in dimensions so it all looked very janky, but it was cool enough to impress people.
I had no audio, I was able to play simple GB games quite well but I had some significant slowdowns with stuff like Super Mario Land 2 or the later pokemon. I had 3 big problems: - First, I didn't use DMA at all. That's because I picked a display controller with 8 data GPIOs because at the time I thought "8 lines vs 1? its gonna be faster right?". Dumb me, I didn't consider that DMA existed... - Second, I wanted to scale the image to fit the entire screen. I couldn't fit the scaled framebuffer in memory though, so I had to keep the original size but send each pixel to the screen 4 times - Last, I read games from an SD-card. I had a tiny in-memory cache for recently read data blocks, but you could see when I got a cache miss. It wasn't often though so it wasn't bad at all.
I agree, it was an incredibly fun project
If you're just building something with an existing Arm microcontrollers. The vendor (Like STMicro) has already licensed the Arm design and sold it to you.
The devkits aren’t suitable for resale but there’s no additional licence when you buy an ARM micro from pretty much any manufacturer.