43 lines
833 B
C++
Executable File
43 lines
833 B
C++
Executable File
#include "counter.hpp"
|
|
|
|
class PPU : public PPUcounter, public MMIO {
|
|
public:
|
|
virtual void enter() = 0;
|
|
|
|
uint16 *output;
|
|
|
|
struct {
|
|
bool render_output;
|
|
|
|
bool frame_executed;
|
|
bool frames_updated;
|
|
unsigned frames_rendered;
|
|
unsigned frames_executed;
|
|
} status;
|
|
|
|
//PPU1 version number
|
|
//* 1 is known
|
|
//* reported by $213e
|
|
uint8 ppu1_version;
|
|
|
|
//PPU2 version number
|
|
//* 1 and 3 are known
|
|
//* reported by $213f
|
|
uint8 ppu2_version;
|
|
|
|
virtual bool interlace() const = 0;
|
|
virtual bool overscan() const = 0;
|
|
virtual bool hires() const = 0;
|
|
|
|
virtual void latch_counters() = 0;
|
|
|
|
virtual void frame();
|
|
virtual void power();
|
|
virtual void reset();
|
|
virtual void enable_renderer(bool r);
|
|
virtual bool renderer_enabled();
|
|
|
|
PPU();
|
|
virtual ~PPU();
|
|
};
|