
This is why homebrew development is often so painful on emulators, because when you actually try and write brand new code and run it on one of these emulators, all bets are off.

These emulators are really about emulating the games, not about emulating the platform. I'm trying to get the fundamental parts right first, then worry about all the other stuff later later. The other trap is chasing the feature trail of endless things that can be added, like lightgun support, mouse support, SSF2 mappers, SVP emulation, and the list goes on and on. Usually it isn't even possible to fix some of these problems because of design decisions that were made at the very beginning that place an ultimate limit on how accurate the emulation is able to be. Basically it's reactionary development, patching and patching to fix the visible signs of a problem, sometimes by implementing game-specific hacks to work around it, rather than addressing the things they know aren't accurate or are only approximated. Demos like Overdrive are really cool, and they do push emulation forward, but in my opinion the problem that a lot of other emulators have suffered from is that they chase the public visible signs of inaccuracy, such as a particular game not running right in a certain point, while ignoring the bigger underlying issues. I can have cycle-accurate VDP port access for example, but if the device talking to it isn't fully cycle accurate, then the timing is ultimately all off. That said, the 68000 processor itself, the heart of the Mega Drive, isn't accurately emulated in terms of timing in Exodus right now, and that's the biggest problem.

Those things go directly towards getting demos like Overdrive working, in fact more than a few things they did in Overdrive are directly based on things I first figured out (IE, 128Kb extended VRAM mode). A lot of the work I put into YM2612 and VDP research have opened up support for emulating quirks, features, and levels of accuracy in timing and behaviour not previously possible. If it was 100% finished, it would behave identically to the original hardware under all circumstances. What you need to understand about Exodus right now is that it's incomplete.
