45 lines
2.0 KiB
C++
45 lines
2.0 KiB
C++
//////////////////////////////////////////////////////////////////////////
|
||
// Mapper016 Bandai Standard //
|
||
//////////////////////////////////////////////////////////////////////////
|
||
#include "EEPROM.h"
|
||
|
||
class Mapper016 : public Mapper
|
||
{
|
||
public:
|
||
Mapper016( NES* parent ) : Mapper(parent) {}
|
||
|
||
void Reset();
|
||
BYTE ReadLow( WORD addr );
|
||
void WriteLow( WORD addr, BYTE data );
|
||
void Write( WORD addr, BYTE data );
|
||
|
||
void HSync( INT scanline );
|
||
void Clock( INT cycles );
|
||
|
||
// For Datach Barcode Battler
|
||
void SetBarcodeData( LPBYTE code, INT len );
|
||
|
||
// For state save
|
||
BOOL IsStateSave() { return TRUE; }
|
||
void SaveState( LPBYTE p );
|
||
void LoadState( LPBYTE p );
|
||
|
||
protected:
|
||
BYTE patch; // For Famicom Jump 2
|
||
BYTE eeprom_type; // EEPROM type
|
||
|
||
BYTE reg[3];
|
||
|
||
BYTE irq_enable;
|
||
INT irq_counter;
|
||
INT irq_latch;
|
||
BYTE irq_type;
|
||
|
||
X24C01 x24c01;
|
||
X24C02 x24c02;
|
||
|
||
private:
|
||
void WriteSubA(WORD addr, BYTE data);
|
||
void WriteSubB(WORD addr, BYTE data);
|
||
};
|