Cycle accurate Mega Drive emulation: Exodus coming in April!

Discussion in 'Sega Discussion' started by Nemesis, Apr 29, 2013.

  1. Nemesis

    Nemesis Robust Member

    Joined:
    Mar 22, 2007
    Messages:
    248
    Likes Received:
    79
    For those of you who don't know, I've been working on an emulator called Exodus for the last few years. In fact, I've been working on this emulator since November 2006 if you can believe it. After years of work, I'm pleased to announce I'll be officially making a public release of this emulator in the next 12 hours.

    I've been doing extensive hardware testing since I began this project to gather the necessary information to make the most technically accurate Mega Drive emulator ever written. I performed and published results of my testing on the YM2612 back in 2008, and a lot of Mega Drive emulators now have more accurate sound emulation as a result. This testing was initiated to assist the development of my own YM2612 emulation core for Exodus. I've also done a lot of testing on the VDP over the last couple of years to build a cycle accurate VDP core, which is fundamentally more accurate than any other VDP core in existence, and can correctly respond to mid-line state changes. In fact, all of the emulation cores used by Exodus are written entirely by me, from scratch, relying primarily on direct hardware testing to confirm many aspects of their implementation. Accuracy has been paramount in the design and development of this emulator, and I hope it will become a new standard for emulation accuracy.

    My efforts aren't just focused on the Mega Drive however. I've spent a lot of time working on the overall design and architecture of Exodus to make probably the most generic, flexible, and scalable emulation platform ever written. This emulator is fundamentally different to every other emulator I know of, in several critical ways. I'll publish more about that towards the time of release, but most importantly, Exodus is not a Mega Drive emulator. Exodus is a generic emulation platform, which allows systems to be assembled from individual components at runtime. Nothing related to a particular system is hardcoded. Exodus constructs a system from a set of discrete components, manages the communication between those components, and keeps perfect timing accuracy between each component. Other systems can easily be modelled without modifying or rebuilding Exodus, it simply requires emulation cores for each device in that system to be available. As more cores are available for Exodus to use, more and more systems can be modelled easily, as a lot of systems share common components.

    With Exodus, I'm starting my emulation efforts with the Mega Drive, but I have my sights set on plenty of other systems, like the Sega Saturn, Sega Dreamcast, and various Sega arcade systems. I've spent the last few years collecting a wide variety of hardware for testing and analysis, and I'm going to continue this project and expand it into many other platforms. I'm planning to continue advancing and leading this project, and I hope one day it will be able to rival even the biggest emulation projects such as MESS and MAME for system support, while providing a number of key advantages over other projects.

    Exodus is also an extremely powerful debugging, development, and analysis environment, which I'm hoping will be able to serve as a very useful tool for communities involved in development, hacking, and reverse engineering, to be able to do more complex and thorough debugging and testing in software, where you can trust that if it runs properly in Exodus, it will run the same way on the real hardware, and vice versa.

    Exodus will also be fully open source. This will happen shortly after the first release, after some further thought and discussion about licensing. An SDK will be provided which will allow any other interested developers to write and adapt cores for use in Exodus. Cores exist as separate DLL files, and can be compiled and released separately from the emulation platform itself, so individual cores can be developed and released on their own schedule, and don't need to be locked into the release schedule of the platform itself.

    [​IMG]

    Exodus will finally see its first official, non-beta/preview release on the 1st of May, AEST (Australian Eastern Standard Time). Check out the website at http://www.exodusemulator.com for further information about Exodus, and the upcoming download.
     
    sparksterz likes this.
  2. APE

    APE Site Supporter 2015

    Joined:
    Dec 5, 2005
    Messages:
    6,416
    Likes Received:
    138
    This should be interesting.
     
  3. synrgy87

    synrgy87 Well Known Member

    Joined:
    Jul 12, 2012
    Messages:
    1,769
    Likes Received:
    20
    will this be multi platform or is it for windows users only?
     
  4. Headcrab

    Headcrab (BigEvilCorporation)

    Joined:
    Dec 21, 2011
    Messages:
    246
    Likes Received:
    67
    Yes, yes, yes, and YES! This sounds like the tool I've wanted for years!
     
  5. Nemesis

    Nemesis Robust Member

    Joined:
    Mar 22, 2007
    Messages:
    248
    Likes Received:
    79
    It will be windows only at this stage. This project will be going open source in the near future, so people can attempt to port it if they want. There's a lot more gui-related elements here though than your usual emulator, due to the large number of debugging features. The gui is nicely abstracted away from the core of the emulator, which is platform independent, so it should be easy enough to port, but if you wanted to make all the same features available, there's a lot of gui work to make it happen.
     
    Last edited: Apr 30, 2013
  6. Shane McRetro

    Shane McRetro Blast Processed Since 199X

    Joined:
    Mar 11, 2012
    Messages:
    2,078
    Likes Received:
    194
    Great to see you are still at it! :smile-new: It sounds amazing!

    Edit: And it will sound amazing because it is just that accurate at sound emulation right? :wink-new:
     
    Last edited: Apr 30, 2013
  7. Mystical

    Mystical Resolute Member

    Joined:
    May 3, 2011
    Messages:
    935
    Likes Received:
    35
    nice project mate, seems you have put some serious time and effort into this and looks great, im sure people will use it for the debug features alone and a more accurate emulator is always welcome, thanks for your hard work
     
  8. sparksterz

    sparksterz Spirited Member

    Joined:
    Aug 30, 2010
    Messages:
    186
    Likes Received:
    2
    This is amazing. I can't wait to try it out!
     
  9. bearkilla

    bearkilla Robust Member

    Joined:
    Feb 3, 2009
    Messages:
    292
    Likes Received:
    10
  10. Nemesis

    Nemesis Robust Member

    Joined:
    Mar 22, 2007
    Messages:
    248
    Likes Received:
    79
    Exodus version 1.0.0 has been released! :) Head on over to the downloads section at http://www.exodusemulator.com and give it a try. If you get an error about a missing DLL, you need to install the latest Visual Studio 2005 x64 runtimes. You'll find a link for that in the downloads section too.

    I hope you find Exodus useful. Feel free to let me know what you think, I'm interested in any and all feedback. If you run into any difficulties using it, let me know and I'll do my best to help. Have fun.
     
  11. kungmidas

    kungmidas <B>Site Supporter 2013</B><BR><B>Site Benefactor</

    Joined:
    Sep 20, 2012
    Messages:
    98
    Likes Received:
    0
    Awesome work, thanks for contributing to the world :)
     
  12. synrgy87

    synrgy87 Well Known Member

    Joined:
    Jul 12, 2012
    Messages:
    1,769
    Likes Received:
    20
    downloaded, and currently testing it out, i'll test it in both windows and running in linux via wine and report back - as of now it starts in linux under wine. have not tried anything else yet tho.
     
  13. hamburger

    hamburger Spirited Member

    Joined:
    Apr 10, 2012
    Messages:
    180
    Likes Received:
    1
    This is great. Excellent work!

    edit: vvv Dang. 60fps solid for me on my i5 2500k. That said it's using 55% of all 4 cores to do that.
     
    Last edited: Apr 30, 2013
  14. Calpis

    Calpis Champion of the Forum

    Joined:
    Mar 13, 2004
    Messages:
    5,906
    Likes Received:
    21
    Very nice looking but it's too sloooow for me to really enjoy--approx 30 fps on an A6-5400K. I do LLE too (Neo Geo) and I mean really LL--basically a RTL simulator in C, and can surpass 60 fps on the same machine. Maybe you should look into rendering optimizations since you're targeting modern Windows, and Windows is distancing itself from fast x86. Some things that worked for me are minimally-branching "planar" rendering, deferred composition and I'm looking into HW plane repacking now for an additional boost.
     
    Last edited: Apr 30, 2013
  15. sparksterz

    sparksterz Spirited Member

    Joined:
    Aug 30, 2010
    Messages:
    186
    Likes Received:
    2
    I just had a chance to play around with it. It's amazing, it's nearly as if I had a development environment specifically for the genesis. I'm running on a i7 3770k as well and seem to be having no problems. I'm assuming the idea is the VDP image display is purely for debugging and basic re-scaling and if we wanted different scaling modes/sizes that's where a plug-in would come into play? Or would that be a module?
     
  16. smf

    smf mamedev

    Joined:
    Apr 14, 2005
    Messages:
    1,255
    Likes Received:
    88
    Nice release. Some of your ideas have been suggested before, but it needs someone willing to create a new project to evaluate them. I'm looking forward to see how this progresses
     
  17. AlexRMC92

    AlexRMC92 Site Supporter 2013

    Joined:
    Feb 12, 2013
    Messages:
    337
    Likes Received:
    28
    From a developers point of view, the concepts behind this are absolutely beautiful. The only issue is going to be performance. The only reason we can emulate ps1, ps2, etc games is because we cut corners in emulation. Exodus is technically superior, but to emulate more modern consoles your going to need a hell of a lot of computing power. I'm sure code optimizations will help in the future as well.

    My i5 laptop caps out at 50 fps. My q6600 desktop runs it fine, but at about 60% load.
     
  18. Mystical

    Mystical Resolute Member

    Joined:
    May 3, 2011
    Messages:
    935
    Likes Received:
    35
    tested on my i7 at work and getting 60+ FPS - dont have my laptop handy to test on that but very impressed so far

    does it support the ability to load games from the command line or from a front end such as Hyperspin?
     
  19. synrgy87

    synrgy87 Well Known Member

    Joined:
    Jul 12, 2012
    Messages:
    1,769
    Likes Received:
    20
    tested on linux (64bit) wine it started fine, loads and plays roms, but sound seems to be an issue which is fine i kind of expected that, probably need some other librarys loaded in wine etc. going to try in windows soon was too lazy yesterday lol
     
  20. sabre470

    sabre470 Site Supporter 2011, 2012, 2013, 2014 & 2015

    Joined:
    Mar 15, 2004
    Messages:
    1,504
    Likes Received:
    24
    Awesome, I love it!!! So fast 60fps+, keeps my i7 busy, makes temperature alarm go off x). I got to get more cooling in my desktop ;)

    Definitely my MD Emu of choice now :) Well done, great work!!!!
     
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page