35 lines
565 B
C++
35 lines
565 B
C++
#include "nes_mapper.h"
|
|
|
|
// Mapper 3
|
|
void MAP3_Reset()
|
|
{
|
|
// // set CPU bank pointers
|
|
// if(num_8k_ROM_banks > 2)
|
|
// {
|
|
// set_CPU_banks(0,1,2,3);
|
|
// }
|
|
// else
|
|
// {
|
|
// set_CPU_banks(0,1,0,1);
|
|
// }
|
|
|
|
// set VROM banks
|
|
set_PPU_banks(0,1,2,3,4,5,6,7);
|
|
}
|
|
|
|
void MAP3_MemoryWrite(uint16 addr, uint8 data)
|
|
{
|
|
uint32 base;
|
|
|
|
data &= (num_1k_VROM_banks>>1)-1;
|
|
|
|
base = ((uint32)data) << 3;
|
|
set_PPU_banks(base+0,base+1,base+2,base+3,base+4,base+5,base+6,base+7);
|
|
}
|
|
void MAP3_Init()
|
|
{
|
|
NES_Mapper->Reset=MAP3_Reset;
|
|
NES_Mapper->Write=MAP3_MemoryWrite;
|
|
}
|
|
|