diff options
Diffstat (limited to 'libpsn00b/include/psxetc.h')
| -rw-r--r-- | libpsn00b/include/psxetc.h | 35 |
1 files changed, 31 insertions, 4 deletions
diff --git a/libpsn00b/include/psxetc.h b/libpsn00b/include/psxetc.h index 24485d9..3b18784 100644 --- a/libpsn00b/include/psxetc.h +++ b/libpsn00b/include/psxetc.h @@ -6,16 +6,43 @@ #ifndef __PSXETC_H #define __PSXETC_H +/* IRQ and DMA channel definitions */ + +typedef enum _IRQ_Channel { + IRQ_VBLANK = 0, + IRQ_GPU = 1, + IRQ_CD = 2, + IRQ_DMA = 3, + IRQ_TIMER0 = 4, + IRQ_TIMER1 = 5, + IRQ_TIMER2 = 6, + IRQ_SIO0 = 7, + IRQ_SIO1 = 8, + IRQ_SPU = 9, + IRQ_GUN = 10, + IRQ_PIO = 10 +} IRQ_Channel; + +typedef enum _DMA_Channel { + DMA_MDEC_IN = 0, + DMA_MDEC_OUT = 1, + DMA_GPU = 2, + DMA_CD = 3, + DMA_SPU = 4, + DMA_PIO = 5, + DMA_OTC = 6 +} DMA_Channel; + /* Public API */ #ifdef __cplusplus extern "C" { #endif -void *InterruptCallback(int irq, void (*func)(void)); -void *GetInterruptCallback(int irq); -void *DMACallback(int dma, void (*func)(void)); -void *GetDMACallback(int dma); +void *InterruptCallback(IRQ_Channel irq, void (*func)(void)); +void *GetInterruptCallback(IRQ_Channel irq); +void *DMACallback(DMA_Channel dma, void (*func)(void)); +void *GetDMACallback(DMA_Channel dma); int ResetCallback(void); void RestartCallback(void); |
