APU register table/DSP global: Difference between revisions

From SNESdev Wiki
Jump to navigationJump to search
(Took the table from the S-SMP page, updated to match MMIO_register_table, added different register names and links)
 
(Change the 'S' signed bits to 'V'. The signed PPU registers table does not use S bits.)
 
(4 intermediate revisions by the same user not shown)
Line 13: Line 13:
</noinclude>
</noinclude>


! [[S-DSP Registers#MVOL|MVOLL]]
! [[S-DSP registers#MVOL|MVOLL]]
! MVOL (L)
! MVOL (L)
! $0C
! $0C
| style="text-align: right" | <tt style="white-space: nowrap">SVVV VVVV</tt>
| style="text-align: right" | <tt style="white-space: nowrap">VVVV VVVV</tt>
| RW
| RW
| Left channel main volume, signed.
| Left channel main volume, signed.
|-
|-
! [[S-DSP Registers#MVOL|MVOLR]]
! [[S-DSP registers#MVOL|MVOLR]]
! MVOL (R)
! MVOL (R)
! $1C
! $1C
| style="text-align: right" | <tt style="white-space: nowrap">SVVV VVVV</tt>
| style="text-align: right" | <tt style="white-space: nowrap">VVVV VVVV</tt>
| RW
| RW
| Right channel main volume, signed.
| Right channel main volume, signed.
|-
|-
! [[S-DSP Registers#EVOL|EVOLL]]
! [[S-DSP registers#EVOL|EVOLL]]
! EVOL (L)
! EVOL (L)
! $2C
! $2C
| style="text-align: right" | <tt style="white-space: nowrap">SVVV VVVV</tt>
| style="text-align: right" | <tt style="white-space: nowrap">VVVV VVVV</tt>
| RW
| RW
| Left channel echo volume, signed.
| Left channel echo volume, signed.
|-
|-
! [[S-DSP Registers#EVOL|EVOLR]]
! [[S-DSP registers#EVOL|EVOLR]]
! EVOL (R)
! EVOL (R)
! $3C
! $3C
| style="text-align: right" | <tt style="white-space: nowrap">SVVV VVVV</tt>
| style="text-align: right" | <tt style="white-space: nowrap">VVVV VVVV</tt>
| RW
| RW
| Right channel main volume, signed.
| Right channel main volume, signed.
|-
|-
! [[S-DSP Registers#KON|KON]]
! [[S-DSP registers#KON|KON]]
!
!
! $4C
! $4C
Line 48: Line 48:
| Key on. Writing this with any bit set will start a new note for the corresponding voice.
| Key on. Writing this with any bit set will start a new note for the corresponding voice.
|-
|-
! [[S-DSP Registers#KOFF|KOFF]]
! [[S-DSP registers#KOFF|KOFF]]
! KOF
! KOF
! $5C
! $5C
Line 55: Line 55:
| Key off. Writing this with any bit set will put the corresponding voice into its release state.
| Key off. Writing this with any bit set will put the corresponding voice into its release state.
|-
|-
! [[S-DSP Registers#FLG|FLG]]
! [[S-DSP registers#FLG|FLG]]
!
!
! $6C
! $6C
Line 62: Line 62:
| Flags: soft reset (R), mute all (M), echo disable (E), noise frequency (N).
| Flags: soft reset (R), mute all (M), echo disable (E), noise frequency (N).
|-
|-
! [[S-DSP Registers#ENDX|ENDX]]
! [[S-DSP registers#ENDX|ENDX]]
!
!
! $7C
! $7C
Line 69: Line 69:
| Read for end of sample flag for each channel.
| Read for end of sample flag for each channel.
|-
|-
! [[S-DSP Registers#EFB|EFB]]
! [[S-DSP registers#EFB|EFB]]
!
!
! $0D
! $0D
| style="text-align: right" | <tt style="white-space: nowrap">SVVV VVVV</tt>
| style="text-align: right" | <tt style="white-space: nowrap">VVVV VVVV</tt>
| RW
| RW
| Echo feedback, signed.
| Echo feedback, signed.
Line 83: Line 83:
| Unused.
| Unused.
|-
|-
! [[S-DSP Registers#PMON|PMON]]
! [[S-DSP registers#PMON|PMON]]
!
!
! $2D
! $2D
Line 90: Line 90:
| Enables pitch modulation for each channel, controlled by OUTX of the next lower channel.
| Enables pitch modulation for each channel, controlled by OUTX of the next lower channel.
|-
|-
! [[S-DSP Registers#NON|NON]]
! [[S-DSP registers#NON|NON]]
!
!
! $3D
! $3D
Line 97: Line 97:
| For each channel, replaces the sample waveform with the noise generator output.
| For each channel, replaces the sample waveform with the noise generator output.
|-
|-
! [[S-DSP Registers#EON|EON]]
! [[S-DSP registers#EON|EON]]
!
!
! $4D
! $4D
Line 104: Line 104:
| For each channel, sends to the echo unit.
| For each channel, sends to the echo unit.
|-
|-
! [[S-DSP Registers#DIR|DIR]]
! [[S-DSP registers#DIR|DIR]]
!
!
! $5D
! $5D
Line 111: Line 111:
| Pointer to the sample source directory page at $DD00.
| Pointer to the sample source directory page at $DD00.
|-
|-
! [[S-DSP Registers#ESA|ESA]]
! [[S-DSP registers#ESA|ESA]]
!
!
! $6D
! $6D
Line 118: Line 118:
| Pointer to the start of the echo memory region at $EE00.
| Pointer to the start of the echo memory region at $EE00.
|-
|-
! [[S-DSP Registers#EDL|EDL]]
! [[S-DSP registers#EDL|EDL]]
!
!
! $7D
! $7D
Line 125: Line 125:
| Echo delay time (D).
| Echo delay time (D).
|-
|-
! [[S-DSP Registers#FIR|C0]]
! [[S-DSP registers#FIR|FIR0]]
!
! C0
! $0F
! $0F
| style="text-align: right" | <tt style="white-space: nowrap">SVVV VVVV</tt>
| style="text-align: right" | <tt style="white-space: nowrap">VVVV VVVV</tt>
| RW
| RW
| Echo filter coefficient.
| Echo filter coefficient.
|-
|-
! [[S-DSP Registers#FIR|C1]]
! [[S-DSP registers#FIR|FIR1]]
!
! C1
! $1F
! $1F
| style="text-align: right" | <tt style="white-space: nowrap">SVVV VVVV</tt>
| style="text-align: right" | <tt style="white-space: nowrap">VVVV VVVV</tt>
| RW
| RW
| Echo filter coefficient.
| Echo filter coefficient.
|-
|-
! [[S-DSP Registers#FIR|C2]]
! [[S-DSP registers#FIR|FIR2]]
!
! C2
! $2F
! $2F
| style="text-align: right" | <tt style="white-space: nowrap">SVVV VVVV</tt>
| style="text-align: right" | <tt style="white-space: nowrap">VVVV VVVV</tt>
| RW
| RW
| Echo filter coefficient.
| Echo filter coefficient.
|-
|-
! [[S-DSP Registers#FIR|C3]]
! [[S-DSP registers#FIR|FIR3]]
!
! C3
! $3F
! $3F
| style="text-align: right" | <tt style="white-space: nowrap">SVVV VVVV</tt>
| style="text-align: right" | <tt style="white-space: nowrap">VVVV VVVV</tt>
| RW
| RW
| Echo filter coefficient.
| Echo filter coefficient.
|-
|-
! [[S-DSP Registers#FIR|C4]]
! [[S-DSP registers#FIR|FIR4]]
!
! C4
! $4F
! $4F
| style="text-align: right" | <tt style="white-space: nowrap">SVVV VVVV</tt>
| style="text-align: right" | <tt style="white-space: nowrap">VVVV VVVV</tt>
| RW
| RW
| Echo filter coefficient.
| Echo filter coefficient.
|-
|-
! [[S-DSP Registers#FIR|C5]]
! [[S-DSP registers#FIR|FIR5]]
!
! C5
! $5F
! $5F
| style="text-align: right" | <tt style="white-space: nowrap">SVVV VVVV</tt>
| style="text-align: right" | <tt style="white-space: nowrap">VVVV VVVV</tt>
| RW
| RW
| Echo filter coefficient.
| Echo filter coefficient.
|-
|-
! [[S-DSP Registers#FIR|C6]]
! [[S-DSP registers#FIR|FIR6]]
!
! C6
! $6F
! $6F
| style="text-align: right" | <tt style="white-space: nowrap">SVVV VVVV</tt>
| style="text-align: right" | <tt style="white-space: nowrap">VVVV VVVV</tt>
| RW
| RW
| Echo filter coefficient.
| Echo filter coefficient.
|-
|-
! [[S-DSP Registers#FIR|C7]]
! [[S-DSP registers#FIR|FIR7]]
!
! C7
! $7F
! $7F
| style="text-align: right" | <tt style="white-space: nowrap">SVVV VVVV</tt>
| style="text-align: right" | <tt style="white-space: nowrap">VVVV VVVV</tt>
| RW
| RW
| Echo filter coefficient.
| Echo filter coefficient.
|-
<noinclude>
|}
|}
</noinclude>

Latest revision as of 10:26, 10 November 2024

See: APU register table

This table lists the 2 common names for the S-DSP global registers.

Name Address Bits Type Notes
MVOLL MVOL (L) $0C VVVV VVVV RW Left channel main volume, signed.
MVOLR MVOL (R) $1C VVVV VVVV RW Right channel main volume, signed.
EVOLL EVOL (L) $2C VVVV VVVV RW Left channel echo volume, signed.
EVOLR EVOL (R) $3C VVVV VVVV RW Right channel main volume, signed.
KON $4C 7654 3210 RW Key on. Writing this with any bit set will start a new note for the corresponding voice.
KOFF KOF $5C 7654 3210 RW Key off. Writing this with any bit set will put the corresponding voice into its release state.
FLG $6C RMEN NNNN RW Flags: soft reset (R), mute all (M), echo disable (E), noise frequency (N).
ENDX $7C 7654 3210 R Read for end of sample flag for each channel.
EFB $0D VVVV VVVV RW Echo feedback, signed.
- - $1D ---- ---- RW Unused.
PMON $2D 7654 321- RW Enables pitch modulation for each channel, controlled by OUTX of the next lower channel.
NON $3D 7654 3210 RW For each channel, replaces the sample waveform with the noise generator output.
EON $4D 7654 3210 RW For each channel, sends to the echo unit.
DIR $5D DDDD DDDD RW Pointer to the sample source directory page at $DD00.
ESA $6D EEEE EEEE RW Pointer to the start of the echo memory region at $EE00.
EDL $7D ---- DDDD RW Echo delay time (D).
FIR0 C0 $0F VVVV VVVV RW Echo filter coefficient.
FIR1 C1 $1F VVVV VVVV RW Echo filter coefficient.
FIR2 C2 $2F VVVV VVVV RW Echo filter coefficient.
FIR3 C3 $3F VVVV VVVV RW Echo filter coefficient.
FIR4 C4 $4F VVVV VVVV RW Echo filter coefficient.
FIR5 C5 $5F VVVV VVVV RW Echo filter coefficient.
FIR6 C6 $6F VVVV VVVV RW Echo filter coefficient.
FIR7 C7 $7F VVVV VVVV RW Echo filter coefficient.