OK, I'm a sound chip junkie, and the TG-16's sound chip intrigues me. I know it's part of the CPU (HuC2680 or something like that) and that it's not really PSG but rather PCM, but here's some things I want to know:
1. On average, how much system RAM is allotted to the samples in the context of a game? How much RAM does a TG-16 have anyway?
2. Is the RAM limitation the only reason the games sound PSG-like? Outside of the context of a game, could you build some sort of sample-streaming program and get a low-bitrate SNES or Amiga-esque sound?
3. Can the TG-16 act like a Korg DW-8000 and use it's samples as oscillators for subtractive synthesis?
4. Why haven't they made a MIDIPCengine HuCard yet, like they have with MIDINES? Everybody loves the sound, and I don't think it's the issue of "there's no market". Is it due to the complications of being able to load custom samples, or something else? Is it hard to reverse engineer or something?
5. Does the TG-16 have psuedo-analog filters like the NES and C64, or is it pure digital?
Sorry if these questions are stupid, I just really like learning and reading about sound chips.
1) In instrument/sample playback mode, each channel has a 32 note sample bank.
2) The sample ram is the main reason why sample sound limited, but you can dynamically update the sample bank during what intervals you choose up to 7kz. You can choose to reset the sample playback pointer or leave it where it is when updating a sample bank.
3) ?
4) Someone is working on it.
5) I've been told is has some sort of filter applied, but what I don't know. I do know there is because when I tried to playback a 1mhz loop through the DAC, the signal was incorrect when viewed on my oscope (VS taping the pins from the CPU itself).
The sound chip is fab on the same dye as the CPU, but it's still a separate IC. On the PC-FX it's just a standalone HuC6230 chip.
The sound chip has no hardware envelope or sweep registers, you have to emulate them in software (which is fairly easy). The samples loop forward and there is no way to "ping-pong" the sample pointer.
Any one of the 6 channels can be independently switched into DAC mode - where you can feed it sample bytes directly. As fast as you write to the port, is the resulting frequency. The CPU must feed the DAC, but unlike the Genesis, the PCE has an programmable timer interrupt to make things easy.
There's a decay rate and the channels output isn't updated if the same sample value is written to it multiple times in a row (drifts to zero). This is the same for sample and DAC output.
Besides that, both channel 5 and 6 can be independently switched into white noise mode.
And lastly, channel 2 can be switched into LFO(low frequency oscillation) mode which silences it's own output and effects channel 1 (frequency oscillation is added to channel 1 and can be set to different shift values). The LFO data uses the same 32 sample bank.
Each channel has a main volume control and a separate balance volume control for left and right (not just panning). There's also a global volume control for all channels.
What's limiting about the PCM playback system? In my opinion the sample bank length. It's strange they never increased the sample bank length in the SGX or the PC-FX (basically uses the same sound chip in addition to two ADPCM chips).
Chris, that's funny they mentioned it as Waveform PSG. The SegaCD has the same setup as the PCE, but refer to it as PCM (though with 64k to share between the 8 channels)