Path: blob/master/libsnes/bsnes/gameboy/system/system.cpp
2 views
#include <gameboy/gameboy.hpp>12#define SYSTEM_CPP3namespace GameBoy {45#include "bootrom-dmg.cpp"6#include "bootrom-sgb.cpp"7#include "bootrom-cgb.cpp"8#include "serialization.cpp"9System system;1011void System::run() {12scheduler.sync = Scheduler::SynchronizeMode::None;1314scheduler.enter();15if(scheduler.exit_reason() == Scheduler::ExitReason::FrameEvent) {16}17}1819void System::runtosave() {20scheduler.sync = Scheduler::SynchronizeMode::CPU;21runthreadtosave();2223scheduler.active_thread = lcd.thread;24runthreadtosave();25}2627void System::runthreadtosave() {28while(true) {29scheduler.enter();30if(scheduler.exit_reason() == Scheduler::ExitReason::SynchronizeEvent) break;31if(scheduler.exit_reason() == Scheduler::ExitReason::FrameEvent) {32}33}34}3536void System::init() {37assert(interface != 0);38}3940void System::load(Revision revision) {41this->revision = revision;42serialize_init();43}4445void System::power() {46bus.power();47cartridge.power();48cpu.power();49apu.power();50lcd.power();51scheduler.init();5253clocks_executed = 0;54}5556}575859