Thursday, 30 April 2015 06:36

Exodus 2.0 released, project now open source!

Written by

Exodus 2.0 has now been released! You can download the new version now on the current releases page. I'm dedicating this release to my beautiful wife Judi, and my two boisterous little boys Justin and Aiden.

As promised, Exodus is now also open source. Check out the Source Code section for instructions on how to obtain and compile the source, and information on how you can contribute code changes to the project.

Note that you won't see a massive improvement in Mega Drive game compatibility with this version, as the focus has been on other areas, like performance, user interface, and the plugin API. There are still a number of games I know of that will greet you with a black screen for example when you try and load. This is due to the fact that although Exodus aims for cycle-level accuracy, it's not actually there yet, and there's a number of games that use a kind of wait loop against flags on the VDP that technically requires at the very least sub-opcode level timing emulation to pass. No other emulators have sub-opcode level timing emulation for their CPU cores, but they use incorrect timing on the VDP as well in order to make the tests pass.

The biggest thing that needs to be done for Exodus at this stage in order to improve Mega Drive compatibility is write Z80 and M68000 cores that emulate individual bus cycles, rather than emulating at an "opcode" level. For the M68000 at least, nobody seems to have ever done this, and a lot of information needs to be gathered on the hardware in order to determine the correct timing and order for each bus access within instructions. Emulating it properly will also require a major change to the bus system, which I currently have in the works. I was originally planning to have this bus change in Exodus 2.0, but I didn't want to delay the release any further. The bus system redesign, along with cycle-exact M68000 and Z80 cores, will now be my primary focus of development for the next major release. After this is complete, Exodus will have CPU emulation which is truly cycle-exact.

Despite the lack of perfection with the CPU cores at this stage though, Exodus is already much more accurate than other emulators at Mega Drive support for graphics and sound. Exodus has the most advanced YM2612 core ever written, as it was written entirely from scratch during my detailed reverse engineering of the YM2612 back in 2008.

In terms of the VDP, Exodus is the only Mega Drive emulator that has a cycle-exact VDP core, which allows it to emulate many quirks and tricks of the real hardware that other emulators can't, like Direct Color DMA. Aside from rendering accuracy, the VDP core is also fundamentally more accurate in handling basic communication from the CPU. Try this test ROM for example, which tests VDP port access:


