]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/src/games/nes/dat.h
add libemu
[plan9front.git] / sys / src / games / nes / dat.h
index 04e2c504254b2483dedea110216753de119c5bf6..4162f09042dba581bf4c7d56eeff34daf1612d20 100644 (file)
@@ -4,13 +4,16 @@ extern u8int irq, nmi;
 extern uchar mem[32768], ppuram[16384], oam[256];
 extern u16int pput, ppuv;
 extern u8int ppusx, vrambuf;
-extern int mirr, ppux, ppuy, odd, vramlatch, keylatch;
+extern int mirr, ppux, ppuy, odd, vramlatch, keylatch, keylatch2;
 
-extern int map, scale, mmc3hack, oflag;
+extern int map, mmc3hack, oflag;
 extern uchar *prg, *chr;
 extern int nprg, nchr, map, chrram;
 
-extern int keys, clock, ppuclock;
+extern u8int apuseq, apuctr[13];
+extern u16int dmcaddr, dmccnt;
+
+extern int clock, ppuclock, apuclock, dmcclock, dmcfreq, saveclock;
 
 extern void (*mapper[])(int, u8int);
 
@@ -29,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,
@@ -69,8 +78,10 @@ enum {
 
 enum {
        FREQ = 21477272,
-       MILLION = 1000000,
-       BILLION = 1000000000,
+       APUDIV = 89490,
+       RATE = 44100,
+       SAMPDIV = FREQ / RATE,
+       SAVEFREQ = FREQ/5,
 };
 
 enum {
@@ -87,3 +98,9 @@ enum {
        RSTR = -3,
        SCAN = -4,
 };
+
+enum {
+       IRQFRAME = 1,
+       IRQDMC = 2,
+       IRQMMC = 4,
+};