]> git.lizzy.rs Git - plan9front.git/blob - sys/src/games/c64/dat.h
f8f1de1ce93aa66e9f7c06af8ab8eb9de45628a7
[plan9front.git] / sys / src / games / c64 / dat.h
1 typedef char s8int;
2
3 extern u8int reg[47], crom[4096], krom[8192], brom[8192], cram[1024], cart[16384];
4
5 extern u16int pc, curpc;
6 extern u8int rP;
7 extern int nrdy, irq, nmi, irqen, nmien, trace;
8
9 extern u8int pla;
10
11 extern uchar *tape, tapever, tapeplay;
12 extern ulong tapelen;
13
14 extern u16int ppux, ppuy, picw, pich;
15 extern u64int keys;
16 extern u16int joys;
17 extern int scale, region;
18
19 enum {
20         FLAGC = 1<<0,
21         FLAGZ = 1<<1,
22         FLAGI = 1<<2,
23         FLAGD = 1<<3,
24         FLAGB = 1<<4,
25         FLAGV = 1<<6,
26         FLAGN = 1<<7,
27 };
28
29 enum {
30         IRQRASTER = 1<<0,
31         IRQBGCOLL = 1<<1,
32         IRQSPRCOLL = 1<<2,
33         IRQLIGHT = 1<<3,
34         IRQTIMERA = 1<<4,
35         IRQTIMERB = 1<<5,
36         IRQTOD = 1<<6,
37         IRQSDR = 1<<7,
38         IRQFLAG = 1<<8,
39         IRQRESTORE = 1<<9,
40 };
41
42 enum{
43         MSBX = 0x10,
44         CTRL1 = 0x11,
45         RASTER = 0x12,
46         SPREN = 0x15,
47         CTRL2 = 0x16,
48         SPRYE = 0x17,
49         MEMP = 0x18,
50         IRQLATCH = 0x19,
51         IRQEN = 0x1a,
52         SPRDP = 0x1b,
53         SPRMC = 0x1c,
54         SPRXE = 0x1d,
55         SPRSPR = 0x1e,
56         SPRBG = 0x1f,
57         EC = 0x20,
58         BG0 = 0x21,
59         BG1 = 0x22,
60         BG2 = 0x23,
61         BG3 = 0x24,
62         SPRMC0 = 0x25,
63         SPRMC1 = 0x26,
64         SPRCOL = 0x27
65 };
66
67 enum {
68         LORAM = 1,
69         HIRAM = 2,
70         CHAREN = 4,
71         GAME = 8,
72         EXROM = 16,
73         
74         ECM = 0x40,
75         BMM = 0x20,
76         DEN = 0x10,
77         RSEL = 0x08,
78         CSEL = 0x08,
79         
80         MCM = 0x10,
81 };
82
83 enum {
84         BILLION = 1000*1000*1000,
85         MILLION = 1000*1000,
86         HZ = 3579545,
87         RATE = 44100,
88         SAMPDIV = HZ / 3 / RATE,
89 };
90
91 enum {
92         NTSC,
93         NTSC0,
94         PAL
95 };