plan9fox/sys/src/games/snes/dat.h
2014-03-22 12:50:40 +01:00

85 lines
1.5 KiB
C

typedef signed char s8int;
typedef signed short s16int;
extern u8int rP, dma, nmi, irq, emu, wai;
extern u16int rA, rX, rY, rS, rD, pc;
extern u32int rPB, rDB, curpc, hdma;
extern int trace;
extern uchar *prg, *sram;
extern int nprg, nsram, hirom;
extern u32int keys, keylatch, lastkeys;
extern u8int reg[32768], mem[131072], spcmem[65536], vram[65536], oam[544];
extern u16int cgram[256], vramlatch;
extern u8int mdr, mdr1, mdr2;
extern int ppux, ppuy, rx;
extern u16int vtime, htime, subcolor, oamaddr;
extern u16int hofs[5], vofs[5];
extern s16int m7[6];
extern u8int spcmem[65536], spctimer[4], dsp[256];
extern u8int sA, sX, sY, sP, sS;
extern u16int spc;
extern u8int dspstate;
extern u16int dspcounter, noise;
extern int ppuclock, spcclock, dspclock, stimerclock, cpupause;
extern int battery, saveclock, scale, mouse;
enum {
FLAGC = 1<<0,
FLAGZ = 1<<1,
FLAGI = 1<<2,
FLAGD = 1<<3,
FLAGX = 1<<4,
FLAGM = 1<<5,
FLAGV = 1<<6,
FLAGN = 1<<7,
};
enum {
FREQ = 21477272,
SPCDIV = 21,
SAVEFREQ = FREQ / 4,
XLEFT = 22,
XRIGHT = 22 + 255,
};
enum {
INIDISP = 0x2100,
FORBLANK = 0x80,
OBSEL = 0x2101,
OAMADDH = 0x2103,
BGMODE = 0x2105,
MOSAIC = 0x2106,
M7SEL = 0x211a,
WIN1 = 2,
INVW1 = 1,
WIN2 = 8,
INVW2 = 4,
TM = 0x212c,
TS = 0x212d,
TMW = 0x212e,
TSW = 0x212f,
CGWSEL = 0x2130,
CGADSUB = 0x2131,
DIRCOL = 1,
SETINI = 0x2133,
EXTBG = 1<<6,
OVERSCAN = 1<<2,
AUTOJOY = 1,
NMITIMEN = 0x4200,
MEMSEL = 0x420d,
RDNMI = 0x4210,
VBLANK = 1<<7,
VCNTIRQ = 1<<5,
HCNTIRQ = 1<<4,
};
enum {
IRQPPU = 1<<7,
};