1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-12-02 17:51:12 +00:00
CLK/Analyser/Static/AppleII/Target.hpp

55 lines
1.1 KiB
C++
Raw Normal View History

//
// Target.hpp
// Clock Signal
//
// Created by Thomas Harte on 21/04/2018.
// Copyright 2018 Thomas Harte. All rights reserved.
//
#ifndef Analyser_Static_AppleII_Target_h
#define Analyser_Static_AppleII_Target_h
#include "../../../Reflection/Enum.hpp"
#include "../../../Reflection/Struct.hpp"
#include "../StaticAnalyser.hpp"
2023-05-10 21:02:18 +00:00
namespace Analyser::Static::AppleII {
struct Target: public Analyser::Static::Target, public Reflection::StructImpl<Target> {
ReflectableEnum(Model,
II,
IIplus,
IIe,
EnhancedIIe
);
ReflectableEnum(DiskController,
None,
SixteenSector,
ThirteenSector
);
2022-09-15 16:17:50 +00:00
ReflectableEnum(SCSIController,
None,
AppleSCSI
);
2018-07-31 03:07:34 +00:00
Model model = Model::IIe;
DiskController disk_controller = DiskController::None;
2022-09-15 16:17:50 +00:00
SCSIController scsi_controller = SCSIController::None;
Target() : Analyser::Static::Target(Machine::AppleII) {
if(needs_declare()) {
DeclareField(model);
DeclareField(disk_controller);
2022-09-15 16:17:50 +00:00
DeclareField(scsi_controller);
AnnounceEnum(Model);
AnnounceEnum(DiskController);
2022-09-15 16:17:50 +00:00
AnnounceEnum(SCSIController);
}
}
};
}
#endif /* Analyser_Static_AppleII_Target_h */