shithub: sms

ref: 23fe5dd09ffe2e3c2d925945bc1adcbf6fc6fc97
dir: /dat.h/

View raw version
extern u32int irq;

extern u8int reg[16];

extern u8int z80bus, z80irq;
extern u16int spc, scurpc;

extern u16int ram[32768];
extern u8int *prg;
extern u8int *rom;
extern u8int *mem;
extern int nbank;
extern int slotaddr[3];
extern u16int ram_bank;
extern u8int ram_enabled;

extern u8int vram[32768], vsram[40];
extern u8int cram[64];
extern u32int cramc[64];
extern int vdpx, vdpy, frame, intla;

extern u8int portDC;
extern u8int portDD;

enum {
	MODE1   = 0x00,
	MODE2   = 0x01,
	PANT    = 0x02,
	PWNT    = 0x03,
	PBNT    = 0x04,
	SPRTAB  = 0x05,
	SPRADDR = 0x06,
	BGCOL   = 0x07,
	HORSCR  = 0x08,
	VERSCR  = 0x09,
	HORCTR  = 0x0a,

	IE0     = 0x20,
	IE1     = 0x10,

	STATCOLL= 0x20,
	STATOVR = 0x40,
	STATINT = 0x80,
};

enum {
	BUSREQ = 1,
	BUSACK = 2,
	RESET  = 4,

	INTVBL = 1,
	INTHOR = 2,
};

enum {
	PSGCLOCK = 3579545,
	FREQ = PSGCLOCK * 12,
	Z80DIV = 12,
	RATE = 44100,
	SAMPDIV = FREQ / RATE,
	SAVEFREQ = FREQ / 4,
	PSGDIV = 16,
};

enum {
	SRAM = 0x01,
	BATTERY = 0x02,
	ADDRMASK = 0x0c,
	ADDRBOTH = 0x00,
	ADDREVEN = 0x08,
	ADDRODD = 0x0c,
	SRAMEN = 0x10,
};