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\file_sys\meta_file_system.h" /> | ||||||
|     <ClInclude Include="src\loader.h" /> |     <ClInclude Include="src\loader.h" /> | ||||||
|     <ClInclude Include="src\mem_map.h" /> |     <ClInclude Include="src\mem_map.h" /> | ||||||
|  |     <ClInclude Include="src\system.h" /> | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <None Include="CMakeLists.txt" /> |     <None Include="CMakeLists.txt" /> | ||||||
|  |  | ||||||
|  | @ -87,6 +87,7 @@ | ||||||
|     <ClInclude Include="src\file_sys\meta_file_system.h"> |     <ClInclude Include="src\file_sys\meta_file_system.h"> | ||||||
|       <Filter>file_sys</Filter> |       <Filter>file_sys</Filter> | ||||||
|     </ClInclude> |     </ClInclude> | ||||||
|  |     <ClInclude Include="src\system.h" /> | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <None Include="CMakeLists.txt" /> |     <None Include="CMakeLists.txt" /> | ||||||
|  |  | ||||||
|  | @ -29,14 +29,26 @@ namespace Core { | ||||||
| 
 | 
 | ||||||
| /// Start the core
 | /// Start the core
 | ||||||
| void Start() { | 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
 | /// Kill the core
 | ||||||
| void Kill() { |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| /// Stop the core
 |  | ||||||
| void Stop() { | void Stop() { | ||||||
|  | 	// TODO(ShizZy): ImplementMe
 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /// Initialize the core
 | /// Initialize the core
 | ||||||
|  |  | ||||||
|  | @ -35,34 +35,24 @@ class EmuWindow; | ||||||
| 
 | 
 | ||||||
| namespace Core { | 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
 | /// Start the core
 | ||||||
| void Start(); | void Start(); | ||||||
| 
 | 
 | ||||||
| /// Kill the core
 | /// Run the core CPU loop
 | ||||||
| void Kill(); | void RunLoop(); | ||||||
| 
 | 
 | ||||||
| /// Stop the core
 | /// Step the CPU one instruction
 | ||||||
|  | void SingleStep(); | ||||||
|  | 
 | ||||||
|  | /// Halt the core
 | ||||||
|  | void Halt(); | ||||||
|  | 
 | ||||||
|  | /// Kill the core
 | ||||||
| void Stop(); | void Stop(); | ||||||
| 
 | 
 | ||||||
| /// Initialize the core
 | /// Initialize the core
 | ||||||
| int Init(EmuWindow* emu_window); | 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
 | } // 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