What lies ahead?

Welcome to the CorgiDS development blog! I’m sure many of you have seen the reddit announcement of my new emulator, and I was pleased to see how much positive reception it received. It’s encouraged me to work even harder than before.

Now, an important topic is the road map I have planned for CorgiDS’s first release. What are all the features that need to be added before I see it fit to release my project to the public?

My feature list is split into two sections: essential and optional. Essential represents all the features I will add for v0.1, and optional represents those features that would be nice but aren’t guaranteed to be added for v0.1.

Essential:

  • A robust 2D graphics engine, obviously. It should be good enough to run several commercial games that don’t require the 3D portion of the GPU.
  • Two separate interfaces: a Qt frontend with full support, and a minimalist SDL frontend.
  • A powerful GUI debugger included within the Qt frontend. The debugger will support automatic disassembly, memory viewing, peek and poke functions, and program counter breakpoints. Not only will this help with development immensely, but also it ought to be quite useful for homebrew programmers as well as my fellow emudevs.
  • Optimization. CorgiDS is, at the moment, VERY slow. Even a simple “hello world” console test barely makes it above 30 FPS, so in that regard, CorgiDS is half as fast as a regular DS. I’ll need to rewrite the core loop to make things faster without sacrificing any accuracy.

Optional:

  • Basic 3D support. Arguably this should be in the essential section, but my goal for v0.1 is to be able to run some commercial games, and not all of them necessarily need 3D graphics. Nevertheless, I will more than likely put work into this section before the release. I will also need further optimization if I work on this.
  • Sound. It’s a pretty lovely feature for games, but its inclusion will complicate matters. This is not the most unlikely thing to add, however, and sound will be guaranteed in v0.2 if nothing else.
  • Hi-res support. If it’s not particularly difficult to implement, CorgiDS will come included with this.
  • A nice logo for the project, ideally including a corgi or two. I don’t have the skills necessary to create this, but if someone is willing to pitch in, feel free to contact me and we can work something out.
  • “DS View.” To my knowledge, the other emulators consist of the two DS screens stacked directly on each other in one window. At the moment, CorgiDS does the same as well, but my idea is to include a mode where the two screens are separated and placed on a background all within one window to reflect how an actual DS looks.
  • Savestates. In all honesty, this likely won’t be added for v0.1. The option is there, however.
  • A VRAM viewer for the debugger. This likely won’t be included either, but it is something to consider for future releases.
  • Other things I might be forgetting.

I can’t make any guarantees as to when you can expect the release, but likely something will be ready before the end of this year. Expect to see plenty more posts on here as time goes on, so be sure to follow the ongoing development of CorgiDS!

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