//////////////////////////////////////////////////////////////////////////
// Mapper185  Character disable protect                                 //
//////////////////////////////////////////////////////////////////////////
void	Mapper185::Reset()
{
	switch( PROM_16K_SIZE ) {
		case	1:	// 16K only
			SetPROM_16K_Bank( 4, 0 );
			SetPROM_16K_Bank( 6, 0 );
			break;
		case	2:	// 32K
			SetPROM_32K_Bank( 0 );
			break;
	}

	for( INT i = 0; i < 0x400; i++ ) {
		VRAM[0x800+i] = 0xFF;
	}

	patch = 0;

	DWORD	crc = nes->rom->GetPROM_CRC();
	if( crc == 0xb36457c7 ) {	// Spy vs Spy(J)
		patch = 1;
	}
}

void	Mapper185::Write( WORD addr, BYTE data )
{
	if( (!patch && (data&0x03)) || (patch && data == 0x21) ) {
		SetVROM_8K_Bank( 0 );
	} else {
		SetVRAM_1K_Bank( 0, 2 );	// use vram bank 2
		SetVRAM_1K_Bank( 1, 2 );
		SetVRAM_1K_Bank( 2, 2 );
		SetVRAM_1K_Bank( 3, 2 );
		SetVRAM_1K_Bank( 4, 2 );
		SetVRAM_1K_Bank( 5, 2 );
		SetVRAM_1K_Bank( 6, 2 );
		SetVRAM_1K_Bank( 7, 2 );
	}
}