aboutsummaryrefslogtreecommitdiff
path: root/libpsn00b/include/psxetc.h
diff options
context:
space:
mode:
Diffstat (limited to 'libpsn00b/include/psxetc.h')
-rw-r--r--libpsn00b/include/psxetc.h35
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);