|
Nugget
Bare-metal libraries and examples for the original PlayStation
|
#include <stdint.h>#include "common/hardware/dma.h"#include "common/hardware/hwregs.h"#include "common/hardware/pcsxhw.h"#include "common/hardware/spu.h"#include "common/syscalls/syscalls.h"
Macros | |
| #define | SPU_DELAY (*(volatile uint32_t *)0xbf801014) |
| #define | SPU_ENDX_LOW (*(volatile uint16_t *)0x1f801d9c) |
| #define | LOOP_ADDR 0x1000u |
| #define | LOOP_BLOCKS 4 |
| #define | ONESHOT_ADDR 0x2000u |
| #define | ONESHOT_BLOCKS 16 |
| #define | IRQ_BYTE_ADDR (LOOP_ADDR + 2 * 16) |
| #define | PITCH 0x0400 |
| #define | SPU_CTRL_ENABLE 0x8000u |
| #define | SPU_CTRL_UNMUTE 0x4000u |
| #define | SPU_CTRL_IRQ_ENABLE 0x0040u |
| #define | SPU_STATUS_IRQ_FLAG 0x0040u |
| #define | IRQ_POLL_LIMIT 4000000u |
| #define | ENVX_POLL_LIMIT 4000000u |
Functions | |
| int | main () |
| #define ENVX_POLL_LIMIT 4000000u |
| #define IRQ_BYTE_ADDR (LOOP_ADDR + 2 * 16) |
| #define IRQ_POLL_LIMIT 4000000u |
| #define LOOP_ADDR 0x1000u |
| #define LOOP_BLOCKS 4 |
| #define ONESHOT_ADDR 0x2000u |
| #define ONESHOT_BLOCKS 16 |
| #define PITCH 0x0400 |
| #define SPU_CTRL_ENABLE 0x8000u |
| #define SPU_CTRL_IRQ_ENABLE 0x0040u |
| #define SPU_CTRL_UNMUTE 0x4000u |
| #define SPU_DELAY (*(volatile uint32_t *)0xbf801014) |
| #define SPU_ENDX_LOW (*(volatile uint16_t *)0x1f801d9c) |
| #define SPU_STATUS_IRQ_FLAG 0x0040u |
| int main | ( | void | ) |