]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/src/games/nes/dat.h
games/nes: it's too late to write code
[plan9front.git] / sys / src / games / nes / dat.h
index d8f0da025e63442e727428254d23d98090ab4235..4f774dfe3a6992f9299c2d9795ea690b5bcf1946 100644 (file)
@@ -1,9 +1,21 @@
 extern u16int pc, curpc;
 extern u8int rA, rX, rY, rS, rP;
-extern uchar mem[32768];
-extern int scale;
+extern u8int irq, nmi;
+extern uchar mem[32768], ppuram[16384], oam[256];
 extern u16int pput, ppuv;
-extern u8int ppusx;
+extern u8int ppusx, vrambuf;
+extern int mirr, ppux, ppuy, odd, vramlatch, keylatch;
+
+extern int map, scale, mmc3hack, oflag;
+extern uchar *prg, *chr;
+extern int nprg, nchr, map, chrram;
+
+extern u8int apuseq, apuctr[13];
+extern u16int dmcaddr, dmccnt;
+
+extern int keys, clock, ppuclock, apuclock, dmcclock, dmcfreq, saveclock, paused;
+
+extern void (*mapper[])(int, u8int);
 
 enum {
        FLAGC = 1<<0,
@@ -20,6 +32,12 @@ enum {
        PPUMASK = 0x2001,
        PPUSTATUS = 0x2002,
        PPUSCROLL = 0x2005,
+       DMCCTRL = 0x4010,
+       DMCBUF = 0x4011,
+       DMCADDR = 0x4012,
+       DMCLEN = 0x4013,
+       APUSTATUS = 0x4015,
+       APUFRAME = 0x4017,
 
        PPUNMI = 1<<7,
        BIGSPRITE = 1<<5,
@@ -29,7 +47,7 @@ enum {
 
        GRAYSCALE = 1<<0,
        BG8DISP = 1<<1,
-       BG8SPRITE = 1<<2,
+       SPRITE8DISP = 1<<2,
        BGDISP = 1<<3,
        SPRITEDISP = 1<<4,
 
@@ -62,6 +80,10 @@ enum {
        FREQ = 21477272,
        MILLION = 1000000,
        BILLION = 1000000000,
+       APUDIV = 89490,
+       RATE = 44100,
+       SAMPDIV = FREQ / RATE,
+       SAVEFREQ = FREQ/5,
 };
 
 enum {
@@ -71,3 +93,16 @@ enum {
        MSINGB,
        MFOUR
 };
+
+enum {
+       INIT = -1,
+       SAVE = -2,
+       RSTR = -3,
+       SCAN = -4,
+};
+
+enum {
+       IRQFRAME = 1,
+       IRQDMC = 2,
+       IRQMMC = 4,
+};