]> git.lizzy.rs Git - plan9front.git/blob - sys/src/games/nes/dat.h
502c91f798bc77910277f77c3dceb717bc61d978
[plan9front.git] / sys / src / games / nes / dat.h
1 extern u16int pc, curpc;
2 extern u8int rA, rX, rY, rS, rP;
3 extern uchar mem[32768], ppuram[16384], oam[256];
4 extern u16int pput, ppuv;
5 extern u8int ppusx, vrambuf;
6 extern int mirr, ppux, ppuy, odd, vramlatch, keylatch;
7
8 extern int map, scale;
9 extern uchar *prg, *chr;
10 extern int nprg, nchr, nmi, map, chrram;
11
12 extern int keys, clock, ppuclock;
13
14 extern void (*mapper[])(int, u8int);
15
16 enum {
17         FLAGC = 1<<0,
18         FLAGZ = 1<<1,
19         FLAGI = 1<<2,
20         FLAGD = 1<<3,
21         FLAGB = 1<<4,
22         FLAGV = 1<<6,
23         FLAGN = 1<<7
24 };
25
26 enum {
27         PPUCTRL = 0x2000,
28         PPUMASK = 0x2001,
29         PPUSTATUS = 0x2002,
30         PPUSCROLL = 0x2005,
31
32         PPUNMI = 1<<7,
33         BIGSPRITE = 1<<5,
34         BGTABLE = 1<<4,
35         SPRTABLE = 1<<3,
36         VRAMINC = 1<<2,
37
38         GRAYSCALE = 1<<0,
39         BG8DISP = 1<<1,
40         BG8SPRITE = 1<<2,
41         BGDISP = 1<<3,
42         SPRITEDISP = 1<<4,
43
44         PPUVBLANK = 1<<7,
45         SPRITE0HIT = 1<<6,
46 };
47
48 enum {
49         HPRG = 4,
50         HCHR = 5,
51         HRAM = 8,
52         HROMH = 9,
53         
54         FLMIRROR = 1<<0,
55         FLBAT = 1<<1,
56         FLTRAINER = 1<<2,
57         FLFOUR = 1<<3,
58         FLMAPPERL = 4,
59         FLMAPPERH = 12,
60         FLNES20M = 3<<10,
61         FLNES20V = 2<<10,
62         FLPC10 = 1<<9,
63         FLVS = 1<<8,
64         
65         PRGSZ = 1<<14,
66         CHRSZ = 1<<13,
67 };
68
69 enum {
70         FREQ = 21477272,
71         MILLION = 1000000,
72         BILLION = 1000000000,
73 };
74
75 enum {
76         MHORZ,
77         MVERT,
78         MSINGA,
79         MSINGB,
80         MFOUR
81 };
82
83 enum {
84         INIT = -1,
85         SAVE = -2,
86         RSTR = -3,
87 };