Page 7 of 8

Posted: Thu May 07, 2015 7:11 am
by nothingtosay
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!

Posted: Thu May 07, 2015 10:42 pm
by Nemesis
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.

Posted: Fri May 08, 2015 10:22 pm
by MetalliC
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.

Posted: Sun May 10, 2015 4:24 pm
by Ryoandr
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

Posted: Wed May 13, 2015 9:12 pm
by Ryoandr
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 ?

Posted: Sat May 16, 2015 6:53 am
by Nemesis
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.

Posted: Sun May 17, 2015 4:23 am
by Huge
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).

Posted: Sun May 17, 2015 11:17 am
by TmEE co.(TM)
^ I use that driver pretty much exclusively, good stuff !

Posted: Thu May 21, 2015 7:10 pm
by tryphon
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.

Posted: Tue Jun 02, 2015 4:57 am
by plamazy
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?

Posted: Sun Jun 07, 2015 1:58 am
by Nemesis
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.

Posted: Fri Jun 26, 2015 6:49 pm
by mickagame
Hi Nemesis.
Super Street Fighter 2 show a red screen at start.
Does Exodus can support it?

Posted: Thu Jul 02, 2015 5:27 am
by DarkMorford
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!

Posted: Sat Jul 11, 2015 9:53 pm
by Raijin
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.

Posted: Tue Jul 14, 2015 9:06 pm
by Nemesis
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.