Quantcast
Channel: nesdev.org
Viewing all articles
Browse latest Browse all 746

DAC and internal sound logic of RP2C33

$
0
0
According to the modified die shot, the DAC of RP2C33 is mainly 2-2R ladder, with analog volume control adding grounding resistors.
modified die-shot (shortening long resistors)
equivalent circuit
For my 37 samples, the output impedance of FDS DAC is about 12K.
 Use a multi-meter to measure resistance from sound pin to ground to get 7R.
 The result is minimum 9.7K, maximum 17.2K, more unprecise than N163.
The analog volume register ($4089) controls 2 grounding MOS, making output 5V/12K, 3.33V/8K, 2.5V/6K and 2V/4.8K.
 The change of impedance affects the final output voltage not to be 2:3:4:5, also it affects fT of RC filter.
 I think that's the reason why FDS use resistors as big as 125/205, to make the DAC impedance change trivial.

For digital volume register ($4080), it controls an output PWM of 32 M2 clocks executing independently from what is playing, masking output to 0x00 on idle.
 That's the reason why max volume is 32, 32/32 is full PWM.
 Also it means 0x00 is the default voltage of FDS, the logical range of FDS sound is 0.0~1.0.
  If the wavetable is a sine wave, it contains DC component of 0x20, which makes pop noise when volume get changed.

Currently I don't know what the XTAL doing to the sound, but for FDS module (with default XTAL), it has a lower frequency limit for M2 of about 120kHz.
 The sound frequency becomes unstable when I lower the M2 frequency to 100kHz and lower.
 Also the FDS module refuses write on such low frequency just like over-overclocked N163, which means single-step execution is impossible.

Statistics: Posted by Yuri213212 — Fri Apr 19, 2024 9:24 am — Replies 0 — Views 118



Viewing all articles
Browse latest Browse all 746

Trending Articles