31 lines
695 B
C++
31 lines
695 B
C++
|
|
/////////////////////////////////////////////////////////////////////
|
|
// Mapper 232
|
|
void NES_mapper232::Reset()
|
|
{
|
|
// set CPU bank pointers
|
|
set_CPU_banks(0,1,num_8k_ROM_banks-2,num_8k_ROM_banks-1);
|
|
|
|
regs[0] = 0x0C;
|
|
regs[1] = 0x00;
|
|
}
|
|
|
|
void NES_mapper232::MemoryWrite(uint32 addr, uint8 data)
|
|
{
|
|
if(addr == 0x9000)
|
|
{
|
|
regs[0] = (data & 0x18) >> 1;
|
|
}
|
|
else if(0xA000 <= addr && addr <= 0xFFFF)
|
|
{
|
|
regs[1] = data & 0x03;
|
|
}
|
|
|
|
set_CPU_bank4((regs[0] | regs[1]) * 2 + 0);
|
|
set_CPU_bank5((regs[0] | regs[1]) * 2 + 1);
|
|
set_CPU_bank6((regs[0] | 0x03) * 2 + 0);
|
|
set_CPU_bank7((regs[0] | 0x03) * 2 + 1);
|
|
}
|
|
/////////////////////////////////////////////////////////////////////
|
|
|