38 lines
1019 B
C++
38 lines
1019 B
C++
//////////////////////////////////////////////////////////////////////////
|
|
// BoardOneBus //
|
|
//////////////////////////////////////////////////////////////////////////
|
|
class BoardOneBus : public Mapper
|
|
{
|
|
public:
|
|
BoardOneBus( NES* parent ) : Mapper(parent) {}
|
|
|
|
void Reset();
|
|
void WriteLow( WORD addr, BYTE data );
|
|
void Write( WORD addr, BYTE data );
|
|
void HSync( INT scanline );
|
|
void Clock( INT cycles );
|
|
|
|
void WriteExPPU( WORD addr, BYTE data );
|
|
BYTE ReadExAPU ( WORD addr );
|
|
void WriteExAPU( WORD addr, BYTE data );
|
|
void PPU_Latch( WORD addr );
|
|
|
|
// For state save
|
|
BOOL IsStateSave() { return TRUE; }
|
|
void SaveState( LPBYTE p );
|
|
void LoadState( LPBYTE p );
|
|
|
|
protected:
|
|
BYTE cpu410x[16], ppu201x[16], apu40xx[64];
|
|
BYTE IRQCount, IRQa, IRQReload, IRQLatch;
|
|
BYTE inv_hack, mmc3cmd, mirror;
|
|
BYTE pcm_enable, pcm_irq;
|
|
INT pcm_addr, pcm_size, pcm_latch, pcm_clock;
|
|
|
|
DWORD count;
|
|
private:
|
|
void SetBank();
|
|
void SetBankCPU();
|
|
void SetBankPPU();
|
|
};
|