class SuperGameBoy : public Coprocessor, public Stream, public Memory, public library { public: static void Enter(); void enter(); void save(); uint8 read(unsigned addr); void write(unsigned addr, uint8 data); void init(); void enable(); void power(); void reset(); void unload(); void serialize(serializer&); private: uint32_t samplebuffer[4096]; unsigned speed; void update_speed(); function sgb_rom; function sgb_ram; function sgb_rtc; function sgb_init; function sgb_term; function sgb_power; function sgb_reset; function sgb_read; function sgb_write; function sgb_run; function sgb_save; function sgb_serialize; friend class Cartridge; }; #if defined(DEBUGGER) #include "debugger/debugger.hpp" extern SGBDebugger supergameboy; #else extern SuperGameBoy supergameboy; #endif