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 بهترین مشاور جنسی خانم در شرق تهران Tuesday, 19 March 2024 06:26 posted by بهترین مشاور جنسی خانم در شرق تهران

    Please let me know if you're looking for a writer for your blog.

    You have some really great articles and I feel I
    would be a good asset. If you ever want to take some of the load off, I'd love
    to write some articles for your blog in exchange for a
    link back to mine. Please send me an e-mail if interested.
    Cheers!

  • Comment Link افزایش انگیزه برای درس خواندن کنکور Tuesday, 19 March 2024 04:28 posted by افزایش انگیزه برای درس خواندن کنکور

    Asking questions are truly good thing if you are not understanding something completely, except this paragraph presents good understanding even.

  • Comment Link هزینه زندگی در قبرس شمالی Tuesday, 19 March 2024 03:10 posted by هزینه زندگی در قبرس شمالی

    Thank you a lot for sharing this with all folks you really understand
    what you are speaking approximately! Bookmarked.
    Kindly additionally seek advice from my website =).
    We will have a hyperlink change contract among us

  • Comment Link بهترین روانشناس نوجوان در تهران Tuesday, 19 March 2024 03:09 posted by بهترین روانشناس نوجوان در تهران

    Hello! I know this is sort of off-topic however I needed
    to ask. Does running a well-established blog like yours require a massive amount work?
    I am brand new to running a blog however I do write in my journal on a daily basis.

    I'd like to start a blog so I will be able to share my personal experience and
    feelings online. Please let me know if you have any ideas or tips for new aspiring bloggers.
    Appreciate it!

  • Comment Link انواع افسردگی Tuesday, 19 March 2024 02:54 posted by انواع افسردگی

    fantastic issues altogether, you just won a new reader.
    What would you recommend about your submit that you just made some days ago?
    Any certain?

  • Comment Link Residential plumbing Tuesday, 19 March 2024 00:50 posted by Residential plumbing

    Regarding plumbing repairs, Preferred Plumbers are the top choice
    for a variety of reasons. Considering our extensive
    experience and focus on customer satisfaction, we're proud to say that we're the #1 choice when you need a plumber.
    Here's why:

    Comprehensive Service Range
    Our team is proficient in a broad range of plumbing services, from detecting
    leaks and pipe repair to cleaning drains and installing faucets.

    Whether you need assistance with your sewer line or water heater repair,
    Preferred Plumbers have the skills to handle it all.

    24/7 Availability
    Emergencies don't wait for convenient times, and neither do we.
    Preferred Plumbers is on call 24/7 to ensure that your plumbing issues are resolved quickly,
    reducing potential damage and bringing your peace of mind.


    Customer-Centric Approach
    At Preferred Plumbers, the customer is our foremost concern. We work hard to
    offer tailored solutions that meet your specific needs, making
    sure that you're completely satisfied with our work.

    High-Quality Workmanship
    Workmanship is at the heart of what we do at Preferred Plumbers.
    We use top-quality materials and advanced methods to guarantee long-term fixes and installations.
    Our aim is to deliver services that last.

    No Hidden Fees
    Knowing the cost of plumbing services upfront is crucial, which is why we offer straightforward quotes.
    You'll know the cost before any work begins, with no surprises to worry about.


    Licensed and Insured
    For your peace of mind, our team is fully licensed and insured.
    This means that our work meets all regulatory requirements and you are covered
    in the rare event that something doesn't go as planned.


    Choosing us means choosing a company dedicated to quality.
    We're not just another plumbing service; we're
    your partners in maintaining the integrity of your plumbing
    system. Contact us today to experience why Preferred Plumbers are the #1 choice when you need a plumber.

  • Comment Link علائم جوان معتاد Tuesday, 19 March 2024 00:29 posted by علائم جوان معتاد

    With havin so much written content do you ever run into any issues of plagorism or copyright violation? My blog has a lot of unique
    content I've either authored myself or outsourced but it seems a lot of it is popping it up all over the web without my permission. Do you know any ways to help protect against content from being stolen? I'd definitely appreciate it.

  • Comment Link افسردگی بعد از طلاق Monday, 18 March 2024 23:54 posted by افسردگی بعد از طلاق

    Howdy! This post couldn't be written any better!

    Reading through this post reminds me of my previous roommate!
    He always kept talking about this. I will forward this information to him.
    Pretty sure he'll have a very good read. Thank you for sharing!

  • Comment Link انواع افسردگی Monday, 18 March 2024 21:01 posted by انواع افسردگی

    I am regular visitor, how are you everybody?
    This article posted at this website is really fastidious.

  • Comment Link بهترین مرکز مشاوره روانشناسی در شهرک غرب Monday, 18 March 2024 19:54 posted by بهترین مرکز مشاوره روانشناسی در شهرک غرب

    Very shortly this web site will be famous amid all blog visitors, due to it's nice content

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.