// // MasterSystem.hpp // Clock Signal // // Created by Thomas Harte on 20/09/2018. // Copyright © 2018 Thomas Harte. All rights reserved. // #ifndef MasterSystem_hpp #define MasterSystem_hpp #include "../../Configurable/Configurable.hpp" #include "../../Configurable/StandardOptions.hpp" #include "../../Analyser/Static/StaticAnalyser.hpp" #include "../ROMMachine.hpp" #include namespace Sega { namespace MasterSystem { class Machine { public: virtual ~Machine(); static Machine *MasterSystem(const Analyser::Static::Target *target, const ROMMachine::ROMFetcher &rom_fetcher); class Options: public Reflection::StructImpl, public Configurable::DisplayOption { friend Configurable::DisplayOption; public: Options(Configurable::OptionsType type) : Configurable::DisplayOption(type == Configurable::OptionsType::UserFriendly ? Configurable::Display::RGB : Configurable::Display::CompositeColour) { if(needs_declare()) { declare_display_option(); } } }; }; } } #endif /* MasterSystem_hpp */