Files
player/Project/Src/NES/mapper/001.h
2025-06-27 00:32:57 +08:00

54 lines
1.1 KiB
C++

/////////////////////////////////////////////////////////////////////
// Mapper 1
class NES_mapper1 : public NES_mapper
{
friend void adopt_MPRD(SnssMapperBlock* block, NES* nes);
friend int extract_MPRD(SnssMapperBlock* block, NES* nes);
public:
NES_mapper1(NES* parent) : NES_mapper(parent) {}
~NES_mapper1() {}
void Reset();
void MemoryWriteSaveRAM(uint32 addr, uint8 data);
void MemoryWrite(uint32 addr, uint8 data);
protected:
// this uses MMC1_256K_base and MMC1_bankX
void MMC1_set_CPU_banks();
uint32 write_count;
uint8 bits;
uint8 regs[4];
uint32 last_write_addr;
// Best Play - Pro Yakyuu Special
uint8 patch;
uint8 wram_bank, wram_flag, wram_count;
uint8 wram[0x4000];
enum MMC1_Size_t
{
MMC1_SMALL,
MMC1_512K,
MMC1_1024K
};
MMC1_Size_t MMC1_Size;
uint32 MMC1_256K_base;
uint32 MMC1_swap;
// these are the 4 ROM banks currently selected
uint32 MMC1_bank1;
uint32 MMC1_bank2;
uint32 MMC1_bank3;
uint32 MMC1_bank4;
uint32 MMC1_HI1;
uint32 MMC1_HI2;
private:
};
/////////////////////////////////////////////////////////////////////