I thought for awhile there that I'd never get this place online, but here we are. This is the official website for Exodus, the soon to be released emulator. The release date for Exodus is the 1st of May 2013. I'm making what I hope to be the final, release-ready build right now as I write this article.
It's been a long road getting to this point. I first started working on Exodus in late November 2006, with a focus on the Sega Mega Drive. About 3 months later, I had an emulator capable of playing quite a few Mega Drive games, minus support for sound. I've released preview versions of this emulator several times in a limited capacity, but it's always been far from what I wanted it to reach, until now. Almost 7 and a half years after I began work on Exodus, I'm finally ready to make the first full release.
To this day, the Mega Drive is still the only platform there's currently support for, but I hope you'll be impressed with the high level of accuracy this emulator should achieve on the first release. I've spent countless hours performing exhaustive hardware tests in order to gather the necessary information to accurately emulate the Mega Drive hardware. I did a lot of work on the YM2612 sound chip in 2008, the results of which have improved Mega Drive sound emulation in many emulators. More recently, I've done a lot of work on the VDP, some of which I've published, and some of which I haven't. I'll write more about that later.
A lot of the time involved in the development of Exodus has gone into designing and developing the Exodus platform itself. Right now, there's 139,671 lines of code that make up Exodus, and every one of them was written by me, and modified, and rewritten twice more. There have been several major design evolutions along the way that I've had to make, in order to achieve the goal of being able to model complex systems entirely through XML. As my understanding of the requirements have increased, and as I've encountered difficult real-world problems, I've had to make enhancements and rethink major design elements in order to make everything work while avoiding any hacks. In the end, I've found the governing principle is simple: If you model the way the real hardware does things, you'll be able to make it work. If you depart from that, sooner or later, you're bound to run into problems. There are a few additional enhancements and new features I know I'm going to add to the platform in the future, but as it stands now, it's a very powerful platform. I'm hoping from here on, I'll be spending a lot less time working on the framework itself, and more time working on using that framework to emulate systems.
Anyway, I'll write more in the coming days. Stay tuned for the official release.