BambooTracker
BambooTracker copied to clipboard
[Idea for enhancement] NEC PC-9801-86 PCM voices support
PC-98's 86 soundboard was an official expansion card released in 1993 with Windows 3.x in mind. As such, while based on YM2608, it couldn't play ADPCM sound due to lack of 256kB sample RAM. Instead, it featured the PCM codec, similiar to that of SB16 which was purely software driven. PMD and FMP supported it via PPZ8 - driver that mixed 16-bit, 44.1kHz stereo stream into eight 8-bit mono channels.
Now, BT has volume mixing presets. My idea would be to make them more than just that - if custom, Speakboard or PC-88 presets are selected one can use ADPCM for sample playback, where in case of PC-9821 86, PCM can be used instead.
Why not have an option to allow both at once in custom perhaps or maybe a 86+Chibi-oto option? Unless I'm misunderstanding in someway(ppz8 is software driven right?) or it isn't technically possible. There's also something just called "ppz" and in programs such as fmpmd2000 and MSDP it appears to show audio samples playing from the ssg channels is that related to PPZ8 in anyway?
PMD and FMP supported it via PPZ8 - driver that mixed 16-bit, 44.1kHz stereo stream into eight 8-bit mono channels.
Aside from it being the other way around (the 8 8-bit channels are software mixed into the output), there's also the P86 bank format that can be used instead of PPC to play back samples on this hardware.
it appears to show audio samples playing from the ssg channels is that related to PPZ8 in anyway?
That's PPZ8 (the software channels are labeled PPZ1 through 8 in the channel mask). It doesn't play on the SSG, the samples are 8-bit and high sample rate. PPS is the driver that does that, with only a 4-bit.
Thanks for your request, you mentioned this in #6. On the point of implementation, as I said supporting 86 soundboard's PCM will not be hard, it only need to mix PCM samples to the current emulation. The hindrance is that the files that BambooTracker can export (VGM, S98) at the moment cannot record control instructions to anything other than the YM2608 chip. This means that the driver that plays these files cannot control the external PCM or SSG PWM (#188). Implementing these features in their current state can be confusing to users who are expecting a real chip environment, this is why I'm hesitant to implement it.
If you can convert btm into a file that can be played back by PMD or FMP, you can control it as P86. Another option and the best solution is to create a new driver to handle btm or original sound log file, but I'm too little knowledgeable at the moment to do so.
Aside from it being the other way around (the 8 8-bit channels are software mixed into the output)
That's weird, many souces claim that this PCM sound source nominally produces 16-bit, 2ch 44.1 kHZ sound.
@rerrahkr I know, forgot about that; regarding usability outside BT, driver for PC-x8 and MSX is already planned by @Pigu-A (#15) so one day this feature may be possible to implement