44 lines
1.0 KiB
C++
44 lines
1.0 KiB
C++
//////////////////////////////////////////////////////////////////////////
|
||
// Mapper116 CartSaint : —H—VAV‹—ñ“` //
|
||
//////////////////////////////////////////////////////////////////////////
|
||
class Mapper116 : public Mapper
|
||
{
|
||
public:
|
||
Mapper116( NES* parent ) : Mapper(parent) {}
|
||
|
||
void Reset();
|
||
void WriteLow( WORD addr, BYTE data );
|
||
void Write( WORD addr, BYTE data );
|
||
|
||
void HSync( INT scanline );
|
||
|
||
// For state save
|
||
BOOL IsStateSave() { return TRUE; }
|
||
void SaveState( LPBYTE p );
|
||
void LoadState( LPBYTE p );
|
||
|
||
protected:
|
||
BYTE reg[8];
|
||
BYTE prg0, prg1, prg2, prg3;
|
||
BYTE prg0L, prg1L;
|
||
BYTE chr0, chr1, chr2, chr3, chr4, chr5, chr6, chr7;
|
||
|
||
BYTE irq_enable;
|
||
INT irq_counter;
|
||
BYTE irq_latch;
|
||
|
||
BYTE ExPrgSwitch;
|
||
BYTE ExChrSwitch;
|
||
|
||
BYTE mode;
|
||
BYTE vrc2_chr[8], vrc2_prg[2], vrc2_mirr;
|
||
BYTE mmc3_regs[10], mmc3_ctrl, mmc3_mirr;
|
||
BYTE mmc1_regs[4], mmc1_buffer, mmc1_shift;
|
||
BYTE IRQCount, IRQLatch, IRQa, IRQReload;
|
||
|
||
private:
|
||
void SetBank_CPU();
|
||
void SetBank_PPU();
|
||
void SetBank_MIR();
|
||
};
|