Cycle accurate Mega Drive emulation: Exodus coming in April!

Ask anything your want about Megadrive/Genesis programming.

Moderator: BigEvilCorporation

Shadow
Very interested
Posts: 257
Joined: Wed Sep 16, 2009 7:13 am
Location: Russian Federation

Post by Shadow » Tue Apr 30, 2013 5:17 pm

King Of Chaos wrote:Are you using the stock cooler, third-party cooler or water?
Water Cooler Zalman CNPS20LQ
King Of Chaos wrote:What FPS are you seeing on Sonic 2?
Image

King Of Chaos
Very interested
Posts: 273
Joined: Fri Feb 29, 2008 8:12 pm
Location: United States

Post by King Of Chaos » Tue Apr 30, 2013 5:25 pm

Okay, I've been testing X-Men 2's starting random character behaviour. On hard reset it's always Psylocke and on soft reset it's always Gambit. Anyone else confirm?
Last edited by King Of Chaos on Tue Apr 30, 2013 5:27 pm, edited 1 time in total.

GManiac
Very interested
Posts: 92
Joined: Thu Jan 29, 2009 2:05 am
Location: Russia

Post by GManiac » Tue Apr 30, 2013 5:25 pm

Nemesis, thank you for this release.

But... First game I tried to run was Mega lo Mania and it didn't work. I saw tiles of SEGA logo in VDP Pattern and nothing more. I think Main 68k is caught in infinite loop.
Second game to open was After Burner. After loading I heard a hiss (yes, it's badly interpolated PSG which is constantly turned on on max freq in this game). OK, but I can't hear PSG in tunes :(

mickagame
Very interested
Posts: 256
Joined: Sat Jun 07, 2008 7:37 am

Post by mickagame » Tue Apr 30, 2013 5:27 pm

Here is my FPS with sonic 2.
CPU Core I5 3570K.

Image

King Of Chaos
Very interested
Posts: 273
Joined: Fri Feb 29, 2008 8:12 pm
Location: United States

Post by King Of Chaos » Tue Apr 30, 2013 5:28 pm

What's the lowest you've seen it? Especially when running the title screen and the demo?

mickagame
Very interested
Posts: 256
Joined: Sat Jun 07, 2008 7:37 am

Post by mickagame » Tue Apr 30, 2013 5:32 pm

74 FPS is the lowest i've seen.

All the games i've tried was ok except Story Of Thor. It crash when loading the module associated to the rom.

King Of Chaos
Very interested
Posts: 273
Joined: Fri Feb 29, 2008 8:12 pm
Location: United States

Post by King Of Chaos » Tue Apr 30, 2013 5:45 pm

Nice!

But, I think I'm going to wait a while to see what Haswell (i7-4770K) has to offer in a few months. In the meantime it's acceptable enough for all intents and purposes. :P

Honestly, I can't wait for the potential cheats support (and perhaps cheat searching support). I might have to actively hack cheats again. :P

Stef
Very interested
Posts: 3131
Joined: Thu Nov 30, 2006 9:46 pm
Location: France - Sevres
Contact:

Post by Stef » Tue Apr 30, 2013 6:39 pm

Congrats Nemesis ! I'm just testing Exodus from some minutes now and i have to admit that is a master piece of software =)
The debug features are really impressive, accuracy of course is also very impressive, nice to see that small cram dots =)
I don't know for others people but myself i experienced two emulation crash : game work perfectly for sometime and suddently locks up and sound generally dies in the last played note... may be due to thread synchronisation stuff as the game generally crash only after sometime.
Also i saw that on my notebook (i5 2.6 Ghz) the cpu never goes to 100% used, something between 70%-80%... i got about 20 to 40 FPS depending the game, i guess i will never be able to be full speed on this system :p

Huge
Very interested
Posts: 197
Joined: Sat Dec 13, 2008 11:50 pm

Post by Huge » Tue Apr 30, 2013 7:08 pm

Runs between 65-125fps on my i5 3570k at 3.8ghz. The video window is not perfectly smooth though, it skips one-two frames pretty often even when it runs at 60fps.

I recall SOR2 having mid-screen cram garbage when the GO! test appears, as well as a minor hiccup in the gameplay, but I don't see those in this emulator... it's possible it is because the video window is not perfectly smooth (vsync etcetera), but also possible because the cart I have uses a different ROM that behaves differently at that part.

However I believe at this point any realistic compatibility testing would require for me to 1. dump all my carts (some of them are undumped, hacked bootlegs) and 2. test your emu versus the real hardware... and even there we have several hardware revisions to test against!

Only bug I found without hardware comparison was this demo:
http://pouet.net/prod.php?which=50188

Which says it runs at 30fps, and throttling to 60fps makes the music run too fast (but the video at correct levels). Kega runs it at full speed. No idea how it behaves on the real system.

Eke
Very interested
Posts: 884
Joined: Wed Feb 28, 2007 2:57 pm
Contact:

Post by Eke » Tue Apr 30, 2013 8:26 pm

Damn, and just now I realize my laptop CPU here is 32-bit only, it's going to be hard to convince the wife here we "absolutely" need a new one :roll:

Congrats for this first release anyway Nemesis, I hope you publish your source code soon so I can also enjoy the party in some way :wink:


EDIT: just realized it was just a matter of installing 64-bit OS version, I feel dumb
Last edited by Eke on Wed May 01, 2013 9:58 am, edited 1 time in total.

Nemesis
Very interested
Posts: 791
Joined: Wed Nov 07, 2007 1:09 am
Location: Sydney, Australia

Post by Nemesis » Tue Apr 30, 2013 10:47 pm

I don't know for others people but myself i experienced two emulation crash : game work perfectly for sometime and suddently locks up and sound generally dies in the last played note... may be due to thread synchronisation stuff as the game generally crash only after sometime.
Do you remember which games you were running? I'll see if I can reproduce the problem. Did you actually get a crash, or did the emulator just freeze? If you got a crash, there should be a crash report generated under a "Crash Reports" subdirectory. If you can send that file into me, I should be able to determine what went wrong.
Also i saw that on my notebook (i5 2.6 Ghz) the cpu never goes to 100% used, something between 70%-80%... i got about 20 to 40 FPS depending the game, i guess i will never be able to be full speed on this system :p
That's probably the hyperthreading. Hyperthreading potentially gives you double the number of cores available, but in reality, those "cores" can only be used at certain times, so the hyperthreading cores will often appear "idle" when in reality, they can't be used at that time because the currently executing code can't be parallelized using hyperthreading. CPU meters don't give you an accurate picture when it comes to reporting on hyperthreading cores.


Thanks for all the positive feedback guys, it's good to know quite a few of you are able to make use of this thing. I know the performance requirements are pretty heavy, sorry to those of you who can't get a decent framerate.

Shadow
Very interested
Posts: 257
Joined: Wed Sep 16, 2009 7:13 am
Location: Russian Federation

Post by Shadow » Wed May 01, 2013 2:30 am

Virtua Racing almost unplayable.

Image

Nemesis
Very interested
Posts: 791
Joined: Wed Nov 07, 2007 1:09 am
Location: Sydney, Australia

Post by Nemesis » Wed May 01, 2013 2:49 am

Huge wrote:Only bug I found without hardware comparison was this demo:
http://pouet.net/prod.php?which=50188

Which says it runs at 30fps, and throttling to 60fps makes the music run too fast (but the video at correct levels). Kega runs it at full speed. No idea how it behaves on the real system.
I just looked into this, and I'm actually emulating it correctly, or at least, more correctly than Kega. Kick that ROM into European mode and you'll see it works as expected. What's happening is, that ROM is enabling V30 mode, which is only actually supported on PAL systems. If you enable V30 mode on an NTSC system, the VDP generates an image, but without a valid vblank region, and with a longer interval between vertical interrupts, which is why the framerate is only around 30FPS. That framerate is actually correct. You're actually getting full framerate for that video signal. If you run that game on a real NTSC system, you won't even be able to get a picture. The ROM is flagged as compatible with a US system in the header though, so it's using an NTSC video setting for it in Exodus. I'll add an override for this game to the ROM loader so that it forces a European region in the next release.

In future versions, I'm going to add warnings to that status bar when the VDP is generating an image which isn't valid for an NTSC or PAL video signal. There are quite a few other ways to generate a bad signal. I'm displaying them as stable images simply because with the right monitor you could theoretically stabilize and view them, but there does need to be a visual warning when this is happening.

Nemesis
Very interested
Posts: 791
Joined: Wed Nov 07, 2007 1:09 am
Location: Sydney, Australia

Post by Nemesis » Wed May 01, 2013 2:54 am

Shadow wrote:Virtua Racing almost unplayable.
Yep, Virtua Racing is not supported. The SVP device isn't emulated by Exodus yet. Here's a list of things I know won't work correctly:
-Virtua Racing
-Anything that uses bankswitching
-Anything that has a custom protection device on the cartridge (anyone have a list of these?)
-Games which use EEPROM-based backup memory. SRAM-based backup memory should work, as long as the header information in the cartridge is correct.
-J-Cart games. Not even sure what these games will do, but the J-Cart hardware isn't emulated.

Support can easily be added for these games, it's just a matter of emulating the extra cartridge-based hardware these devices use. I added support for SRAM in the last few weeks, but I decided to release the emulator now, rather than delaying for another month or more while I worked on adding support for all these special cases.

Stef
Very interested
Posts: 3131
Joined: Thu Nov 30, 2006 9:46 pm
Location: France - Sevres
Contact:

Post by Stef » Wed May 01, 2013 9:26 am

Nemesis>
I replied in the bug report topic :
viewtopic.php?t=1422

Post Reply