AxibugEmuOnline/References/VirtuaNESex_src_191105/NES/Mapper/BoardOneBus.h
2024-08-05 17:58:53 +08:00

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