2014-04-09 04:45:46 +05:30
|
|
|
// Copyright 2014 Citra Emulator Project
|
2014-12-17 11:08:14 +05:30
|
|
|
// Licensed under GPLv2 or any later version
|
2014-04-09 04:45:46 +05:30
|
|
|
// Refer to the license.txt file included.
|
|
|
|
|
|
|
|
#pragma once
|
2013-09-27 07:31:09 +05:30
|
|
|
|
2014-04-09 05:45:08 +05:30
|
|
|
#include "common/emu_window.h"
|
2013-09-27 07:31:09 +05:30
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
namespace System {
|
|
|
|
|
|
|
|
// State of the full emulator
|
2014-11-18 19:27:25 +05:30
|
|
|
enum State {
|
2014-11-19 14:32:05 +05:30
|
|
|
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
|
2014-11-18 19:27:25 +05:30
|
|
|
};
|
2013-09-27 07:31:09 +05:30
|
|
|
|
|
|
|
extern volatile State g_state;
|
|
|
|
|
|
|
|
void UpdateState(State state);
|
2013-10-04 03:17:31 +05:30
|
|
|
void Init(EmuWindow* emu_window);
|
2013-09-27 07:31:09 +05:30
|
|
|
void RunLoopFor(int cycles);
|
|
|
|
void RunLoopUntil(u64 global_cycles);
|
|
|
|
void Shutdown();
|
|
|
|
|
2014-11-18 18:57:16 +05:30
|
|
|
}
|