Bugs, bugs, bugs

Weekly post assuring you guys the corgi is still alive. 🙂

I fixed a problem with the ADC/SBC instructions (add/subtract with carry) relating to how the carry and overflow flags were updated – this allows Harvest Moon DS to boot, but it soon crashes afterwards due to unimplemented graphics registers. I’m trying to test other games as well, but many of them get stuck on a “save data error” screen. Which makes sense, as I’ve yet to implement that.

The way CorgiDS handles drawing to the screen is also funky:funwithsprites

As you can see, the Digimon aren’t looking too well. What’s happening is that the sprites are being overwritten by other sprite tiles with a “transparent” color, or more specifically, a color with 0 alpha. In the process of trying to fix this issue, I think it’s a good idea to rewrite the 2D graphics engines to take into account background and sprite priority. Currently CorgiDS uses hardcoded priorities based upon background/sprite number – which is normally accurate – but both can have custom priorities that supersede this rule. Even if it’s not super important now, the rewrite will allow for more flexibility with future graphical effects.

After the rewrite, my next task will be to handle rotscaling as well as windows (which should function like their Game Boy analog). Maybe engage in some bughunting as well. Plenty of work to do on the corgi!

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s