|
Nugget
Bare-metal libraries and examples for the original PlayStation
|
#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"#include <stdint.h>
Macros | |
| #define | SPU_DELAY (*(volatile uint32_t *)0xbf801014) |
| #define | SPU_UPLOAD_ADDR 0x1080u |
| #define | ATTACK(step, shift, exp) ((((step) & 3) << 8) | (((shift) & 31) << 10) | (!!(exp) << 15)) |
| #define | DECAY(shift) (((shift) & 15) << 4) |
| #define | SUSTAIN(step, shift, level, direction, exp) |
| #define | RELEASE(shift, exp) ((((shift) & 31) << 16) | (!!(exp) << 21)) |
| #define | DRAIN_MAX_TICKS 16 |
| #define | ONSET_MAX_SPINS 2000000 |
| #define | NSAMP 32 |
Functions | |
| __attribute__ ((noinline)) | |
| int | main () |
| #define ATTACK | ( | step, | |
| shift, | |||
| exp | |||
| ) | ((((step) & 3) << 8) | (((shift) & 31) << 10) | (!!(exp) << 15)) |
| #define DECAY | ( | shift | ) | (((shift) & 15) << 4) |
| #define DRAIN_MAX_TICKS 16 |
| #define NSAMP 32 |
| #define ONSET_MAX_SPINS 2000000 |
| #define RELEASE | ( | shift, | |
| exp | |||
| ) | ((((shift) & 31) << 16) | (!!(exp) << 21)) |
| #define SPU_UPLOAD_ADDR 0x1080u |
| #define SUSTAIN | ( | step, | |
| shift, | |||
| level, | |||
| direction, | |||
| exp | |||
| ) |
| __attribute__ | ( | (noinline) | ) |