I have the audio code ready, just not sure how to read the samples from memory at all. I still have the 2 files I modified if you'd like me to PM them to you.
EDIT: Also the audio sample clock generator is tied to the 48,681,818.18~ Hz VI clock, not sure how that is being generated (If at all). The audio divider register divides this clock to determine when to output the next sample. For example, Majora's Mask writes 1,521 to that register, 48~ MHz / 1521 = 32KHz sampling rate. So for the time being I just doubled the divider, which I'm sure is wrong, and is certainly not cycle accurate. All the other things like bit-rate, etc are handled, and TODO's are placed where what I should do was either unclear or undocumented. I also didn't add OpenAL, because I figured you'd probably have a way you'd like to do it (You also said you'd do it if I wrote the AI code, so
). I guess I'll look up some vr4300 docs and see how DMAs are done in the meantime.