As of this post, CorgiDS is close to having a complete 2D engine:
First things first. The firmware works! The WiFi features are all missing, of course, but you’re able to boot DS games and mess around with all the system settings.The changes you make however, can’t be saved: the firmware tries to shut off the DS when you exit the pictured menu to save the changes, but I have not implemented the power management features needed. Astute readers will notice that the clock has no hands. The hands are sprites that require rotation/scaling to be implemented, which is something I’m still in the process of.
Digimon World Dusk (and presumably Dawn as well) seems to be fully playable now. It goes in-game without any issues, and so far you can control your character and successfully fight in battles. There aren’t any glitches that I’ve spotted, other than battle animations not showing (but those require rotscale sprites).
Harvest Moon DS goes to the title screen… but it doesn’t allow you to select a new game. For some reason, it’s not reading anything from the touchscreen at all. There’s also some pretty bad graphical glitches in the opening intro:
The shadow of the player character looks clownish, and that’s not even getting into the garbage on the bottom of the screen. If you’ve played the game before, you can also notice some issues in the title screen: the logo and copyright text handle transparency incorrectly, causing the former to have a little too much green and the latter to be barely legible. I think I know why this is happening at the very least, so a quick fix won’t be too hard.
No other games that I’ve tested work, as they all require saving support. This makes my upcoming goals pretty clear: after I handle rotscale sprites, I will need to work on a rudimentary form of save support. Nothing too fancy, just a way of making games at least go to the title screen. After that, there’s only a few more issues I need to address for the 2D graphics before I consider it good enough for a first release. It’s mainly simple things like alpha blending and mosaic. I estimate that I’ll have all of that worked out by the end of this week so that I can finally start work on the GPU. Exciting, isn’t it?
Spoiler alert: expect a technical article about the Nintendo DS 2D graphics relatively soonish. 😉