Originally posted by SanDRocK
I've read like 10 dif real psx spec pages and all of them sayed the real psx dones not support reverb
reverb is just to increase sound quality in emulators
Well, re-read them, or read ones that are correct

Notice all references to "reverb" in the following:-
The Sound Buffer
Memory layout:
$00000-$003ff CD audio left
$00400-$007ff CD audio right
$00800-$00bff Voice 1
$00c00-$00fff Voice 3
$01000-$0100f System area.
$01008-$xxxxx Sound data area.
$0xxxx-$7ffff Reverb work area.
-------------------------------------------------------------
$1f801d84 Reverberation depth left
$1f801d86 Reverberation depth right
bit |0f|0e 0d 0c 0b 0a 09 08 07 06 05 04 03 02 01 00|
desc.|P |Rvd |
-------------------------------------------------------------
$1f801d98 Channel Reverb mode (0-15)
$1f801d9a Channel Reverb mode (16-23)
Sets reverb for the channel. As soon as the sample ends, the
reverb for that channel is turned off.
-------------------------------------------------------------
$1f801da2 Reverb work area start
bit |0f 0e 0d 0c 0b 0a 09 08 07 06 05 04 03 02 01 00|
desc.|Revwa |
Revwa $0000-$ffff Reverb work area start in sound buffer /8
-------------------------------------------------------------
$1f801daa SPU control sp0
bit |0f|0e|0d 0c 0b 0a 09 08|07|06 |05 04|03|02|01|00|
desc.|En|Mu|Noise |Rv|Irq|DMA |Er|Cr|Ee|Ce|
En 0 SPU off
1 SPU on
Mu 0 Mute SPU
1 Unmute SPU
Noise Noise clock frequency
Rv 0 Reverb Disabled
1 Reverb Enabled
Irq 0 Irq disabled
1 Irq enabled
DMA 00
01 Non DMA write? (transfer through data reg)
10 DMA Write
11 DMA Read
Er 0 Reverb for external off
1 Reverb for external on
Cr 0 Reverb for CD off
1 Reverb for CD on
Ee 0 External audio off
1 External audio on
Ce 0 CD audio off
1 CD audio on
-------------------------------------------------------------
1dc0-1dff Reverb configuration area
$1f801dc0
$1f801dc2
$1f801dc4 Lowpass Filter Frequency. 7fff = max value= no filtering
$1f801dc6 Effect volume 0 - $7fff, bit 15 = phase.
$1f801dc8
$1f801dca
$1f801dcc
$1f801dce Feedback
$1f801dd0
$1f801dd2
$1f801dd4 Delaytime(see below)
$1f801dd6 Delaytime(see below)
$1f801dd8 Delaytime(see below)
$1f801dda
$1f801ddc
$1f801dde
$1f801de0 Delaytime(see below)
$1f801de2
$1f801de4
$1f801de6
$1f801de8
$1f801dea
$1f801dec
$1f801dee
$1f801df0
$1f801df2
$1f801df4 Delaytime
$1f801df6 Delaytime
$1f801df8
$1f801dfa
$1f801dfc
$1f801dfe
--------------------------------------------------------------------------
Reverb
--------------------------------------------------------------------------
The SPU is equipped with an effect processor for reverb echo and delay type
of effects. This effect processor can do one effect at a time, and for each
voice you can specify wether it should have the effect applied or not.
The effect is setup by initializing the registers $1dc0 to $1ffe to the
desired effect. I do not exactly know how these work, but you can use
the presets below.
The effect processor needs a bit of sound buffer memory to perform it's
calculations. The size of this depends on the effect type. For the presets
the sizes are:
Reverb off $00000 Hall $0ade0
Room $026c0 Space echo $0f6c0
Studio small $01f40 Echo $18040
Studio medium $04840 Delay $18040
Studio large $06fe0 Half echo $03c00
The location at which the work area is location is set in register $1da2
and it's value is the location in the sound buffer divided by eight. Common
values are as follows:
Reverb off $FFFE Hall $EA44
Room $FB28 Space echo $E128
Studio small $FC18 Echo $CFF8
Studio medium $F6F8 Delay $CFF8
Studio large $F204 Half echo $F880
For the delay and echo effects (not space echo or half echo) you can
specify the delay time, and feedback. (range 0-127) Calculations are shown
below.
When you setup up a new reverb effect, take the following steps:
-Turn off the reverb (bit 7 in sp0)
-Set Depth to 0
-First make delay & feedback calculations.
-Copy the preset to the effect registers
-Turn on the reverb
-Set Depth to desired value.
Also make sure there is the reverb work area is cleared, else you might get
some unwanted noise.
To use the effect on a voice, simple turn on the corresponing bit in the
channel reverb registers. Note that these get turned off autmatically when
the sample for the channel ends.
All snippets from :-
--------------------------------------------------------------------------
[email protected] <- corrections/additions latest update -> psx.rules.org
--------------------------------------------------------------------------