16#include "Reflection.h"
100 FLAG_FORCE_MEGA64_MISMATCH,
101 FLAG_FORCE_SNAP_TOO_OLD,
102 FLAG_FORCE_SNAP_TOO_NEW,
103 FLAG_FORCE_SNAP_IS_BETA,
104 FLAG_FORCE_SNAP_CORRUPTED,
105 FLAG_FORCE_CRT_UNKNOWN,
106 FLAG_FORCE_CRT_UNSUPPORTED,
107 FLAG_FORCE_RECORDING_ERROR,
112struct DebugFlagEnum : util::Reflection<DebugFlagEnum, DebugFlag>
114 static constexpr long minVal = 0;
115 static constexpr long maxVal = FLAG_FORCE_NO_FFMPEG;
116 static bool isValid(
auto val) {
return val >= minVal && val <= maxVal; }
118 static const char *prefix() {
return "FLAG"; }
119 static const char *key(
long value)
194 case FLAG_FORCE_MEGA64_MISMATCH:
return "FORCE_MEGA64_MISMATCH";
195 case FLAG_FORCE_SNAP_TOO_OLD:
return "FORCE_SNAP_TOO_OLD";
196 case FLAG_FORCE_SNAP_TOO_NEW:
return "FORCE_SNAP_TOO_NEW";
197 case FLAG_FORCE_SNAP_IS_BETA:
return "FORCE_SNAP_IS_BETA";
198 case FLAG_FORCE_SNAP_CORRUPTED:
return "FORCE_SNAP_CORRUPTE";
199 case FLAG_FORCE_CRT_UNKNOWN:
return "FORCE_CRT_UNKNOWN";
200 case FLAG_FORCE_CRT_UNSUPPORTED:
return "FORCE_CRT_UNSUPPORTED";
201 case FLAG_FORCE_RECORDING_ERROR:
return "FORCE_RECORDING_ERROR";
202 case FLAG_FORCE_NO_FFMPEG:
return "FORCE_NO_FFMPEG";
207 static const char *help(
long value)
211 case FLAG_XFILES:
return "Report paranormal activity";
248 case FLAG_SID_EXEC:
return "Sound Interface Device (Execution)";
271 case FLAG_PRT_DEBUG:
return "Control ports and connected devices";
281 case FLAG_FORCE_MEGA64_MISMATCH:
return "";
282 case FLAG_FORCE_SNAP_TOO_OLD:
return "";
283 case FLAG_FORCE_SNAP_TOO_NEW:
return "";
284 case FLAG_FORCE_SNAP_IS_BETA:
return "";
285 case FLAG_FORCE_SNAP_CORRUPTED:
return "";
286 case FLAG_FORCE_CRT_UNKNOWN:
return "";
287 case FLAG_FORCE_CRT_UNSUPPORTED:
return "";
288 case FLAG_FORCE_RECORDING_ERROR:
return "";
289 case FLAG_FORCE_NO_FFMPEG:
return "";
VirtualC64 project namespace.
Definition CmdQueue.cpp:16
DEBUG_FLAG
Definition EmulatorTypes.h:27
@ FLAG_FILE_DEBUG
Debug the handling of media files.
Definition EmulatorTypes.h:83
@ FLAG_CIA_DEBUG
Debug the Complex Interface Adapters.
Definition EmulatorTypes.h:53
@ FLAG_GCR_DEBUG
Debug the GCR encoder and decoder.
Definition EmulatorTypes.h:77
@ FLAG_KBD_DEBUG
Debug the keyboard.
Definition EmulatorTypes.h:89
@ FLAG_SID_DEBUG
Debug the Sound Interface Device.
Definition EmulatorTypes.h:65
@ FLAG_DEF_DEBUG
Debug the user defaults storage.
Definition EmulatorTypes.h:31
@ FLAG_CRT_DEBUG
Debug cartridges.
Definition EmulatorTypes.h:82
@ FLAG_RUA_DEBUG
Debug run-ahead mode.
Definition EmulatorTypes.h:42
@ FLAG_PIA_DEBUG
Debug the Peripheral Interface Adapter.
Definition EmulatorTypes.h:73
@ FLAG_TIM_DEBUG
Debug thread synchronization.
Definition EmulatorTypes.h:35
@ FLAG_SID_EXEC
Debug SID execution.
Definition EmulatorTypes.h:66
@ FLAG_PRT_DEBUG
Debug the control port and connected devices.
Definition EmulatorTypes.h:90
@ FLAG_XFILES
Report paranormal activity.
Definition EmulatorTypes.h:29
@ FLAG_AUDBUF_DEBUG
Debug the audio buffers.
Definition EmulatorTypes.h:68
@ FLAG_WARP_DEBUG
Debug warp mode.
Definition EmulatorTypes.h:36
@ FLAG_LIP_DEBUG
Debug the light pen.
Definition EmulatorTypes.h:92
@ FLAG_RASTERIRQ_DEBUG
Debug raster interrupts.
Definition EmulatorTypes.h:62
@ FLAG_REU_DEBUG
Debug the REU memory expansion.
Definition EmulatorTypes.h:96
@ FLAG_TAP_DEBUG
Debug the datasette.
Definition EmulatorTypes.h:88
@ FLAG_DRV_DEBUG
Debug the floppy drives.
Definition EmulatorTypes.h:87
@ FLAG_VIA_DEBUG
Debug the Versatile Interface Adapter.
Definition EmulatorTypes.h:72
@ FLAG_CNF_DEBUG
Debug configuration code.
Definition EmulatorTypes.h:30
@ FLAG_IRQ_DEBUG
Debug interrupts.
Definition EmulatorTypes.h:47
@ FLAG_VICII_DEBUG
Debug the Video Interface Controller.
Definition EmulatorTypes.h:58
@ FLAG_VICII_SAFE_MODE
Disable performance optimizations.
Definition EmulatorTypes.h:60
@ FLAG_FS_DEBUG
Debug files system related code.
Definition EmulatorTypes.h:78
@ FLAG_SIDREG_DEBUG
Debug SID register accesses.
Definition EmulatorTypes.h:67
@ FLAG_PAR_DEBUG
Debug the parallel drive cable.
Definition EmulatorTypes.h:79
@ FLAG_VICII_REG_DEBUG
Debug VICII register accesses.
Definition EmulatorTypes.h:59
@ FLAG_JOY_DEBUG
Debug the joysticks.
Definition EmulatorTypes.h:86
@ FLAG_CIA_ON_STEROIDS
Keep the CIAs awake all the time.
Definition EmulatorTypes.h:55
@ FLAG_VICII_STATS
Collect statistical information.
Definition EmulatorTypes.h:61
@ FLAG_EXP_DEBUG
Debug the expansion port.
Definition EmulatorTypes.h:91
@ FLAG_MSG_DEBUG
Debug the message queue.
Definition EmulatorTypes.h:38
@ FLAG_CPU_DEBUG
Debug the CPU.
Definition EmulatorTypes.h:46
@ FLAG_RUN_DEBUG
Debug the run loop and component states.
Definition EmulatorTypes.h:34
@ FLAG_AUDVOL_DEBUG
Debug the audio volumes.
Definition EmulatorTypes.h:69
@ FLAG_SER_DEBUG
Debug the serial port (IEC bus)
Definition EmulatorTypes.h:74
@ FLAG_DSK_DEBUG
Debug the disk controller execution.
Definition EmulatorTypes.h:75
@ FLAG_DSKCHG_DEBUG
Debug the disk change procedure.
Definition EmulatorTypes.h:76
@ FLAG_SNP_DEBUG
Debug snapshots.
Definition EmulatorTypes.h:39
@ FLAG_CMD_DEBUG
Debug the command queue.
Definition EmulatorTypes.h:37
@ FLAG_RUA_ON_STEROIDS
Update the run-ahead instance in every frame.
Definition EmulatorTypes.h:43
@ FLAG_MEM_DEBUG
Debug memory accesses.
Definition EmulatorTypes.h:50
@ FLAG_CIAREG_DEBUG
Debug the CIA register accesses.
Definition EmulatorTypes.h:54
@ FLAG_REC_DEBUG
Debug the screen recorder.
Definition EmulatorTypes.h:95
@ FLAG_FORCE_ROM_MISSING
Forced error condition.
Definition EmulatorTypes.h:99
EXEC_STATE
Execution state.
Definition ThreadTypes.h:22
The current emulator configuration.
Definition EmulatorTypes.h:302
The current emulator state.
Definition EmulatorTypes.h:309
bool paused
Indicates if emulation is paused.
Definition EmulatorTypes.h:313
bool running
Indicates if the emulator is running.
Definition EmulatorTypes.h:314
bool powered
Indicates if the emulator is powered on.
Definition EmulatorTypes.h:312
isize refreshRate
Screen refresh rate of the virtual C64.
Definition EmulatorTypes.h:311
ExecState state
The current emulator state.
Definition EmulatorTypes.h:310
bool suspended
Indicates if the emulator is in suspended state.
Definition EmulatorTypes.h:315
bool warping
Indicates if warp mode is currently on.
Definition EmulatorTypes.h:316
bool tracking
Indicates if track mode is enabled.
Definition EmulatorTypes.h:317
Collected run-time data.
Definition EmulatorTypes.h:323
isize resyncs
Number of out-of-sync conditions.
Definition EmulatorTypes.h:326
double fps
Measured frames per seconds.
Definition EmulatorTypes.h:325
double cpuLoad
Measured CPU load.
Definition EmulatorTypes.h:324