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.

28 comments

  • Comment Link lesbo Thursday, 01 February 2024 22:12 posted by lesbo

    Trading cryptocurrencies is a lucrative opportunity for many.
    While crypto trading is profitable, it can be highly pernicious to the traders if not done properly.
    By proper means, one should do it with the
    right set of tools and the right mindset. Time waits for no one and the crypto exchage market is no exception. A plethora of cryptocurrencies, advanced tools, market volatility, and trading strategies may all cause confusion to the new as well as expert traders.


    Fortunately, technology has made it possible for
    the traders to automate the exchage process including market analysis, order execution, predicting market
    trends, and more. Automated crypto trading is one of the best practices used by
    computer programs/trading bots to buy and sell cryptocurrencies.

    These software tools are intended to react to market changes to trade at the right moment.
    Traders can consider automate trading via the best
    crypto exchage platforms by making use of
    trading bots, advanced orders, and more.

    Automated trading

    So, automated trading is a method of participating in crypto or stock
    markets by using a program that executes pre-set
    rules for entering and exiting trades. As the trader,
    you will combine thorough technical analysis with setting parameters for
    your positions, such as orders to open, trailing stops, trailing stop loss orders, take profit, etc.


    Automated trading methods enable you to carry out many or multiple trades in a small
    amount of time, with the added benefit of taking the emotion out of your decisions.
    That's because all the rules of the trade are already built
    into the preset parameters. With some algorithms, the traders can even use the pre-determined strategies to
    follow trends and trade accordingly.

    Automated crypto trading relies on algorithms which are actually
    the set of instructions used to solve computational issues.
    In the crypto sphere, algorithms can trade digital assets
    on behalf of the traders. And, the programs which use algorithms to trade are the bots.

    The best platforms offer a variety of bots to the traders which work based on preset conditions,
    signals, market analysis, and more. Usually, trading bots
    use APIs that help traders to interact with multiple exchanges.

  • Comment Link http://ru.savefrom.net/21-youtube-to-mp4.Html Thursday, 01 February 2024 08:19 posted by http://ru.savefrom.net/21-youtube-to-mp4.Html

    Сегодня мы поговорим о том, как скачать видео с
    YouTube на компьютер, планшет или мобильный
    телефон, в не зависимости от платформы и операционной системы.

  • Comment Link porn-cams.info Sunday, 28 January 2024 15:45 posted by porn-cams.info

    Hey there would you mind letting me know which web host you're
    using? I've loaded your blog in 3 different internet browsers and I must say
    this blog loads a lot quicker then most. Can you suggest a good internet hosting provider at a reasonable price?
    Thanks a lot, I appreciate it!

  • Comment Link En.savefrom.net Sunday, 28 January 2024 04:52 posted by En.savefrom.net

    In this guide, we’ll talk about all the options to easily download
    YouTube videos .

  • Comment Link RAID recovery Saturday, 27 January 2024 07:32 posted by RAID recovery

    I just could not leave your website before suggesting thazt I really enjoyed thee standard info
    a person supplyy in your guests?Is gonna be back continuously
    to check out nnew posts http://Prillante.com/catalog/view/theme/_ajax_view-product.php?%20product_href=https://community.mozilla.org/de/events/amateurfunklehrgang-2024/

  • Comment Link http://www.fr.savefrom.net/23-youtube-shorts-downloader.html Saturday, 27 January 2024 04:24 posted by http://www.fr.savefrom.net/23-youtube-shorts-downloader.html

    Le phénomène est même devenu un phénomène de société, avec l’émergence de personnes qui mettent en ligne des vidéos de façon très régulière et que l’on appelle Youtubeurs.

  • Comment Link lose weight in 30 days Friday, 26 January 2024 00:39 posted by lose weight in 30 days

    Definitely imagine that which you stated. Your favvourite reason appeared to be att thhe internet the easiest thing to understand of.
    I say to you, I certainly get annoyed while other people think
    about issues that they plainly don't know about. You managed to hhit the nail upon the
    top and also defined out the whole thing with no need side effect , folms could take
    a signal. Will probably be back to get more. Thank yyou lose
    weight in 30 days

  • Comment Link yuki96 Friday, 01 May 2015 07:20 posted by yuki96

    Holy crap this is amazing! You rock Nemesis!

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.