Dolphin, the GameCube and Wii emulator - Forums

Full Version: What about sound, the very soul of a game?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7
(01-01-2011, 03:15 AM)Squall Leonhart Wrote: [ -> ]Thanks for proving my point.

Quote:Right. But it is part of a sound card, isn't it?

no, the sound related registers are part of the DSP.

Regardless of my own ignorance here, the cards he wrote drivers to do have digital signal processors (DSPs). You can take a look at the main page of their project: http://kxproject.lugosoft.com/.

Or, if you are afraid / scared / lazy, to click at that link, I'll quote this:

"KxProject Wrote:The kX Audio Driver package includes driver system files and setup files as well as a powerful audio mixer application (the kX Mixer), [...] The following features are either fully supported or partially supported in the latest release of the kX Audio Driver:
  • DSP Microcode Loading/Unloading

Furthermore, DSP is a crucial thing to get emu10k1-based chipsets (on which some Creative cards are based on) working. So how come he (Eugene) would not be able to grasp GameCube / Wii's DSP?
a PCI/PCI-E sound card can be reverse engineered by installing it in a OS which has a HAL capable of allowing direct register access and then hitting the registers to find out their behavior or by analysing the behavior of its drivers in a debug environment.

by memory, according to Ector, the development hardware for these consoles does not support directly logging the registers as they are hit to test their behavior, which accounts for a good amount of the reason why the DSP is being understood and learnt as it is implemented and reimplemented, and so and such.

nintendo really increased the hardware security between the N64 and gamecube to stamp out emulation related piracy.
Well, I tried contacting a few sound developers within IRC and I managed to talk to gigaherz, the guy that wrote the original sound plugin for pcsx2, and Jake Air, the guy who perfected it. Jake said something very interesting:

First, he says the GC/Wii DSP doesn't behave quite like a DSP, but "more like a digital Synthetizer". He basically told us how LLE can become a reality faster: using a real GC/Wii, building debugging tools and hacking it.

I'm posting the conversation as a log. Also, I gathered from IRC the 3 sources we have about how sound works on the GC/Wii. Here they are (LPFaint99, from IRC, deserves the credit here, by the way):
  • http://www.romhacking.net/docs/468/
  • http://code.google.com/p/dolphin-emu/source/browse/#svn%2Ftrunk%2Fdocs%2FDSP
  • http://hitmen.c02.at/files/yagcd/yagcd/index.html

I hope you find this information useful.

Nice you're helping out how you can, but really, although the sound emulation development has stalled behind graphics for a while, right now Skidau is working hard on it, I assume he knows what he is doing, as he is progressing on. Maybe there's usefull help from the Pcsx2 coders but you are kinda undermining him, it's not like Dolphin devs haven't reverse engineered on the DSP already.
(01-01-2011, 10:51 AM)KHRZ Wrote: [ -> ]Nice you're helping out how you can, but really, although the sound emulation development has stalled behind graphics for a while, right now Skidau is working hard on it, I assume he knows what he is doing, as he is progressing on. Maybe there's usefull help from the Pcsx2 coders but you are kinda undermining him, it's not like Dolphin devs haven't reverse engineered on the DSP already.

I don't think I'm undermining Skid. If he has already done that, perhaps someone almost as talented (or as talented) can read this topic and know where to start from to help, too.
Mythrill please stop bugging people in unrelated projects. Just because Creative sound cards have DSPs doesn't mean they're remotely alike. Besides, between duddie and the dolphin team, we have a reasonably complete reversal of the instruction set and behavior already done.

"particularly to the LLE plugin, the one that should produce the most accurate output. In fact, I don't see much progress there the last stable version. Correct me if I am wrong. "
You are wrong. Microcodes sent to the dsp are run very close to fully correct. If you experience sound issues with current dsp lle plugin, you are likely not emulating at real speed...and we have no time stretcher, so it sounds like crap.
(01-01-2011, 11:17 AM)shuffle2 Wrote: [ -> ]Mythrill please stop bugging people in unrelated projects. Just because Creative sound cards have DSPs doesn't mean they're remotely alike. Besides, between duddie and the dolphin team, we have a reasonably complete reversal of the instruction set and behavior already done.

"particularly to the LLE plugin, the one that should produce the most accurate output. In fact, I don't see much progress there the last stable version. Correct me if I am wrong. "
You are wrong. Microcodes sent to the dsp are run very close to fully correct. If you experience sound issues with current dsp lle plugin, you are likely not emulating at real speed...and we have no time stretcher, so it sounds like crap.

Well, this is an open project, so I decided to ask for help of other people actively. It's the least I can do. Besides, it has been widely discussed that the LLE plugin has lots of problems, so I'm trying to find someone really great that could help.

You can put my name in your first post. Sumtin like: "contact the project leader Kein. No, really, he is awesum, contact him now!"

That would be cool.
(01-01-2011, 09:01 PM)Kein Wrote: [ -> ]You can put my name in your first post. Sumtin like: "contact the project leader Kein. No, really, he is awesum, contact him now!"

That would be cool.

Well, your avatar is nice (I like Castlevania art) Big Grin.
I managed to talk to skid today. He was very warm and kind, and is also very willing to listen.

Basically, my bios files were corrupt, so I had to re-dump them. This makes the garbage noise go away. Nevertheless, the plugin is still slow, and they are working on speeding it up. This last part we already know.

What is interesting is that he explained me the difference between HLE and LLE: as you know, LLE tries to use the bios to play sound perfectly, which takes a lot more processing power. The HLE plugin is basically a guess about how Dolphin's digital sytethizer works, and it bypasses any emulation - the code is already re-written in C++ - this is precisely why it is much faster. He did explain me that improving on the high-level sound plugin is difficult, and this is one more reason they are focusing on the LLE plugin.

To the coders out there this may be no big news, but for laypeople like, this is some very useful insight.
Pages: 1 2 3 4 5 6 7