I see... The pcm is a special one of DPCM. The channel directly use the DAC(the value written to the i/o) to generate a sound, which means that the state info of this channel should be calculated in real-time, and that wont be suppoted by NDS's two processors... The ARM7 will update the channel every 44100/64hz, enough to generate a MAN' voice, but not for a sound(even a WOMAN' voidce...). Additionally, the ARM9 does not process 6502 code in real-time and the 6502 wont check the reg4015, so, there is no way to generate a real PCM...personuser said:Okay, PCM refers to raw PCM sound, and it is VERY easy to hear because music can't play while it's running. DPCM can still have other sounds playing while in use, like SMB3's drums.
A good example is the game "three stooges or "action 52", both which work in NESDS besides the PCM sound. I'll use the 3 stooges here, because the sound plays right in the intro and you don't have to wait.
A supposed PCM, in one frame:
aaaabbbbccccddddaaaacccc
The ARM7 wouldr ender it as aaaaaabbbbbbddddddaaaaaa...... too slow...really bad.
The ARM9 would deal with it as aabbccddaacc.... too fast, still bad..
then the final sound would be
aaaaaadddddddddddddddddd......
If we want to hear the correct PCM sound from nesDS, we need to slow down the ARM9(write the i/o slowly), and shorter the sound buffer(now is 64)(render the sound faster)...
I dont like it....