Exodus 2.0 + Open Source Release

Official support forum for the Exodus Emulation Platform

Moderator: Nemesis

nothingtosay
Newbie
Posts: 3
Joined: Wed Dec 18, 2013 5:19 pm

Post by nothingtosay » Thu May 07, 2015 7:11 am

I'm very happy the new release and open sourcing has arrived, and the performance is quite noticeably better when logging audio, which used to make the emulator crawl for me but now goes full speed! Thanks for all the work, Nemesis, and I look forward to seeing what is to come.

I think I've found a bug though. Am I the only one whose PSG audio logging is screwed up? It outputs each channel at 48 kHz rather than the proper sampling rate, but it's not resampled, it just plays at the wrong rate. Meaning it's way slow and low in pitch. The summed YM2612 output is also 319248 Hz and consequently super fast and high in pitch, though the individual channel output is correct. Tell me it's not just me!

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

Post by Nemesis » Thu May 07, 2015 10:42 pm

nothingtosay wrote:I'm very happy the new release and open sourcing has arrived, and the performance is quite noticeably better when logging audio, which used to make the emulator crawl for me but now goes full speed! Thanks for all the work, Nemesis, and I look forward to seeing what is to come.

I think I've found a bug though. Am I the only one whose PSG audio logging is screwed up? It outputs each channel at 48 kHz rather than the proper sampling rate, but it's not resampled, it just plays at the wrong rate. Meaning it's way slow and low in pitch. The summed YM2612 output is also 319248 Hz and consequently super fast and high in pitch, though the individual channel output is correct. Tell me it's not just me!
It wasn't just you, I made some mistakes when I refactored some code for the audio logging in the PSG and YM2612 cores. I've pushed a fix to the source repository. The fix will be in the next release, or you can do a manual build of the latest version of the source to get it immediately.

Be aware though, not all programs can cope with the high sample rate of the PSG log files. There's nothing invalid or illegal about the file itself (now that I've fixed the bug that is), but not many players would have been tested with such an unusually high sample rate wav file. I've noticed "Media Player Classic" doesn't handle it right. The inbuilt "Windows Media Player" does though, as should any professional audio software.

MetalliC
Interested
Posts: 30
Joined: Sat Aug 25, 2012 12:45 pm
Location: UA

Post by MetalliC » Fri May 08, 2015 10:22 pm

as for YM2612, I think there is some error - shift here will give bad results for unsigned.
imo it must be (int)(~newAttenuation * attenuationIncrement) >> 4

also I have some good idea why here was needed to handtune increment patterns for rates 2-7, and why they different from patterns for bigger rates - because hardware works in the same way as code (or at least similar) but hardware "envelopeCycleCounter" is just 12bit long counter.
so for example if rate == 3, updateCycle = (envelopeCycleCounter >> counterShiftValue) & 0x07 => updateCycle = (12bits >> 11) & 07 will be only 1 bit, so attenuationIncrement will be attenuationIncrementTable[3][0 or 1] -- only 2 first values form patterns used, giving 0 1 0 1 etc
the same for rates 4-7 - updateCycle will be 2bits, so only 4 first values of patterns will be used.

Ryoandr
Newbie
Posts: 2
Joined: Mon May 04, 2015 10:44 pm

Post by Ryoandr » Sun May 10, 2015 4:24 pm

joystick/pad doesn't work if it isn't joy0. Automapping register them but it doesn't do anything ingame, has to be joy0.

Also, can't map povhat directions

Ryoandr
Newbie
Posts: 2
Joined: Mon May 04, 2015 10:44 pm

Post by Ryoandr » Wed May 13, 2015 9:12 pm

Ryoandr wrote:joystick/pad doesn't work if it isn't joy0. Automapping register them but it doesn't do anything ingame, has to be joy0.

Also, can't map povhat directions
hello ?

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

Post by Nemesis » Sat May 16, 2015 6:53 am

Sorry, very busy the last few days. I've made some fixes to the joystick handling code that'll be part of the next release. I'll have another look at the code and see if I can see any other problems. I don'thave a joystick or ganepad to test on so it makes it a bit hard to verify.

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

Post by Huge » Sun May 17, 2015 4:23 am

Nemesis wrote:Sorry, very busy the last few days. I've made some fixes to the joystick handling code that'll be part of the next release. I'll have another look at the code and see if I can see any other problems. I don'thave a joystick or ganepad to test on so it makes it a bit hard to verify.
If you have access to a USB wired xbox 360 pad, plug it in and use this driver for it:
http://lavendy.net/special/driver/x360c/index.html

It allows you to set up nearly any combination of axes, POV hats, buttons, analog inputs, etc. You'll lose XInput functionality though, which is something that many people need due to modern games using that and no other gamepad inputs.

Using the default XInput drivers (ie. the normal/official x360 pad drivers), the d-pad will map up to a POV hat and the analog triggers on the back will map up to - and + of the same axis (which makes those triggers damn near useless).

TmEE co.(TM)
Very interested
Posts: 2440
Joined: Tue Dec 05, 2006 1:37 pm
Location: Estonia, Rapla City
Contact:

