50 lines
681 B
C++
50 lines
681 B
C++
|
#include "nes_mapper.h"
|
||
|
|
||
|
// Mapper 72 (Created by rinao)
|
||
|
void MAP72_Reset()
|
||
|
{
|
||
|
// set CPU bank pointers
|
||
|
// set_CPU_banks(0,1,num_8k_ROM_banks-2,num_8k_ROM_banks-1);
|
||
|
|
||
|
// set PPU bank pointers
|
||
|
if(num_1k_VROM_banks)
|
||
|
{
|
||
|
set_PPU_banks(0,1,2,3,4,5,6,7);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
void MAP72_MemoryWrite(uint16 addr, uint8 data)
|
||
|
{
|
||
|
uint8 bank = data & 0x0f;
|
||
|
if (data & 0x80)
|
||
|
{
|
||
|
set_CPU_banks(bank*2, bank*2+1,num_8k_ROM_banks-2,num_8k_ROM_banks-1);
|
||
|
}
|
||
|
if (data & 0x40)
|
||
|
{
|
||
|
set_PPU_banks(bank*8, bank*8+1,bank*8+2,bank*8+3,bank*8+4,bank*8+5,bank*8+6,bank*8+7);
|
||
|
}
|
||
|
}
|
||
|
void MAP72_Init()
|
||
|
{
|
||
|
NES_Mapper->Reset = MAP72_Reset;
|
||
|
NES_Mapper->Write = MAP72_MemoryWrite;
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|