]> git.lizzy.rs Git - plan9front.git/blob - sys/src/games/gb/dat.h
games/nes: cleanup and resize handling
[plan9front.git] / sys / src / games / gb / dat.h
1 extern u16int pc, curpc, sp;
2 extern u8int R[8], Fl;
3 extern int halt, IME, keys;
4 extern int clock, ppuclock, divclock, timerclock, timerfreq, timer;
5 extern int rombank, rambank, ramen, battery, ramrom;
6
7 extern uchar mem[], *ram;
8
9 extern uchar *cart;
10 extern int mbc, rombanks, rambanks;
11
12 extern int scale;
13
14 enum {
15         rB,
16         rC,
17         rD,
18         rE,
19         rH,
20         rL,
21         rHL,
22         rA
23 };
24
25 enum {
26         FLAGC = 0x10,
27         FLAGH = 0x20,
28         FLAGN = 0x40,
29         FLAGZ = 0x80,
30 };
31
32 enum {
33         /* interrupt types */
34         INTVBLANK  = 0,
35         INTLCDC    = 1,
36         INTTIMER   = 2,
37         INTSIO     = 3,
38         INTIRQ     = 4,
39
40         /* I/O registers */
41         DIV   = 0xFF04,
42         TIMA  = 0xFF05,
43         TMA   = 0xFF06,
44         TAC   = 0xFF07,
45         LY    = 0xFF44,
46         LCDC  = 0xFF40,
47         STAT  = 0xFF41,
48         SCY   = 0xFF42,
49         SCX   = 0xFF43,
50         LYC   = 0xFF45,
51         BGP   = 0xFF47,
52         OBP0  = 0xFF48,
53         OBP1  = 0xFF49,
54         WY    = 0xFF4A,
55         WX    = 0xFF4B,
56
57         /* LCDC */
58         BGDISP      = 1,
59         SPRITEDISP  = 2,
60         SPRITE16    = 4,
61         BGTILEMAP   = 8,
62         BGTILEDATA  = 16,
63         WINDOWDISP  = 32,
64         WINDOWTILEMAP  = 64,
65         LCDOP       = 128,
66
67         /* LCD STAT */
68         MODEHBLANK  = 0,
69         MODEVBLANK  = 1,
70         MODEOAM     = 2,
71         MODELCD     = 3,
72         
73         /* others */
74         IF      = 0xFF0F,
75         IE      = 0xFFFF,
76         CPUFREQ = 4194304,
77         
78         MILLION = 1000000,
79         BILLION = 1000000000,
80 };