We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS
S-DSP: Difference between revisions
From SnesLab
(linkify DIR) |
(linkify ENDX) |
||
Line 44: | Line 44: | ||
| 6C || FLG | | 6C || FLG | ||
|- | |- | ||
| 7C || | | 7C || ∴[[ENDX]] | ||
|- | |- | ||
| 0D || EFB | | 0D || EFB |
Revision as of 06:27, 13 July 2024
The S-DSP is the digital signal processor. It produces audio for the DAC and is controlled by the S-SMP. It is clocked by X2.
It has 128 registers (DSPRAM) that can be manipulated by the S-SMP, some of which serve no hard-wired purpose and can be used as general-purpose RAM. Registers with a ∴ before their name are written to by the S-DSP itself during active processing. Here are some of 128:
Address | Register |
---|---|
00 | VOL (L) |
01 | VOL (R) |
02 | P (L) |
03 | P (H) |
04 | SRCN |
05 | ADSR (1) |
06 | ADSR (2) |
07 | GAIN |
08 | ∴ENVX |
09 | ∴OUTX |
0C | MVOL (L) |
1C | MVOL (R) |
2C | EVOL (L) |
3C | EVOL (R) |
4C | KON |
5C | KOF |
6C | FLG |
7C | ∴ENDX |
0D | EFB |
1D | --- |
2D | PMON |
3D | NON |
4D | EON |
5D | DIR |
6D | ESA |
7D | EDL |
xE | --- |
Many of the 128 registers appear to not be used by the S-DSP directly, but get copied to internal registers the S-SMP does not have access to. The highest sound frequency that the S-DSP can produce is 16kHz, because of the 32kHz rate that sample-points are output. [1]
References
- https://problemkaputt.de/fullsnes.htm#snesapudspbrrpitch
- page 3-7-1 of Book II of the official Super Nintendo development manual