Closed marcrobledo closed 4 years ago
The AICA code is still premature (albeit apparently more fleshed out than MAME implementations), and the DSP code right now is a complete stub for anything other than 32bit x86.
Here is a first shot at a generic DSP implementation: https://github.com/reicast/reicast-emulator/commit/8c3247d1b2a6ffb4a3a9c8b4b6e1e64208e36881
It's based on the dynarec code and various other sources. Not sure about the performance...
It seems to work and you can now hear the engine, menu sounds and balloons popping in Crazy Taxi.
You need to set aica.NoBatch = 1
to enable the DSP (default is 0).
Thanks a lot! I backported it just now.
The only bug I notice @flyinghead is that for certain sound effects with echo effects, they tend to not properly fade out during transition scenes. For instance, if you are playing as Maxi in Soul Calibur and he makes one last voice sample before you press Start to move to the next round, I think you can briefly still hear that sound clip instead of properly fading out.
I hear some similar issue like that in Code Veronica when you select the lighter at the very beginning of the game in order to illuminate the area, then you press Start to skip the cutscene. You will hear some kind of very distant repeating sound continuing to go on in the background then when on a real DC it would have probably properly faded out. It's hard to describe and you might have to turn the volume up in order to even pick up on it. It is a minor thing but it still stands out nonetheless.
Another game to pick up on these potential audio echo issues would be Daytona USA 2001 - at the VMU select screen and the title screen.
What's wrong with Daytona?
On screens that are supposed to be silent or when sound effects should properly fade out and then not be heard again, you can still hear some residues of sound samples. Not sure if I am explaining this particularly well but you can notice it on VMU screens, title screens, the pause screen, etc.
You might have to watch some Youtube video clips from real Dreamcasts or run a real Dreamcast to pick up on the difference.
Daytona uses the DSP on its menus to add a reverb effect to button press sounds. On the VMU screen one on the two sounds is distorted (when you press A), I think. Could be a problem with the DSP but iirc the dynarec one does the same (plus some clicking). But the reverb/echo is normal there.
Not the VMU but you can hear the reverb distinctly: https://www.youtube.com/watch?v=4IXtNDbzZso&feature=youtu.be&t=94
OK, I'll take your word for it I guess. I do still own an original Dreamcast with a copy of the game Daytona USA 2001. I guess I will run it later this week to see there are any audible differences to be noticed.
DSP code should take care of these issues now
Crazy Taxi car engine sounds too low. In Puyo Puyo Fever, player 1 in-game voices sound also too low. Player 2 voices sound fine.