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 celebration of life venue Wednesday, 20 March 2024 05:39 posted by celebration of life venue

    Wedding venues play a pivotal role in the vibrant
    city of Las Vegas, Nevada, where couples flock from around the world to
    tie the knot. From extravagant ceremonies to
    intimate gatherings, the choice of wedding location sets the tone for
    one of life's most memorable events. With a plethora
    of options ranging from outdoor garden settings to elegant banquet halls,
    selecting the perfect venue is essential for creating the wedding of your
    dreams.

    Nestled in the heart of Las Vegas, Lotus House Events offers
    couples a picturesque backdrop for their special day.

    Founded in the same year as the city itself, Lotus House Events is steeped in history and tradition, mirroring the dynamic spirit of Las Vegas.
    With a population of 646,790 residents and over 832,367 households, Las Vegas is a
    melting pot of diverse cultures and communities. Interstate 11 traverses the city, providing convenient access to neighboring areas and attractions.


    In a city known for its extreme temperatures, ranging from
    scorching summers to mild winters, home repairs are a constant consideration for residents.
    Whether it's air conditioning maintenance to beat the summer
    heat or roofing repairs to withstand occasional rainfall,
    homeowners understand the importance of budgeting for
    these expenses. On average, repairs typically range from a few hundred to several thousand
    dollars, depending on the nature of the work required
    and the contractor hired.

    Exploring the vibrant tapestry of Las Vegas's attractions, residents and visitors alike are spoiled for choice.

    From the whimsical wonders of AREA15 to the serene beauty of Aliante Nature Discovery Park, there's
    something for everyone to enjoy. Thrill-seekers can brave the Asylum-Hotel
    Fear Haunted House, while art enthusiasts can marvel at the exhibits in the Arts District.
    History buffs can delve into the Atomic Museum's intriguing displays, while families
    can create lasting memories at the Discovery Children's Museum.


    Choosing Lotus House Events as your wedding
    venue in Las Vegas ensures a seamless and unforgettable experience for you and
    your guests. With a variety of indoor and outdoor spaces to accommodate weddings of all sizes
    and styles, Lotus House Events offers unparalleled flexibility and customization options.

    From expert wedding planning services to exquisite catering
    and decor, every detail is meticulously curated to bring your vision to
    life. With convenient packages and availability, Lotus House Events takes the stress
    out of wedding planning, allowing you to focus on creating cherished memories that
    will last a lifetime.

  • Comment Link برای درمان استرس چه بخوریم؟ Wednesday, 20 March 2024 00:24 posted by برای درمان استرس چه بخوریم؟

    Hi, i think that i saw you visited my weblog thus i came to “return the favor”.I'm trying to find things to improve my site!I suppose its ok to use a few of your ideas!!

  • Comment Link مشاوره ترک اعتیاد نوجوانان Wednesday, 20 March 2024 00:09 posted by مشاوره ترک اعتیاد نوجوانان

    hello!,I really like your writing very so much!
    share we keep in touch more about your article on AOL?
    I need a specialist in this space to solve my problem.
    Maybe that's you! Looking ahead to look you.

  • Comment Link روانشناسی کودک Tuesday, 19 March 2024 23:17 posted by روانشناسی کودک

    My spouse and I stumbled over here different page and thought I might check things out.
    I like what I see so i am just following you. Look forward to looking over your web page repeatedly.

  • Comment Link بهترین مشاوره افسردگی در تهران و غرب تهران Tuesday, 19 March 2024 23:08 posted by بهترین مشاوره افسردگی در تهران و غرب تهران

    You really make it seem so easy with your presentation but I find this
    matter to be really something which I believe I might by no means understand.
    It sort of feels too complicated and extremely huge for me.
    I'm taking a look ahead in your subsequent submit,
    I will try to get the grasp of it!

  • Comment Link هزینه مشاوره روانشناسی Tuesday, 19 March 2024 18:55 posted by هزینه مشاوره روانشناسی

    Nice post. I learn something new and challenging on websites I stumbleupon on a daily basis.
    It will always be interesting to read through articles from other authors and practice something from their
    sites.

  • Comment Link تعریف ازدواج موفق از نظر رواشناسی Tuesday, 19 March 2024 16:11 posted by تعریف ازدواج موفق از نظر رواشناسی

    Thanks for your personal marvelous posting! I certainly enjoyed reading it, you may be a great author.I will be sure to bookmark your
    blog and will come back at some point. I want to encourage you continue your great posts,
    have a nice weekend!

  • Comment Link بهترین مشاور کودک در غرب تهران Tuesday, 19 March 2024 14:01 posted by بهترین مشاور کودک در غرب تهران

    Woah! I'm really loving the template/theme of this blog.
    It's simple, yet effective. A lot of times it's challenging to get that "perfect balance" between usability and appearance.
    I must say that you've done a very good job with this.

    Also, the blog loads very fast for me on Internet explorer.
    Exceptional Blog!

  • Comment Link как смотреть инстаграм анонимно Tuesday, 19 March 2024 12:39 posted by как смотреть инстаграм анонимно

    Можно оценить работу чат-бота и решить, подходит ли он вам.

  • Comment Link درمان افسردگی شدید در زنان Tuesday, 19 March 2024 11:35 posted by درمان افسردگی شدید در زنان

    Hi there! Do you use Twitter? I'd like to follow you if that would be ok.
    I'm definitely enjoying your blog and look forward to new updates.

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.