2014-03-17 17:56:00 +00:00
|
|
|
typedef signed char s8int;
|
|
|
|
typedef signed short s16int;
|
|
|
|
|
2014-03-21 09:53:33 +00:00
|
|
|
extern u8int rP, dma, nmi, irq, emu, wai;
|
|
|
|
extern u16int rA, rX, rY, rS, rD, pc;
|
|
|
|
extern u32int rPB, rDB, curpc, hdma;
|
2014-03-13 19:07:36 +00:00
|
|
|
extern int trace;
|
|
|
|
|
|
|
|
extern uchar *prg, *sram;
|
2014-03-14 17:20:13 +00:00
|
|
|
extern int nprg, nsram, hirom;
|
|
|
|
extern u32int keys, keylatch, lastkeys;
|
2014-03-21 09:53:33 +00:00
|
|
|
extern u8int reg[32768], mem[131072], spcmem[65536], vram[65536], oam[544];
|
|
|
|
extern u16int cgram[256], vramlatch;
|
2014-03-21 12:57:18 +00:00
|
|
|
extern u8int mdr, mdr1, mdr2;
|
2014-03-13 19:07:36 +00:00
|
|
|
|
2014-03-15 20:46:00 +00:00
|
|
|
extern int ppux, ppuy, rx;
|
2014-03-13 19:07:36 +00:00
|
|
|
extern u16int vtime, htime, subcolor, oamaddr;
|
2014-03-15 20:46:00 +00:00
|
|
|
extern u16int hofs[5], vofs[5];
|
|
|
|
extern s16int m7[6];
|
2014-03-13 19:07:36 +00:00
|
|
|
|
2014-03-21 09:53:33 +00:00
|
|
|
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;
|
2014-03-17 17:56:00 +00:00
|
|
|
|
2014-03-22 11:50:40 +00:00
|
|
|
extern int ppuclock, spcclock, dspclock, stimerclock, cpupause;
|
2014-03-14 15:49:52 +00:00
|
|
|
extern int battery, saveclock, scale, mouse;
|
2014-03-13 19:07:36 +00:00
|
|
|
|
|
|
|
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,
|
2014-03-15 20:46:00 +00:00
|
|
|
M7SEL = 0x211a,
|
2014-03-13 19:07:36 +00:00
|
|
|
WIN1 = 2,
|
|
|
|
INVW1 = 1,
|
|
|
|
WIN2 = 8,
|
|
|
|
INVW2 = 4,
|
|
|
|
TM = 0x212c,
|
|
|
|
TS = 0x212d,
|
|
|
|
TMW = 0x212e,
|
|
|
|
TSW = 0x212f,
|
|
|
|
CGWSEL = 0x2130,
|
|
|
|
CGADSUB = 0x2131,
|
|
|
|
DIRCOL = 1,
|
|
|
|
SETINI = 0x2133,
|
2014-03-15 20:46:00 +00:00
|
|
|
EXTBG = 1<<6,
|
2014-03-13 19:07:36 +00:00
|
|
|
OVERSCAN = 1<<2,
|
|
|
|
AUTOJOY = 1,
|
|
|
|
NMITIMEN = 0x4200,
|
2014-03-20 15:44:01 +00:00
|
|
|
MEMSEL = 0x420d,
|
2014-03-13 19:07:36 +00:00
|
|
|
RDNMI = 0x4210,
|
|
|
|
VBLANK = 1<<7,
|
|
|
|
VCNTIRQ = 1<<5,
|
|
|
|
HCNTIRQ = 1<<4,
|
|
|
|
};
|
|
|
|
|
|
|
|
enum {
|
|
|
|
IRQPPU = 1<<7,
|
|
|
|
};
|
|
|
|
|