Пример #1
0
static void sync()
{
    static u8 oldreg1 = 0x10;
    u8 reg1 = mmc1_getlowchr();

    mmc1_syncmirror();
    mmc1_syncsram();
    mem_setvram8(0,0);
    if(reg1 & 0x10) {
        irqenabled = 0;
        irqcounter = 0;
        cpu_clear_irq(IRQ_MAPPER);
    }
    else
        irqenabled = 1;
    if(prglock) {
        mem_setprg32(8,0);
        if((oldreg1 & 0x10) == 0 && (reg1 & 0x10) == 0x10)
            prglock = 0;
    }
    else {
        if(reg1 & 8)
            mmc1_syncprg(7,8);
        else
            mem_setprg32(8,(reg1 >> 1) & 3);
    }
    oldreg1 = reg1;
}
Пример #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);
}
Пример #3
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);
}
Пример #4
0
static void sync()
{
	u8 data = latch_data;
	
	if(latch_addr >= 0x8000)
		data = nes_read_rom(latch_addr) & (data | 1);
	mem_setprg32(8,data & 0xF);
	mem_setchr8(0,(data >> 4) & 0xF);
}
Пример #5
0
static void sync()
{
	mem_setprg32(8,prg);
	mem_setvram8(0,0);
	switch(mirror) {
		case 0:	ppu_setmirroring(MIRROR_H);	break;
		case 1:	ppu_setmirroring(MIRROR_V);	break;
		case 2:	ppu_setmirroring(MIRROR_1L);	break;
		case 3:	ppu_setmirroring(MIRROR_1H);	break;
	}
}
Пример #6
0
static void sync()
{
	if(latch_addr & 0x1E) {
		mem_setprg16(0x8,latch_addr & 0x1F);
		mem_setprg16(0xC,latch_addr & 0x1F);
	}
	else {
		mem_setprg32(8,0);
	}
	mem_setchr8(0,latch_addr & 0x1F);
	mem_setmirroring(((latch_addr >> 5) & 1) ^ 1);
}
Пример #7
0
static void reset(int hard)
{
	mem_setwramsize(8);

	//initialize all bank pointers
	mem_setprg4(6,8);
	mem_setwram4(7,0);
	mem_setprg32(8,0);
	mem_setchr8(0,0);

	//get pointers to the data
	prg6 = mem_getreadptr(6);
	sram7 = mem_getreadptr(7);

	//remove pointers to memory
	mem_setreadptr(6,0);
	mem_setreadptr(7,0);
	mem_setwriteptr(7,0);

	//insert the function pointers from here
	mem_setreadfunc(6,read6);
	mem_setreadfunc(7,read7);
	mem_setwritefunc(7,write7);
}
Пример #8
0
static void syncprg()
{
	mem_setprg8(0x6,prg[0] & 0x7F);
	switch(prgsize) {
		case 0:
			mem_setprg32(8,prg[4]);
			break;
		case 1:
			mem_setprg16(0x8,prg[2]);
			mem_setprg16(0xC,prg[2]);
			break;
		case 2:
			mem_setprg16(0x8,prg[2]);
			mem_setprg8(0xC,prg[3]);
			mem_setprg8(0xE,prg[4]);
			break;
		case 3:
			mem_setprg8(0x8,prg[1]);
			mem_setprg8(0xA,prg[2]);
			mem_setprg8(0xC,prg[3]);
			mem_setprg8(0xE,prg[4]);
			break;
	}
}
Пример #9
0
static void sync()
{
	mem_setprg32(8,0);
	mem_setchr8(0,reg >> 7);
}
Пример #10
0
static void sync()
{
	mem_setprg32(8,latch_addr & 0xFF);
	mem_setchr8(0,latch_addr & 0xFF);
}
Пример #11
0
static void sync()
{
	mem_setprg32(8,latch_reg);
	mem_setvram8(0,0);
}
Пример #12
0
static void sync()
{
	mem_setprg32(8,(reg & 4) & 1);
	mem_setchr8(0,reg & 3);
}
Пример #13
0
static void sync()
{
	mem_setprg32(8,reg[0] & 7);
	mem_setchr8(0,((reg[0] & 0x18) >> 1) | (reg[1] & 3));
	ppu_setmirroring(((~reg[0]) >> 5) & 1);
}