05-04-2023, 09:43 PM
I'm not personally familiar with the details of the DACs, but somewhere around here is a udamc example by mic_ for playing PCM samples.
Much of the sound is driven by a unique version of the Z80 processor. That processor, as far as I know is limited to 3 square wave tone channels and one noise channel. That means 4 total simultaneous channels playing at once.
I'm not sure if your number for 10 voices is referring to the capabilities of the commercial SNK driver where it can store and use pre-defined voices/noise macros that can be used during tone/noise playback, but that's simply a feature of the driver in how it generates sound on the Z80. I have personally written a sound driver for NGPC that can play VGM files composed for SMS, and in the tracker software I can define more than 10 instruments/macros as they only impact the data that is output. In this driver, the Z80 only recieves the raw instructions for its channels and has no awareness of macros.
Much of the sound is driven by a unique version of the Z80 processor. That processor, as far as I know is limited to 3 square wave tone channels and one noise channel. That means 4 total simultaneous channels playing at once.
I'm not sure if your number for 10 voices is referring to the capabilities of the commercial SNK driver where it can store and use pre-defined voices/noise macros that can be used during tone/noise playback, but that's simply a feature of the driver in how it generates sound on the Z80. I have personally written a sound driver for NGPC that can play VGM files composed for SMS, and in the tracker software I can define more than 10 instruments/macros as they only impact the data that is output. In this driver, the Z80 only recieves the raw instructions for its channels and has no awareness of macros.