Skip navigation
NintendoAge
Welcome, Guest! Please Login or Join
Loading...

Emulating YM2612 on a SNES

Mar 12, 2017 at 12:24:03 AM
Aaendi (0)

(Andy Koenigs) < Eggplant Wizard >
Posts: 332 - Joined: 05/31/2012
United States
Profile
This week I've been trying to emulate Sega's FM audio chip on the SNES just for the hell of it. I'm using a combination of 65816, SPC700 and S-DSP processing to get this working. Because neither the 65816 nor SPC700 are fast enough to render 32000 samples a second, instead it will only generate looped waveforms (64 samples) that are updated at 60 times a second. That way you only need 3840 samples a second per channel instead of 32000, with the S-DSP playing the samples itself. My first version will have the 65816 doing all 6 channels, but I plan on dividing the work load in half, with 65816 doing 3 channels, and the SPC700 doing the other 3.

One hard part about doing this is the BRR/ADPCM format. If I do it the easy way by using "filter 0" raw 4-bit PCM, with a static range setting, I get a lot of quantization noise. If I check all 4 filters and range settings it will be too much processing, so I'll try using "filter 1" instead of "filter 0" with range adjusting.

Mar 12, 2017 at 2:55:33 PM
retroupgrade (3)
avatar
< Meka Chicken >
Posts: 632 - Joined: 03/05/2016
Profile
I didn't understand everything, but it sounds pretty neat. Keep us updated!