From 4fc8b8229ed1d9ea9d20faee7059c898265db6cf Mon Sep 17 00:00:00 2001 From: bunnei Date: Fri, 16 Dec 2016 00:37:38 -0500 Subject: core: Remove HLE module, consolidate code & various cleanups. --- src/core/core.h | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) (limited to 'src/core/core.h') diff --git a/src/core/core.h b/src/core/core.h index f4326161d..8194db6a2 100644 --- a/src/core/core.h +++ b/src/core/core.h @@ -52,17 +52,6 @@ public: ErrorVideoCore, ///< Error in the video core }; - /** - * Initialize the emulated system. - * @param emu_window Pointer to the host-system window used for video output and keyboard input. - * @param system_mode The system mode. - * @return ResultStatus code, indicating if the operation succeeded. - */ - ResultStatus Init(EmuWindow* emu_window, u32 system_mode); - - /// Start the core - void Start(); - /** * Run the core CPU loop * This function runs the core for the specified number of CPU instructions before trying to update @@ -101,6 +90,9 @@ public: return app_core != nullptr; } + /// Prepare the core emulation for a reschedule + void PrepareReschedule(); + /** * Gets a reference to the emulated AppCore CPU. * @returns A reference to the emulated AppCore CPU. @@ -110,12 +102,26 @@ public: } private: + /** + * Initialize the emulated system. + * @param emu_window Pointer to the host-system window used for video output and keyboard input. + * @param system_mode The system mode. + * @return ResultStatus code, indicating if the operation succeeded. + */ + ResultStatus Init(EmuWindow* emu_window, u32 system_mode); + + /// Reschedule the core emulation + void Reschedule(); + /// AppLoader used to load the current executing application std::unique_ptr app_loader; ///< ARM11 application core std::unique_ptr app_core; + /// When true, signals that a reschedule should happen + bool reschedule_pending{}; + static System s_instance; }; -- cgit v1.2.3