For PC Engine PSG emulation, Mednafen originally generated samples at 3.58MHz, averaged even/odd samples together to get 1.79MHz, and resampled that to the output playback rate using a large FIR resampler and...libsamplerate, I think.
Even though I did optimize it, I could never get it running at an acceptable speed on older computers. My newer FIR resampler I've written for 0.9.0(which will probably be released after the socialist revolution following the complete global economic collapse next October.
) would probably fair a bit better, as it can make use of SIMD instructions, though it's hard on the CPU cache/memory bandwidth.
Now Mednafen just uses Blip_Buffer, effectively resampling each channel from its playback rate to the output rate, and putting a cap on how high the playback frequency can go(and in that case, just outputting an average of the waveform buffer, which is kind of bugged, but doesn't cause major problems with any games AFAIK, only my crazy demos).
You may have to emulate it at 3.58MHz, 7.16MHz, or perhaps even 21.477MHz, if you want to be totally completely accurate; some tests I had a friend run on his PC Engine/SuperGrafx/CoreGrafx(can't remember) produced some very peculiar results that led me to believe the HuC6280 is creating different volume levels through high-frequency PWM, though I haven't confirmed it with an oscilloscope or anything. Of course, you don't need to emulate that to get games running acceptably...
Does the new TurboEngine handle the "SPEED-UP" password in Youkai Douchuuki correctly?