OpenSNES
Modern Open-Source SNES Development SDK
Loading...
Searching...
No Matches
main.c File Reference

Family 8 (Audio) · rung 8.9 — echo / reverb from the S-DSP. More...

#include <snes.h>
#include <snes/audio.h>
#include <snes/input.h>

Macros

#define SMP_POP   0
 Sample slot for the pop.

Functions

int main (void)

Variables

u8 brr_pop []
 A short percussive "pop" one-shot (data.asm; shared with soundboard).
u8 brr_pop_end []

Detailed Description

Family 8 (Audio) · rung 8.9 — echo / reverb from the S-DSP.

Isolates one lesson the soundboard buries among many: the S-DSP's hardware echo unit. A short "pop" fires on a timer; the echo turns each pop into a decaying tail. Press START to toggle echo off and on — that A/B is the point, because you cannot hear reverb without the dry sound next to it.

SNES Concepts
  • audioSetEcho(delay, feedback, volL, volR) sizes the echo ring and sets how long the tail rings (feedback) and how loud the wet signal is — call it BEFORE enabling
  • audioSetEchoFilter(fir[8]) is the 8-tap FIR on the echo path; tap 0 = 127 passes the echo straight through
  • audioEnableEcho(voiceMask) routes voices into the echo; audioDisableEcho() turns it off
  • Echo costs ARAM — the ring buffer is real memory, sized by the delay
What to Observe
  • A pop roughly twice a second with a reverb tail; press START and the tail vanishes (dry), press again and the hall returns. The backdrop tints purple (wet) vs grey (dry).
Modules Used
console, audio, input
See also
audio.h (audioSetEcho / audioEnableEcho), audio/soundboard

Macro Definition Documentation

◆ SMP_POP

#define SMP_POP   0

Sample slot for the pop.

Function Documentation

◆ main()

int main ( void )

Variable Documentation

◆ brr_pop

u8 brr_pop[]
extern

A short percussive "pop" one-shot (data.asm; shared with soundboard).

◆ brr_pop_end

u8 brr_pop_end[]