]> 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 0dee8f83bb2834b7992864c424362513a9214f35..4f774dfe3a6992f9299c2d9795ea690b5bcf1946 100644 (file)
@@ -6,11 +6,14 @@ extern u16int pput, ppuv;
 extern u8int ppusx, vrambuf;
 extern int mirr, ppux, ppuy, odd, vramlatch, keylatch;
 
-extern int map, scale, mmc3hack;
+extern int map, scale, 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 keys, clock, ppuclock, apuclock, dmcclock, dmcfreq, saveclock, paused;
 
 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,
@@ -71,6 +80,10 @@ enum {
        FREQ = 21477272,
        MILLION = 1000000,
        BILLION = 1000000000,
+       APUDIV = 89490,
+       RATE = 44100,
+       SAMPDIV = FREQ / RATE,
+       SAVEFREQ = FREQ/5,
 };
 
 enum {
@@ -87,3 +100,9 @@ enum {
        RSTR = -3,
        SCAN = -4,
 };
+
+enum {
+       IRQFRAME = 1,
+       IRQDMC = 2,
+       IRQMMC = 4,
+};