http://nemesis.exodusemulator.com/MegaDrive/Tests/VDPFIFOTesting/VDPFIFOTesting.zip
(Detailed discussion: http://gendev.spritesmind.net/forum/viewtopic.php?p=20975#20975)

This test ROM isn't perfect, a couple of the tests fail intermittently on the real hardware, but it's pretty stable, and it's very thorough and brutal. Even Exodus doesn't get a perfect score here yet, it gets 121 out of 122. Most other Mega Drive emulators will only score around 20 or so. I'm hoping with Exodus now open source, other Mega Drive emulators which are still being maintained can use Exodus as a reference, and improve their accuracy on these kind of tests too.

Anyway, I hope some other people can make use of this. It's been a very long road to get to this point. Exodus was around 200,000 lines of code at the last count, and most areas of the code have gone through numerous revisions to get to where they are now. I daren't even estimate the number of hours that have gone into this project. I hope you find it interesting and useful.

EDIT: I forgot to say, if you want to check out the debugging features, you'll be best off using one of the pre-made workspaces. Select "File -> Load Workspace" from the main menu and select "Mega Drive Debugger.xml". That'll give you a pretty good debug environment ready to go.

280 comments

  • Comment Link مشاور خانم در غرب تهران Monday, 18 March 2024 19:53 posted by مشاور خانم در غرب تهران

    Hmm it looks like your website ate my first comment (it was extremely long) so
    I guess I'll just sum it up what I had written and say, I'm thoroughly enjoying your blog.
    I as well am an aspiring blog writer but I'm still new to
    everything. Do you have any tips and hints for inexperienced blog writers?
    I'd certainly appreciate it.

  • Comment Link اختلال دو قطبی Monday, 18 March 2024 19:30 posted by اختلال دو قطبی

    I constantly emailed this webpage post page to all
    my contacts, for the reason that if like to read
    it next my friends will too.

  • Comment Link درمان سریع استرس و اضطراب Monday, 18 March 2024 19:08 posted by درمان سریع استرس و اضطراب

    Howdy! I just want to offer you a big thumbs up for your excellent information you've got
    here on this post. I'll be returning to your website for more soon.

  • Comment Link اضطراب و استرس صبحگاهی Monday, 18 March 2024 18:22 posted by اضطراب و استرس صبحگاهی

    What i don't realize is in truth how you are no longer actually much more neatly-liked
    than you might be now. You are very intelligent.
    You understand thus significantly in the case of this matter, produced me
    in my view imagine it from a lot of numerous angles.
    Its like women and men don't seem to be fascinated until it is one thing to accomplish with Lady gaga!
    Your own stuffs outstanding. Always handle it
    up!

  • Comment Link تعمیر موتور کولر آبی Monday, 18 March 2024 17:38 posted by تعمیر موتور کولر آبی

    For the reason that the admin of this website is working, no uncertainty very shortly it will be famous, due to its feature contents.

  • Comment Link spinal cord injury lawyer las vegas Monday, 18 March 2024 16:32 posted by spinal cord injury lawyer las vegas

    If you've been a victim of a car accident in Las Vegas, NV, you know how overwhelming the aftermath can be.
    From dealing with physical harm to navigating the complex legal system, it's crucial to have the right support on your side.
    That's where the Best Las Vegas Car Accident Lawyers come in, offering unparalleled expertise as personal injury lawyers to fight for your rights and secure the compensation you are entitled to.


    Why Choose the Best Las Vegas Car Accident Lawyers?

    These legal professionals are not just any attorneys; they are specialists in the field of personal injury,
    particularly auto accidents. With a deep understanding of
    Nevada's laws and a commitment to their clients, they ensure that you receive the
    best possible legal representation.

    Expertise in Auto Accidents: They possess extensive knowledge in handling vehicle collisions, making them adept at navigating the intricacies of injury claims.


    Personalized Legal Advice: Each case is treated with the utmost care, providing tailored
    legal advice to meet your specific needs.

    Aggressive Representation: Whether it's insurance negotiations or courtroom litigation, these attorneys are relentless in pursuing the justice and compensation you deserve.



    Comprehensive Support: From gathering evidence to managing all legal paperwork, they
    offer comprehensive support throughout the entire process.


    No Win, No Fee: Most of these lawyers operate on a
    contingency basis, meaning you don't pay unless they win your case.


    Securing Your Future

    The aftermath of a car accident can be life-changing, but
    with the Best Las Vegas Car Accident Lawyers by your side, you can focus on your recovery while
    they handle the legal aspects. Their commitment to securing the maximum
    compensation for your injuries and losses ensures that your future is protected.


    Conclusion

    In the bustling city of Las Vegas, NV, where car accidents are unfortunately common, having the right legal representation is crucial.

    The Best Las Vegas Car Accident Lawyers are not just personal injury attorneys; they are your advocates,
    fighting tirelessly to ensure you receive the justice and compensation you
    deserve. If you're in need of legal assistance following an auto accident, look no further than these exceptional professionals.

  • Comment Link علائم افسردگی در زنان متاهل Monday, 18 March 2024 15:49 posted by علائم افسردگی در زنان متاهل

    Hi there, just wanted to say, I enjoyed this post.
    It was inspiring. Keep on posting!

  • Comment Link ۲۱ راه ایجاد علاقه برای درس خواندن Monday, 18 March 2024 12:41 posted by ۲۱ راه ایجاد علاقه برای درس خواندن

    You actually make it seem so easy with your presentation but
    I find this topic to be really something that I think I would never understand.

    It seems too complicated and extremely broad for me.
    I'm looking forward for your next post, I will try to get the hang
    of it!

  • Comment Link ایگو چیست Monday, 18 March 2024 11:54 posted by ایگو چیست

    I am regular reader, how are you everybody? This article posted at this web site is genuinely pleasant.

  • Comment Link بهترین مشاوره خانواده در غرب تهران Monday, 18 March 2024 11:10 posted by بهترین مشاوره خانواده در غرب تهران

    Hi! I could have sworn I've been to this site before but after
    reading through some of the post I realized it's new to me.
    Nonetheless, I'm definitely delighted I found it and I'll be bookmarking and checking
    back often!

Leave a comment

Make sure you enter all the required information, indicated by an asterisk (*). HTML code is not allowed.

If you wish to make a donation to show your appreciation for this project, you can do so here. Your donation may go towards the hosting costs of the website, or equipment or reference hardware to assist in the development of Exodus. It may also go towards a bunch of flowers for my beautiful wife, to say thanks for your support and patience all those nights I stayed up late working on this project.