The SNES sound hardware was a little bit more complicated than that.
It has a control CPU, and it's own RAM, with no access to the contents of the cartridge, or to main RAM. Obviously, you have to emulate all of that accurately, or the code that controls the sound output might not work correctly.
The actual hardware is more complicated than just a sample mixer. It's implemented as a custom DSP, which does sample decompression, high quality resampling, mixing, has an envelope generator, several effects (programmable FIR filter, echo, panning), and a noise generator.
Older SNES emulators didn't really emulate any of this. They treated it as if it were a simple sample playback device. This worked OK for most games, because they didn't use those features. However, when a game actually used those features, everything sounded wrong.
Later, they started supporting the effects, but nobody understood how the DSP was actually implementing those effects, so they didn't sound quite right. They just implemented stuff that sounded about right on the games they were testing on. Reverse-engineering all the hardware, so this stuff could be emulated accurately, took a very long time.
Right now, the SNES audio hardware is completely understood. We have several emulators that are perfectly accurate, both in terms of timing, and output. For example:
It has a control CPU, and it's own RAM, with no access to the contents of the cartridge, or to main RAM. Obviously, you have to emulate all of that accurately, or the code that controls the sound output might not work correctly.
The actual hardware is more complicated than just a sample mixer. It's implemented as a custom DSP, which does sample decompression, high quality resampling, mixing, has an envelope generator, several effects (programmable FIR filter, echo, panning), and a noise generator.
Older SNES emulators didn't really emulate any of this. They treated it as if it were a simple sample playback device. This worked OK for most games, because they didn't use those features. However, when a game actually used those features, everything sounded wrong.
Later, they started supporting the effects, but nobody understood how the DSP was actually implementing those effects, so they didn't sound quite right. They just implemented stuff that sounded about right on the games they were testing on. Reverse-engineering all the hardware, so this stuff could be emulated accurately, took a very long time.
Right now, the SNES audio hardware is completely understood. We have several emulators that are perfectly accurate, both in terms of timing, and output. For example:
http://www.slack.net/~ant/libs/audio.html#snes_spc
Both ZSNES and bsnes use that library, and I believe that Snes9x is nearly as accurate now.
That said, I don't think anyone's actually dumped the DSP's program code.