Post by TmEE co.(TM) » Sun May 17, 2015 11:17 am

^ I use that driver pretty much exclusively, good stuff !
Mida sa loed ? Nagunii aru ei saa ;)
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen

tryphon
Very interested
Posts: 316
Joined: Sat Aug 17, 2013 9:38 pm
Location: France

Post by tryphon » Thu May 21, 2015 7:10 pm

Not really a bug but, in the registers window, the registers are named d1 to d8 and a1 to a8, instead of d0 to d7 and a0 to a7.

plamazy
Newbie
Posts: 6
Joined: Mon Jul 08, 2013 12:04 pm

Post by plamazy » Tue Jun 02, 2015 4:57 am

Yay! Thanks for the release!

I am trying it out and I notice it shows one controller that I can map to the keyboard. How do I map another controller to the keyboard?

Settings->Input Mapping only shows "Generic 6-Button Controller (Control Port 1)"

Can I change it to two, three-button 'classic' controllers?

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

Post by Nemesis » Sun Jun 07, 2015 1:58 am

tryphon wrote:Not really a bug but, in the registers window, the registers are named d1 to d8 and a1 to a8, instead of d0 to d7 and a0 to a7.
Yeah, that's fixed in the repository. The register windows are new, and I didn't spot that error until just after the 2.0.1 release. The next release will include the fix, or you can do a build from the latest source to get the fix.
plamazy wrote:Yay! Thanks for the release!

I am trying it out and I notice it shows one controller that I can map to the keyboard. How do I map another controller to the keyboard?

Settings->Input Mapping only shows "Generic 6-Button Controller (Control Port 1)"

Can I change it to two, three-button 'classic' controllers?
Controllers are "modules" that can be loaded or unloaded separately. To remove the current 6-button controller, select "File -> Manage Modules" from the menu, select the 6 button contoller, and unloaded it. To load three button controllers, from the main menu, select "File -> Load System / Module", and select the "Sega Mega Drive 3 Button Controller.xml" file. Load it twice to load two instances of the controller. You can now map the inputs for each controller. When you've got it setup the way you want, select "File -> Save System" to save your configuration. Pick any name you want for your system configuration. To make your configuration the default when you restart Exodus, select "System -> Platform Settings", and select your new system configuration file under the "Load System on Startup" setting.

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

Post by mickagame » Fri Jun 26, 2015 6:49 pm

Hi Nemesis.
Super Street Fighter 2 show a red screen at start.
Does Exodus can support it?

DarkMorford
Interested
Posts: 15
Joined: Tue Mar 17, 2015 4:09 pm
Location: Redmond, WA

Post by DarkMorford » Thu Jul 02, 2015 5:27 am

Oh, wow. I just noticed that Exodus got a big update, and it looks great! Can't wait to start debugging with it!

One thing I can't figure out though, just from playing with the interface, is how to get the different panels/dashboards to auto-hide. I can get them to dock to the main window, but they stay visible. Is there a specific drop zone or key combination I'm not seeing?

Thanks for all the work, and I'm looking forward to seeing what comes next!

Raijin
Newbie
Posts: 4
Joined: Tue Sep 10, 2013 2:25 am

Post by Raijin » Sat Jul 11, 2015 9:53 pm

I have a crash report for you. Exodus seems to crash every time I try to start it. It loads everything, and the VDP display tab shows up, then it just closes. It worked fine when I first downloaded it. I re-downloaded it again just now to make sure, but it still happens.

Here is a crash dump.

What I figure is a windows update must have screwed something up. My OS is Win7 x64 if that will help by the way.

Edit: I have found the problem. I use a PS3 controller for some games, so I pretty much have to use an extremely awful software called Motioninjoy DS3 Tool. When my controller is plugged, that will cause the crash and I am more than sure that tool has something to do with it now. Unplugged, there is no crash.

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

Post by Nemesis » Tue Jul 14, 2015 9:06 pm

mickagame wrote:Hi Nemesis.
Super Street Fighter 2 show a red screen at start.
Does Exodus can support it?
Super Street Fighter 2 uses a custom bankswitcher which isn't supported yet, so this game can't currently be run in Exodus.
DarkMorford wrote:One thing I can't figure out though, just from playing with the interface, is how to get the different panels/dashboards to auto-hide. I can get them to dock to the main window, but they stay visible. Is there a specific drop zone or key combination I'm not seeing?
When the window is docked, you need to click the window border along the docked edge to toggle auto-hide. There's a custom cursor that appears over the border to show the region.
Raijin wrote:I have a crash report for you. Exodus seems to crash every time I try to start it. It loads everything, and the VDP display tab shows up, then it just closes. It worked fine when I first downloaded it. I re-downloaded it again just now to make sure, but it still happens.
Thanks for the crash report, as you saw the crash is occurring in the joystick handling code, but it's a bug in Exodus which causes the crash, where if joystick ID's aren't consecutive and starting at 0, a crash occurs. This is fixed in the source repository already, and the fix will be included in the next release.

Post Reply