16#include "Reflection.h"
25typedef isize Cylinder;
28typedef isize Halftrack;
55struct DriveTypeEnum : util::Reflection<DriveTypeEnum, DriveType> {
57 static constexpr long minVal = 0;
58 static constexpr long maxVal = DRIVE_VC1541II;
59 static bool isValid(
auto value) {
return value >= minVal && value <= maxVal; }
61 static const char *prefix() {
return "DRIVE"; }
62 static const char *key(
long value)
66 case DRIVE_VC1541:
return "VC1541";
67 case DRIVE_VC1541C:
return "VC1541C";
68 case DRIVE_VC1541II:
return "VC1541II";
80typedef DRVRAM DriveRam;
82struct DriveRamEnum : util::Reflection<DriveRamEnum, DriveRam> {
84 static constexpr long minVal = 0;
85 static constexpr long maxVal = DRVRAM_6000_7FFF;
86 static bool isValid(
auto value) {
return value >= minVal && value <= maxVal; }
88 static const char *prefix() {
return "DRVRAM"; }
89 static const char *key(
long value)
93 case DRVRAM_NONE:
return "DRVRAM_NONE";
94 case DRVRAM_8000_9FFF:
return "DRVRAM_8000_9FFF";
95 case DRVRAM_6000_7FFF:
return "DRVRAM_6000_7FFF";
101enum_long(DRVMEM_TYPE)
111typedef DRVMEM_TYPE DrvMemType;
113struct DrvMemTypeEnum : util::Reflection<DrvMemTypeEnum, DrvMemType> {
115 static constexpr long minVal = 0;
116 static constexpr long maxVal = DRVMEM_PIA;
117 static bool isValid(
auto value) {
return value >= minVal && value <= maxVal; }
119 static const char *prefix() {
return "DRVMEM"; }
120 static const char *key(
long value)
124 case DRVMEM_NONE:
return "DRVMEM_NONE";
125 case DRVMEM_RAM:
return "DRVMEM_RAM";
126 case DRVMEM_EXP:
return "DRVMEM_EXP";
127 case DRVMEM_ROM:
return "DRVMEM_ROM";
128 case DRVMEM_VIA1:
return "DRVMEM_VIA1";
129 case DRVMEM_VIA2:
return "DRVMEM_VIA2";
130 case DRVMEM_PIA:
return "DRVMEM_PIA";
136enum_long(DISK_INSERTION_STATUS)
139 DISK_PARTIALLY_INSERTED,
141 DISK_PARTIALLY_EJECTED
143typedef DISK_INSERTION_STATUS InsertionStatus;
145struct InsertionStatusEnum : util::Reflection<InsertionStatusEnum, InsertionStatus> {
147 static constexpr long minVal = 0;
148 static constexpr long maxVal = DISK_PARTIALLY_EJECTED;
149 static bool isValid(
auto value) {
return value >= minVal && value <= maxVal; }
151 static const char *prefix() {
return "DISK"; }
152 static const char *key(
long value)
156 case DISK_FULLY_EJECTED:
return "FULLY_EJECTED";
157 case DISK_PARTIALLY_INSERTED:
return "PARTIALLY_INSERTED";
158 case DISK_FULLY_INSERTED:
return "FULLY_INSERTED";
159 case DISK_PARTIALLY_EJECTED:
return "PARTIALLY_EJECTED";
178 ParCableType parCable;
207 bool hasUnprotectedDisk;
208 bool hasProtectedDisk;
209 bool hasUnmodifiedDisk;
210 bool hasModifiedDisk;
VirtualC64 project namespace.
Definition CmdQueue.cpp:16
DRIVE_TYPE
Drive model.
Definition DriveTypes.h:48