core: Remove HLE module, consolidate code & various cleanups.

This commit is contained in:
bunnei 2016-12-16 00:37:38 -05:00
parent 232ef55c1a
commit 4fc8b8229e
19 changed files with 94 additions and 107 deletions

View file

@ -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<Loader::AppLoader> app_loader;
///< ARM11 application core
std::unique_ptr<ARM_Interface> app_core;
/// When true, signals that a reschedule should happen
bool reschedule_pending{};
static System s_instance;
};