#ifndef PSXREGS_H_
#define PSXREGS_H_
+#include <stdint.h>
+
+#define INTR_VEC (*(volatile uint32_t*)0x80000080)
+
#define REG_BASE 0x1f800000
-#define REGPTR32(x) (*(volatile unsigned long*)(REG_BASE | (x)))
-#define REGPTR16(x) (*(volatile unsigned short*)(REG_BASE | (x)))
+#define REGPTR32(x) (*(volatile uint32_t*)(REG_BASE | (x)))
+#define REGPTR16(x) (*(volatile uint16_t*)(REG_BASE | (x)))
/* --- GPU --- */
#define REGN_GP0 0x1810
#define REG_IMASK REGPTR32(REGN_IMASK)
enum {
- IRQ_VBLANK = 0x0001,
- IRQ_GPU = 0x0002,
- IRQ_CDROM = 0x0004,
- IRQ_DMA = 0x0008,
- IRQ_TIMER0 = 0x0010,
- IRQ_TIMER1 = 0x0020,
- IRQ_TIMER2 = 0x0040,
- IRQ_JOYMC = 0x0080,
- IRQ_SIO = 0x0100,
- IRQ_SPU = 0x0200,
- IRQ_LPEN = 0x0400
+ IRQ_VBLANK,
+ IRQ_GPU,
+ IRQ_CDROM,
+ IRQ_DMA,
+ IRQ_TIMER0, IRQ_TIMER1, IRQ_TIMER2,
+ IRQ_JOYMC,
+ IRQ_SIO,
+ IRQ_SPU,
+ IRQ_LPEN
};
#define GPCMD(cmd) ((cmd) << 24)