2016-01-27 22:31:39 +11:00
|
|
|
struct System {
|
2016-01-28 22:39:49 +11:00
|
|
|
enum class Revision : uint {
|
|
|
|
WonderSwan, //SW-001 (ASWAN)
|
|
|
|
WonderSwanColor, //WSC-001 (SPHINX)
|
|
|
|
SwanCrystal, //SCT-001 (SPHINX2)
|
|
|
|
};
|
2016-01-27 22:31:39 +11:00
|
|
|
|
|
|
|
auto revision() const -> Revision;
|
|
|
|
|
|
|
|
auto init() -> void;
|
|
|
|
auto term() -> void;
|
|
|
|
auto load(Revision) -> void;
|
|
|
|
auto power() -> void;
|
|
|
|
auto run() -> void;
|
|
|
|
|
|
|
|
struct Information {
|
|
|
|
string manifest;
|
|
|
|
} information;
|
|
|
|
|
|
|
|
privileged:
|
2016-01-28 22:39:49 +11:00
|
|
|
Revision _revision = Revision::WonderSwan;
|
2016-01-27 22:31:39 +11:00
|
|
|
};
|
|
|
|
|
|
|
|
extern System system;
|