mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 05:40:04 +00:00 
			
		
		
		
	added system.h to project
This commit is contained in:
		
							parent
							
								
									8bb0c457bc
								
							
						
					
					
						commit
						c71868a6b1
					
				
					 5 changed files with 88 additions and 23 deletions
				
			
		|  | @ -163,6 +163,7 @@ | |||
|     <ClInclude Include="src\file_sys\meta_file_system.h" /> | ||||
|     <ClInclude Include="src\loader.h" /> | ||||
|     <ClInclude Include="src\mem_map.h" /> | ||||
|     <ClInclude Include="src\system.h" /> | ||||
|   </ItemGroup> | ||||
|   <ItemGroup> | ||||
|     <None Include="CMakeLists.txt" /> | ||||
|  |  | |||
|  | @ -87,6 +87,7 @@ | |||
|     <ClInclude Include="src\file_sys\meta_file_system.h"> | ||||
|       <Filter>file_sys</Filter> | ||||
|     </ClInclude> | ||||
|     <ClInclude Include="src\system.h" /> | ||||
|   </ItemGroup> | ||||
|   <ItemGroup> | ||||
|     <None Include="CMakeLists.txt" /> | ||||
|  |  | |||
|  | @ -29,14 +29,26 @@ namespace Core { | |||
| 
 | ||||
| /// Start the core
 | ||||
| void Start() { | ||||
| 	// TODO(ShizZy): ImplementMe
 | ||||
| } | ||||
| 
 | ||||
| /// Run the core CPU loop
 | ||||
| void RunLoop() { | ||||
| 	// TODO(ShizZy): ImplementMe
 | ||||
| } | ||||
| 
 | ||||
| /// Step the CPU one instruction
 | ||||
| void SingleStep() { | ||||
| } | ||||
| 
 | ||||
| /// Halt the core
 | ||||
| void Halt() { | ||||
| 	// TODO(ShizZy): ImplementMe
 | ||||
| } | ||||
| 
 | ||||
| /// Kill the core
 | ||||
| void Kill() { | ||||
| } | ||||
| 
 | ||||
| /// Stop the core
 | ||||
| void Stop() { | ||||
| 	// TODO(ShizZy): ImplementMe
 | ||||
| } | ||||
| 
 | ||||
| /// Initialize the core
 | ||||
|  |  | |||
|  | @ -35,34 +35,24 @@ class EmuWindow; | |||
| 
 | ||||
| namespace Core { | ||||
| 
 | ||||
| // State of the full emulator
 | ||||
| typedef enum { | ||||
| 	SYS_NULL = 0,   ///< System is in null state, nothing initialized
 | ||||
| 	SYS_IDLE,       ///< System is in an initialized state, but not running
 | ||||
| 	SYS_RUNNING,    ///< System is running
 | ||||
| 	SYS_LOADING,    ///< System is loading a ROM
 | ||||
| 	SYS_HALTED,     ///< System is halted (error)
 | ||||
| 	SYS_STALLED,    ///< System is stalled (unused)
 | ||||
| 	SYS_DEBUG,      ///< System is in a special debug mode (unused)
 | ||||
| 	SYS_DIE         ///< System is shutting down
 | ||||
| } SystemState; | ||||
| 
 | ||||
| 
 | ||||
| /// Start the core
 | ||||
| void Start(); | ||||
| 
 | ||||
| /// Kill the core
 | ||||
| void Kill(); | ||||
| /// Run the core CPU loop
 | ||||
| void RunLoop(); | ||||
| 
 | ||||
| /// Stop the core
 | ||||
| /// Step the CPU one instruction
 | ||||
| void SingleStep(); | ||||
| 
 | ||||
| /// Halt the core
 | ||||
| void Halt(); | ||||
| 
 | ||||
| /// Kill the core
 | ||||
| void Stop(); | ||||
| 
 | ||||
| /// Initialize the core
 | ||||
| int Init(EmuWindow* emu_window); | ||||
| 
 | ||||
| extern SystemState	g_state;	///< State of the emulator
 | ||||
| extern bool			g_started;	///< Whether or not the emulator has been started
 | ||||
| 
 | ||||
| } // namespace
 | ||||
| 
 | ||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////
 | ||||
|  |  | |||
							
								
								
									
										61
									
								
								src/core/src/system.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								src/core/src/system.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,61 @@ | |||
| /**
 | ||||
|  * Copyright (C) 2013 Citrus Emulator | ||||
|  * | ||||
|  * @file    system.h | ||||
|  * @author  ShizZy <shizzy247@gmail.com> | ||||
|  * @date    2013-09-26 | ||||
|  * @brief   Emulation of main system | ||||
|  * | ||||
|  * @section LICENSE | ||||
|  * This program is free software; you can redistribute it and/or | ||||
|  * modify it under the terms of the GNU General Public License as | ||||
|  * published by the Free Software Foundation; either version 2 of | ||||
|  * the License, or (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, but | ||||
|  * WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||||
|  * General Public License for more details at | ||||
|  * http://www.gnu.org/copyleft/gpl.html
 | ||||
|  * | ||||
|  * Official project repository can be found at: | ||||
|  * http://code.google.com/p/gekko-gc-emu/
 | ||||
|  */ | ||||
| 
 | ||||
| #ifndef CORE_SYSTEM_H_ | ||||
| #define CORE_SYSTEM_H_ | ||||
| 
 | ||||
| #include "file_sys/meta_file_system.h" | ||||
| 
 | ||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////
 | ||||
| 
 | ||||
| namespace System { | ||||
| 
 | ||||
| extern MetaFileSystem g_ctr_file_system; | ||||
| 
 | ||||
| // State of the full emulator
 | ||||
| typedef enum { | ||||
| 	STATE_NULL = 0,	///< System is in null state, nothing initialized
 | ||||
| 	STATE_IDLE,		///< System is in an initialized state, but not running
 | ||||
| 	STATE_RUNNING,	///< System is running
 | ||||
| 	STATE_LOADING,	///< System is loading a ROM
 | ||||
| 	STATE_HALTED,	///< System is halted (error)
 | ||||
| 	STATE_STALLED,	///< System is stalled (unused)
 | ||||
| 	STATE_DEBUG,	///< System is in a special debug mode (unused)
 | ||||
| 	STATE_DIE		///< System is shutting down
 | ||||
| } State; | ||||
| 
 | ||||
| extern volatile State g_state; | ||||
| 
 | ||||
| void UpdateState(State state); | ||||
| void Init(); | ||||
| void RunLoopFor(int cycles); | ||||
| void RunLoopUntil(u64 global_cycles); | ||||
| void Shutdown(); | ||||
| 
 | ||||
| }; | ||||
| 
 | ||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////
 | ||||
| 
 | ||||
| #endif // CORE_SYSTEM_H_
 | ||||
|   | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue