added system.h to project
This commit is contained in:
		@@ -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_
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user