Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /storage/content/49/145849/famitracker.com/public_html/forum/classes/dbHandler.php on line 29
I get a lot of questions from YouTubers about DPCM and I've been contemplating making some layman's DPCM tutorial videos for a while now. I just have some details I'm hazy on and the NesDev documents go mostly over my head (because I'm a layman, too :P).
I understand that the delta counter is tied to a DAC, and that produces the sound from the oscillation of the given 0's and 1's, and I understand that the squares exit from one pin, and the triangle, noise, and DMC come out a separate pin, and that's why the delta counter only affects the triangle and noise channels. ...but I think I also remember reading that there was some kind of volume ratio between the three (tri, noise, and DMC)... so that leads me to my primary question...
Why does the delta counter suppress the other two channels when it's high? I assume it's something that relates mathematically to those volume relationships I just mentioned, but I can't piece it together on my own.
The only other questions I have are:
What causes the popping when you make a quick jump across the delta counter? My assumption has always been that the jump is being observed and output by the DAC.
and
At exactly what rate do DMC samples get read?
_______________________
The only things certain in life are death and uncertainty.
1. The DAC is not linear. If it were linear, the result would just be what you get when you sum the triangle, noise, and DMC counter. Instead, it is curved with output voltages closer together at high numbers, and further apart at low values. So, when the sum being passed to the DAC is lower, the relative volume is louder, and when it is higher, the volume is softer. Precise formula at the page below:
2. The pop is exactly what you'd expect. When you make a large sudden change to the DMC counter you get a popping noise as the signal voltage suddenly changes.
3. The frequency the DPCM bits are read is listed at that page below. It is the NES CPU frequency (1.789773MHz) divided by one of 16 numbers looked up from a table. It reads 1 bit every time it updates.