16#include "Reflection.h"
28 CRT_ACTION_REPLAY = 1,
37 CRT_EPYX_FASTLOAD = 10,
41 CRT_MAGIC_FORMEL = 14,
47 CRT_SUPER_SNAPSHOT_V5 = 20,
49 CRT_STRUCTURED_BASIC = 22,
55 CRT_MIKRO_ASSEMBLER = 28,
57 CRT_ACTION_REPLAY4 = 30,
60 CRT_EASYFLASH_XBANK = 33,
62 CRT_ACTION_REPLAY3 = 35,
63 CRT_RETRO_REPLAY = 36,
67 CRT_SUPER_SNAPSHOT = 40,
72 CRT_FREEZE_FRAME = 45,
73 CRT_FREEZE_MACHINE = 46,
75 CRT_SUPER_EXPLODE_V5 = 48,
77 CRT_ACTION_REPLAY2 = 50,
79 CRT_DIASHOW_MAKER = 52,
82 CRT_SILVERROCK_128 = 55,
94 CRT_REX_RAMFLOPPY = 67,
109typedef CRT_TYPE CartridgeType;
111struct CartridgeTypeEnum : util::Reflection<CartridgeTypeEnum, CartridgeType> {
113 static constexpr long minVal = 0;
114 static constexpr long maxVal = CRT_NONE;
115 static bool isValid(
auto value) {
return value >= minVal && value <= maxVal; }
117 static const char *prefix() {
return "CRT"; }
118 static const char *key(
long value)
122 case CRT_NORMAL:
return "NORMAL";
123 case CRT_ACTION_REPLAY:
return "ACTION_REPLAY";
124 case CRT_KCS_POWER:
return "KCS_POWER";
125 case CRT_FINAL_III:
return "FINAL_III";
126 case CRT_SIMONS_BASIC:
return "SIMONS_BASIC";
127 case CRT_OCEAN:
return "OCEAN";
128 case CRT_EXPERT:
return "EXPERT";
129 case CRT_FUNPLAY:
return "FUNPLAY";
130 case CRT_SUPER_GAMES:
return "SUPER_GAMES";
131 case CRT_ATOMIC_POWER:
return "ATOMIC_POWER";
132 case CRT_EPYX_FASTLOAD:
return "EPYX_FASTLOAD";
133 case CRT_WESTERMANN:
return "WESTERMANN";
134 case CRT_REX:
return "REX";
135 case CRT_FINAL_I:
return "FINAL_I";
136 case CRT_MAGIC_FORMEL:
return "MAGIC_FORMEL";
137 case CRT_GS:
return "GS";
138 case CRT_WARPSPEED:
return "WARPSPEED";
139 case CRT_DINAMIC:
return "DINAMIC";
140 case CRT_ZAXXON:
return "ZAXXON";
141 case CRT_MAGIC_DESK:
return "MAGIC_DESK";
142 case CRT_SUPER_SNAPSHOT_V5:
return "SUPER_SNAPSHOT_V5";
143 case CRT_COMAL80:
return "COMAL80";
144 case CRT_STRUCTURED_BASIC:
return "STRUCTURED_BASIC";
145 case CRT_ROSS:
return "ROSS";
146 case CRT_DELA_EP64:
return "DELA_EP64";
147 case CRT_DELA_EP7X8:
return "DELA_EP7X8";
148 case CRT_DELA_EP256:
return "DELA_EP256";
149 case CRT_REX_EP256:
return "REX_EP256";
150 case CRT_MIKRO_ASSEMBLER:
return "MIKRO_ASSEMBLER";
151 case CRT_FINAL_PLUS:
return "FINAL_PLUS";
152 case CRT_ACTION_REPLAY4:
return "ACTION_REPLAY4";
153 case CRT_STARDOS:
return "STARDOS";
154 case CRT_EASYFLASH:
return "EASYFLASH";
155 case CRT_EASYFLASH_XBANK:
return "EASYFLASH_XBANK";
156 case CRT_CAPTURE:
return "CAPTURE";
157 case CRT_ACTION_REPLAY3:
return "REAACTION_REPLAY3D";
158 case CRT_RETRO_REPLAY:
return "RETRO_REPLAY";
159 case CRT_MMC64:
return "MMC64";
160 case CRT_MMC_REPLAY:
return "MMC_REPLAY";
161 case CRT_IDE64:
return "IDE64";
162 case CRT_SUPER_SNAPSHOT:
return "SUPER_SNAPSHOT";
163 case CRT_IEEE488:
return "IEEE488";
164 case CRT_GAME_KILLER:
return "GAME_KILLER";
165 case CRT_P64:
return "P64";
166 case CRT_EXOS:
return "EXOS";
167 case CRT_FREEZE_FRAME:
return "FREEZE_FRAME";
168 case CRT_FREEZE_MACHINE:
return "FREEZE_MACHINE";
169 case CRT_SNAPSHOT64:
return "SNAPSHOT64";
170 case CRT_SUPER_EXPLODE_V5:
return "SUPER_EXPLODE_V5";
171 case CRT_MAGIC_VOICE:
return "MAGIC_VOICE";
172 case CRT_ACTION_REPLAY2:
return "ACTION_REPLAY2";
173 case CRT_MACH5:
return "MACH5";
174 case CRT_DIASHOW_MAKER:
return "DIASHOW_MAKER";
175 case CRT_PAGEFOX:
return "PAGEFOX";
176 case CRT_KINGSOFT:
return "KINGSOFT";
177 case CRT_SILVERROCK_128:
return "SILVERROCK_128";
178 case CRT_FORMEL64:
return "FORMEL64";
179 case CRT_RGCD:
return "RGCD";
180 case CRT_RRNETMK3:
return "RRNETMK3";
181 case CRT_EASYCALC:
return "EASYCALC";
182 case CRT_GMOD2:
return "GMOD2";
183 case CRT_MAX_BASIC:
return "MAX_BASIC";
184 case CRT_GMOD3:
return "GMOD3";
185 case CRT_ZIPPCODE48:
return "ZIPPCODE48";
186 case CRT_BLACKBOX8:
return "BLACKBOX8";
187 case CRT_BLACKBOX3:
return "BLACKBOX3";
188 case CRT_BLACKBOX4:
return "BLACKBOX4";
189 case CRT_REX_RAMFLOPPY:
return "REX_RAMFLOPPY";
190 case CRT_BISPLUS:
return "BISPLUS";
191 case CRT_SDBOX:
return "SDBOX";
192 case CRT_MULTIMAX:
return "MULTIMAX";
193 case CRT_BLACKBOX9:
return "BLACKBOX9";
194 case CRT_LT_KERNAL:
return "LT_KERNAL";
195 case CRT_RAMLINK:
return "RAMLINK";
196 case CRT_HERO:
return "HERO";
197 case CRT_ISEPIC:
return "ISEPIC";
198 case CRT_GEO_RAM:
return "GEO_RAM";
199 case CRT_REU:
return "REU";
200 case CRT_NONE:
return "NONE";
206enum_long(FLASH_STATE)
213 FLASH_BYTE_PROGRAM_ERROR,
219 FLASH_SECTOR_ERASE_TIMEOUT,
220 FLASH_SECTOR_ERASE_SUSPEND
222typedef FLASH_STATE FlashState;
224struct FlashStateEnum : util::Reflection<FlashStateEnum, FlashState> {
226 static constexpr long minVal = 0;
227 static constexpr long maxVal = FLASH_SECTOR_ERASE_SUSPEND;
228 static bool isValid(
auto value) {
return value >= minVal && value <= maxVal; }
230 static const char *prefix() {
return "FLASH"; }
231 static const char *key(
long value)
235 case FLASH_READ:
return "READ";
236 case FLASH_MAGIC_1:
return "MAGIC_1";
237 case FLASH_MAGIC_2:
return "MAGIC_2";
238 case FLASH_AUTOSELECT:
return "AUTOSELECT";
239 case FLASH_BYTE_PROGRAM:
return "BYTE_PROGRAM";
240 case FLASH_BYTE_PROGRAM_ERROR:
return "BYTE_PROGRAM_ERROR";
241 case FLASH_ERASE_MAGIC_1:
return "ERASE_MAGIC_1";
242 case FLASH_ERASE_MAGIC_2:
return "ERASE_MAGIC_2";
243 case FLASH_ERASE_SELECT:
return "ERASE_SELECT";
244 case FLASH_CHIP_ERASE:
return "CHIP_ERASE";
245 case FLASH_SECTOR_ERASE:
return "SECTOR_ERASE";
246 case FLASH_SECTOR_ERASE_TIMEOUT:
return "SECTOR_ERASE_TIMEOUT";
247 case FLASH_SECTOR_ERASE_SUSPEND:
return "SECTOR_ERASE_SUSPEND";
270 const char *switchLeft;
271 const char *switchNeutral;
272 const char *switchRight;
282 bool gameLineInCrtFile;
283 bool exromLineInCrtFile;
VirtualC64 project namespace.
Definition CmdQueue.cpp:16