Esempio n. 1
0
static void Sync(void)
{
  setprg8(0x6000, reg);
  setprg32r(1, 0x8000, 0);
  setchr8(0);
  setmirror(mirr);
}
Esempio n. 2
0
static void FDSInit(void)
{
	memset(FDSRegs,0,sizeof(FDSRegs));
	writeskip=DiskPtr=DiskSeekIRQ=0;
	setmirror(1);

	setprg8r(0,0xe000,0);    // BIOS
	setprg32r(1,0x6000,0);   // 32KB RAM
	setchr8(0);     // 8KB CHR RAM

	MapIRQHook=FDSFix;
	GameStateRestore=FDSStateRestore;

	SetReadHandler(0x4030,0x4030,FDSRead4030);
	SetReadHandler(0x4031,0x4031,FDSRead4031);
	SetReadHandler(0x4032,0x4032,FDSRead4032);
	SetReadHandler(0x4033,0x4033,FDSRead4033);

	SetWriteHandler(0x4020,0x4025,FDSWrite); 

	SetWriteHandler(0x6000,0xdfff,FDSRAMWrite);
	SetReadHandler(0x6000,0xdfff,FDSRAMRead);
	SetReadHandler(0xE000,0xFFFF,FDSBIOSRead);
	IRQCount=IRQLatch=IRQa=0;

	FDSSoundReset();
	InDisk=0;
	SelectDisk=0;
}
static void Sync(void) {
	// bit 7 controls green LED
	// bit 6 controls red LED
	int nt  = (reg & 0x20) ? 8192 : 0; // bit 5 controls 8k nametable page
	int chr = (reg & 0x10) ? 1 : 0; // bit 4 selects 8k CHR page
	int prg = (reg & 0x0F); // bits 0-3 select 32k PRG page

	nt += (16 * 1024);
	for (int n=0; n<4; ++n)
	{
		setntamem(CHRRAM + nt + (1024 * n),1,n);
	}
	setchr8r(0x10, chr);

	uint32 prg_chip = flash ? 0x10 : 0;
	setprg32r(prg_chip,0x8000,prg);
}