Nugget
Bare-metal libraries and examples for the original PlayStation
Loading...
Searching...
No Matches
Classes | Macros | Functions
spu.c File Reference
#include "common/hardware/dma.h"
#include "common/hardware/hwregs.h"
#include "common/hardware/spu.h"
#include "common/kernel/pcdrv.h"
#include "common/syscalls/syscalls.h"
#include <stdint.h>
#include "exotic/cester.h"
#include "spu-transfer.c"
#include "spu-adpcm.c"
#include "spu-adpcm-edge.c"
#include "spu-capture.c"
#include "spu-adsr.c"
#include "spu-adsr-edge.c"
#include "spu-irq.c"
#include "spu-reverb.c"
Include dependency graph for spu.c:

Classes

struct  PcmTestHeader
 

Macros

#define SPU_TEST_STORAGE_DEFINED
 
#define CESTER_NO_SIGNAL
 
#define CESTER_NO_TIME
 
#define EXIT_SUCCESS   0
 
#define EXIT_FAILURE   1
 
#define PCSX_TESTS   0
 
#define CESTER_MAYBE_TEST   CESTER_TEST
 
#define SPU_TEST_HELPERS_DEFINED
 
#define INCLUDE_PCM(NAME)
 
#define SPU_DELAY   (*(volatile uint32_t *)0xbf801014)
 
#define SPU_UPLOAD_ADDR   0x1080
 
#define SPU_ONSET_SKIP   15
 
#define SPU_ASSERT_GOLDEN(name)    cester_assert_int_eq(0, spu_compare_golden(#name, s_capture, name))
 

Functions

 INCLUDE_PCM (silent)
 
 INCLUDE_PCM (sine_low)
 
 INCLUDE_PCM (sine)
 
 INCLUDE_PCM (sine_high)
 
 INCLUDE_PCM (sine_pitch_0800)
 
 INCLUDE_PCM (sine_pitch_2000)
 
 INCLUDE_PCM (sine_pitch_3000)
 
 INCLUDE_PCM (sine_pitch_1500)
 
 INCLUDE_PCM (sine_pitch_1400)
 
 INCLUDE_PCM (sine7_pitch_1300)
 
 INCLUDE_PCM (triangle)
 
 INCLUDE_PCM (square)
 
 INCLUDE_PCM (loop_t0)
 
 INCLUDE_PCM (loop_t1)
 
 __attribute__ ((noinline))
 

Macro Definition Documentation

◆ CESTER_MAYBE_TEST

#define CESTER_MAYBE_TEST   CESTER_TEST

◆ CESTER_NO_SIGNAL

#define CESTER_NO_SIGNAL

◆ CESTER_NO_TIME

#define CESTER_NO_TIME

◆ EXIT_FAILURE

#define EXIT_FAILURE   1

◆ EXIT_SUCCESS

#define EXIT_SUCCESS   0

◆ INCLUDE_PCM

#define INCLUDE_PCM (   NAME)
Value:
asm( \
".pushsection .rodata\n" \
".global " #NAME "\n" \
".align 2\n" \
#NAME ":\n" \
".incbin \"" #NAME ".test.pcm\"\n"\
".popsection"); \
extern const uint8_t NAME[]

◆ PCSX_TESTS

#define PCSX_TESTS   0

◆ SPU_ASSERT_GOLDEN

#define SPU_ASSERT_GOLDEN (   name)     cester_assert_int_eq(0, spu_compare_golden(#name, s_capture, name))

◆ SPU_DELAY

#define SPU_DELAY   (*(volatile uint32_t *)0xbf801014)

◆ SPU_ONSET_SKIP

#define SPU_ONSET_SKIP   15

◆ SPU_TEST_HELPERS_DEFINED

#define SPU_TEST_HELPERS_DEFINED

◆ SPU_TEST_STORAGE_DEFINED

#define SPU_TEST_STORAGE_DEFINED

◆ SPU_UPLOAD_ADDR

#define SPU_UPLOAD_ADDR   0x1080

Function Documentation

◆ __attribute__()

__attribute__ ( (noinline)  )

◆ INCLUDE_PCM() [1/14]

INCLUDE_PCM ( loop_t0  )

◆ INCLUDE_PCM() [2/14]

INCLUDE_PCM ( loop_t1  )

◆ INCLUDE_PCM() [3/14]

INCLUDE_PCM ( silent  )

◆ INCLUDE_PCM() [4/14]

INCLUDE_PCM ( sine  )

◆ INCLUDE_PCM() [5/14]

INCLUDE_PCM ( sine7_pitch_1300  )

◆ INCLUDE_PCM() [6/14]

INCLUDE_PCM ( sine_high  )

◆ INCLUDE_PCM() [7/14]

INCLUDE_PCM ( sine_low  )

◆ INCLUDE_PCM() [8/14]

INCLUDE_PCM ( sine_pitch_0800  )

◆ INCLUDE_PCM() [9/14]

INCLUDE_PCM ( sine_pitch_1400  )

◆ INCLUDE_PCM() [10/14]

INCLUDE_PCM ( sine_pitch_1500  )

◆ INCLUDE_PCM() [11/14]

INCLUDE_PCM ( sine_pitch_2000  )

◆ INCLUDE_PCM() [12/14]

INCLUDE_PCM ( sine_pitch_3000  )

◆ INCLUDE_PCM() [13/14]

INCLUDE_PCM ( square  )

◆ INCLUDE_PCM() [14/14]

INCLUDE_PCM ( triangle  )