📄 mapper096.cpp
字号:
//////////////////////////////////////////////////////////////////////////
// Mapper096 Bandai 74161 //
//////////////////////////////////////////////////////////////////////////
void Mapper096::Reset()
{
reg[0] = reg[1] = 0;
SetPROM_32K_Bank( 0, 1, 2, 3 );
SetBank();
SetVRAM_Mirror( VRAM_MIRROR4L );
}
void Mapper096::Write( WORD addr, BYTE data )
{
SetPROM_32K_Bank( data & 0x03 );
reg[0] = (data & 0x04) >> 2;
SetBank();
}
void Mapper096::PPU_Latch( WORD addr )
{
if( (addr & 0xF000) == 0x2000 ) {
reg[1] = (addr>>8)&0x03;
SetBank();
}
}
void Mapper096::SetBank()
{
SetCRAM_4K_Bank( 0, reg[0]*4+reg[1] );
SetCRAM_4K_Bank( 4, reg[0]*4+0x03 );
}
void Mapper096::SaveState( LPBYTE p )
{
p[0] = reg[0];
p[1] = reg[1];
}
void Mapper096::LoadState( LPBYTE p )
{
reg[0] = p[0];
reg[1] = p[1];
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -