pc port works
[gbajam22] / src / pc / intr.c
1 #include <string.h>
2 #include "intr.h"
3
4 static void (*intrfunc[14])(void);
5 static unsigned int intrmask;
6
7 #define IE      0x8000
8
9 void intr_init(void)
10 {
11         memset(intrfunc, 0, sizeof intrfunc);
12 }
13
14 void interrupt(int intr, void (*handler)(void))
15 {
16         intrfunc[intr] = handler;
17 }
18
19 void intr_enable(void)
20 {
21         intrmask |= IE;
22 }
23
24 void intr_disable(void)
25 {
26         intrmask &= ~IE;
27 }
28
29 void mask(int intr)
30 {
31         intrmask &= ~(1 << intr);
32 }
33
34 void unmask(int intr)
35 {
36         intrmask |= 1 << intr;
37 }