Exemplo n.º 1
0
void sachen_tca01_init(int hard)
{
	read4 = mem_getread(4);
	mem_setread(4,read_reg);
	mem_setread(5,read_reg);
	mem_setprg32(8,0);
	mem_setchr8(0,0);
}
Exemplo n.º 2
0
static void reset(int hard)
{
	read4 = mem_getread(4);
	mem_setread(4,read);
	mem_setread(5,read);
	mem_setprg32(8,0);
	mem_setchr8(0,0);
}
Exemplo n.º 3
0
void mapper90_init(int r)
{
	int i;

	mem_setread(0x5,mapper90_read_mul);
	mem_setwrite(0x5,mapper90_write_mul);
	mem_setwrite(0x8,mapper90_write_prg);
	mem_setwrite(0x9,mapper90_write_chrlo);
	mem_setwrite(0xA,mapper90_write_chrhi);
	mem_setwrite(0xB,mapper90_write_nt);
	mem_setwrite(0xC,mapper90_write_irq);
	mem_setwrite(0xD,mapper90_write_control);
	for(i=0;i<8;i++) {
		prg[i & 3] = 0;
		chrlo[i] = 0;
		chrhi[i] = 0;
		nt[i & 3] = 0;
	}
	bankmode = 0;
	mul[0] = mul[1] = 0;
	onebyte = 0;
	irqenabled = 0;
	irqmode = 0;
	irqxor = 0;
	irqlo = irqhi = 0;
	mirror = 0;
	revision = r;
	syncprg();
	syncchr();
	syncnt();
}
Exemplo n.º 4
0
void nes_reset(int hard)
{
	int i;

	if(nes->rom == 0)
		return;

	//set default read/write handlers
	for(i=0;i<16;i++) {
		mem_setread(i,0);
		mem_setwrite(i,0);
	}

	//set rom read handlers (mappers might use these)
	for(i=8;i<16;i++)
		mem_setread(i,nes_read_rom);

	//ram
	mem_setreadptr(0,nes->ram);
	mem_setwriteptr(0,nes->ram);
	mem_setreadptr(1,nes->ram);
	mem_setwriteptr(1,nes->ram);

	//ppu
	mem_setread(2,ppu_read);
	mem_setwrite(2,ppu_write);
	mem_setread(3,ppu_read);
	mem_setwrite(3,ppu_write);

	//apu
	mem_setread(4,nes_read_4000);
	mem_setwrite(4,nes_write_4000);

	//mapper will set its read/write handlers
	nes->mapper->reset(hard);
	nes->frame_irqmode = 0;
	apu_reset(hard);
	ppu_reset();
	dead6502_reset();
	if(hard) {
		memset(nes->ram,0,0x800);
		for(i=0;i<32;i++)
			pal_write(i,startup_pal[i]);
	}
	log_message("nes reset ok\n");
}