////////////////////////////////////////////////////////////////////////// // 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(); };