core: added Kernel::Reschedule() call to check for thread changes, shortened delay time to 100 instructions

master
bunnei 2014-05-22 22:54:07 +07:00
parent f8a98ab022
commit 51f636b3d4
1 changed files with 6 additions and 1 deletions

@ -12,6 +12,8 @@
#include "core/arm/disassembler/arm_disasm.h" #include "core/arm/disassembler/arm_disasm.h"
#include "core/arm/interpreter/arm_interpreter.h" #include "core/arm/interpreter/arm_interpreter.h"
#include "core/hle/kernel/thread.h"
namespace Core { namespace Core {
ARM_Disasm* g_disasm = NULL; ///< ARM disassembler ARM_Disasm* g_disasm = NULL; ///< ARM disassembler
@ -21,14 +23,17 @@ ARM_Interface* g_sys_core = NULL; ///< ARM11 system (OS) core
/// Run the core CPU loop /// Run the core CPU loop
void RunLoop() { void RunLoop() {
for (;;){ for (;;){
g_app_core->Run(10000); g_app_core->Run(100);
HW::Update(); HW::Update();
Kernel::Reschedule();
} }
} }
/// Step the CPU one instruction /// Step the CPU one instruction
void SingleStep() { void SingleStep() {
g_app_core->Step(); g_app_core->Step();
HW::Update();
Kernel::Reschedule();
} }
/// Halt the core /// Halt the core