]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/src/games/nes/dat.h
add libemu
[plan9front.git] / sys / src / games / nes / dat.h
index b7f1cc887b370ab6a6713c4538ac7aa1db17a76d..4162f09042dba581bf4c7d56eeff34daf1612d20 100644 (file)
@@ -1,15 +1,21 @@
 extern u16int pc, curpc;
 extern u8int rA, rX, rY, rS, rP;
+extern u8int irq, nmi;
 extern uchar mem[32768], ppuram[16384], oam[256];
 extern u16int pput, ppuv;
-extern u8int ppusx;
-extern int mirr;
+extern u8int ppusx, vrambuf;
+extern int mirr, ppux, ppuy, odd, vramlatch, keylatch, keylatch2;
 
-extern int map, scale;
+extern int map, mmc3hack, oflag;
 extern uchar *prg, *chr;
-extern int nprg, nchr, nmi, map;
+extern int nprg, nchr, map, chrram;
 
-extern int keys;
+extern u8int apuseq, apuctr[13];
+extern u16int dmcaddr, dmccnt;
+
+extern int clock, ppuclock, apuclock, dmcclock, dmcfreq, saveclock;
+
+extern void (*mapper[])(int, u8int);
 
 enum {
        FLAGC = 1<<0,
@@ -26,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,
@@ -35,7 +47,7 @@ enum {
 
        GRAYSCALE = 1<<0,
        BG8DISP = 1<<1,
-       BG8SPRITE = 1<<2,
+       SPRITE8DISP = 1<<2,
        BGDISP = 1<<3,
        SPRITEDISP = 1<<4,
 
@@ -66,8 +78,10 @@ enum {
 
 enum {
        FREQ = 21477272,
-       MILLION = 1000000,
-       BILLION = 1000000000,
+       APUDIV = 89490,
+       RATE = 44100,
+       SAMPDIV = FREQ / RATE,
+       SAVEFREQ = FREQ/5,
 };
 
 enum {
@@ -77,3 +91,16 @@ enum {
        MSINGB,
        MFOUR
 };
+
+enum {
+       INIT = -1,
+       SAVE = -2,
+       RSTR = -3,
+       SCAN = -4,
+};
+
+enum {
+       IRQFRAME = 1,
+       IRQDMC = 2,
+       IRQMMC = 4,
+};