1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-06-17 21:30:14 +00:00
CLK/Analyser/Static/PCCompatible/Target.hpp

38 lines
745 B
C++
Raw Normal View History

2023-11-29 20:59:42 +00:00
//
// Target.hpp
// Clock Signal
//
// Created by Thomas Harte on 29/11/2023.
// Copyright © 2023 Thomas Harte. All rights reserved.
//
#pragma once
2023-11-29 20:59:42 +00:00
#include "../../../Reflection/Struct.hpp"
#include "../StaticAnalyser.hpp"
namespace Analyser::Static::PCCompatible {
struct Target: public Analyser::Static::Target, public Reflection::StructImpl<Target> {
ReflectableEnum(VideoAdaptor,
MDA,
CGA);
2023-12-06 14:59:21 +00:00
VideoAdaptor adaptor = VideoAdaptor::CGA;
2023-11-29 20:59:42 +00:00
2023-12-08 15:46:59 +00:00
ReflectableEnum(Speed,
2023-12-08 16:07:14 +00:00
ApproximatelyOriginal,
2023-12-08 15:46:59 +00:00
Fast);
2023-12-08 17:51:55 +00:00
Speed speed = Speed::Fast;
2023-12-08 15:46:59 +00:00
2023-11-29 20:59:42 +00:00
Target() : Analyser::Static::Target(Machine::PCCompatible) {
if(needs_declare()) {
AnnounceEnum(VideoAdaptor);
2023-12-08 15:46:59 +00:00
AnnounceEnum(Speed);
DeclareField(adaptor);
DeclareField(speed);
2023-11-29 20:59:42 +00:00
}
}
};
}