forked from eden-emu/eden
		
	core: changed time delay before kernel reschedule to "approximate" a screen refresh
This commit is contained in:
		
							parent
							
								
									6d267142ad
								
							
						
					
					
						commit
						9839f3b6cd
					
				
					 1 changed files with 12 additions and 3 deletions
				
			
		|  | @ -9,6 +9,7 @@ | ||||||
| #include "core/core.h" | #include "core/core.h" | ||||||
| #include "core/mem_map.h" | #include "core/mem_map.h" | ||||||
| #include "core/hw/hw.h" | #include "core/hw/hw.h" | ||||||
|  | #include "core/hw/lcd.h" | ||||||
| #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" | ||||||
| 
 | 
 | ||||||
|  | @ -23,7 +24,7 @@ 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(100); |         g_app_core->Run(LCD::kFrameTicks / 2); | ||||||
|         HW::Update(); |         HW::Update(); | ||||||
|         Kernel::Reschedule(); |         Kernel::Reschedule(); | ||||||
|     } |     } | ||||||
|  | @ -31,9 +32,17 @@ void RunLoop() { | ||||||
| 
 | 
 | ||||||
| /// Step the CPU one instruction
 | /// Step the CPU one instruction
 | ||||||
| void SingleStep() { | void SingleStep() { | ||||||
|  |     static int ticks = 0; | ||||||
|  | 
 | ||||||
|     g_app_core->Step(); |     g_app_core->Step(); | ||||||
|     HW::Update(); |      | ||||||
|     Kernel::Reschedule(); |     if (ticks >= LCD::kFrameTicks / 2) { | ||||||
|  |         HW::Update(); | ||||||
|  |         Kernel::Reschedule(); | ||||||
|  |         ticks = 0; | ||||||
|  |     } else { | ||||||
|  |         ticks++; | ||||||
|  |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /// Halt the core
 | /// Halt the core
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 bunnei
						bunnei