diff --git a/include/emulator.hpp b/include/emulator.hpp index 3985c613..e90a00a5 100644 --- a/include/emulator.hpp +++ b/include/emulator.hpp @@ -47,7 +47,7 @@ class Emulator { static constexpr u32 width = 400; static constexpr u32 height = 240 * 2; // * 2 because 2 screens ROMType romType = ROMType::None; - bool running = true; + bool running = true, romLoaded = false; #ifdef PANDA3DS_ENABLE_HTTP_SERVER HttpServer httpServer; @@ -64,6 +64,7 @@ class Emulator { Emulator(); ~Emulator(); + void stop(); void step(); void render(); void reset(); diff --git a/include/services/gsp_gpu.hpp b/include/services/gsp_gpu.hpp index 7e69253a..00734458 100644 --- a/include/services/gsp_gpu.hpp +++ b/include/services/gsp_gpu.hpp @@ -22,6 +22,7 @@ enum class GPUInterrupt : u8 { class Kernel; class GPUService { + bool registerInterruptRelayQueueBeenHere = false; Handle handle = KernelHandles::GPU; Memory& mem; GPU& gpu; diff --git a/src/core/services/gsp_gpu.cpp b/src/core/services/gsp_gpu.cpp index 5179aec8..fa18b761 100644 --- a/src/core/services/gsp_gpu.cpp +++ b/src/core/services/gsp_gpu.cpp @@ -35,6 +35,7 @@ void GPUService::reset() { interruptEvent = std::nullopt; gspThreadCount = 0; sharedMem = nullptr; + registerInterruptRelayQueueBeenHere = false; } void GPUService::handleSyncRequest(u32 messagePointer) {