16#include "SubComponent.h"
21class DmaDebugger final :
public SubComponent {
25 Descriptions descriptions = {{
27 .name =
"DmaDebugger",
28 .description =
"Bus Monitor"
31 ConfigOptions options = {
53 DmaDebuggerConfig config = { };
65 DmaDebugger(C64 &ref);
67 DmaDebugger& operator= (
const DmaDebugger& other) {
69 for (isize i = 0; i < 6; i++) CLONE_ARRAY(debugColor[i])
83 void serialize(T& worker)
85 if (isResetter(worker))
return;
94 << config.dmaDisplayMode
97 } SERIALIZERS(serialize);
106 const Descriptions &getDescriptions()
const override {
return descriptions; }
110 void _dump(Category category, std::ostream& os)
const override;
119 const DmaDebuggerConfig &getConfig()
const {
return config; }
120 const ConfigOptions &getOptions()
const override {
return options; }
121 i64 getOption(Option opt)
const override;
122 void checkOption(Option opt, i64 value)
override;
123 void setOption(Option opt, i64 value)
override;
130 void setDmaDebugColor(MemAccess type, GpuColor color);
131 void setDmaDebugColor(MemAccess type, RgbColor color);
141 void visualizeDma(isize offset, u8 data, MemAccess type);
142 void visualizeDma(u32 *ptr, u8 data, MemAccess type);
145 void computeOverlay(u32 *emuTexture, u32 *dmaTexture);
VirtualC64 project namespace.
Definition CmdQueue.cpp:16
@ OPT_DMA_DEBUG_CHANNEL5
Enable or disable channel 5.
Definition OptionTypes.h:61
@ OPT_VICII_CUT_OPACITY
Cutout opacity.
Definition OptionTypes.h:48
@ OPT_DMA_DEBUG_CHANNEL3
Enable or disable channel 3.
Definition OptionTypes.h:59
@ OPT_DMA_DEBUG_COLOR4
Color for channel 4.
Definition OptionTypes.h:66
@ OPT_DMA_DEBUG_COLOR3
Color for channel 3.
Definition OptionTypes.h:65
@ OPT_DMA_DEBUG_COLOR5
Color for channel 5.
Definition OptionTypes.h:67
@ OPT_DMA_DEBUG_COLOR1
Color for channel 1.
Definition OptionTypes.h:63
@ OPT_DMA_DEBUG_CHANNEL2
Enable or disable channel 2.
Definition OptionTypes.h:58
@ OPT_DMA_DEBUG_MODE
DMA texture overlay mode.
Definition OptionTypes.h:54
@ OPT_VICII_CUT_LAYERS
Cutout some graphics layers.
Definition OptionTypes.h:47
@ OPT_DMA_DEBUG_CHANNEL1
Enable or disable channel 1.
Definition OptionTypes.h:57
@ OPT_DMA_DEBUG_OPACITY
DMA texture opacity.
Definition OptionTypes.h:55
@ OPT_DMA_DEBUG_CHANNEL0
Enable or disable channel 0.
Definition OptionTypes.h:56
@ OPT_DMA_DEBUG_COLOR2
Color for channel 2.
Definition OptionTypes.h:64
@ OPT_DMA_DEBUG_ENABLE
Global on/off switch for the DMA debugger.
Definition OptionTypes.h:53
@ OPT_DMA_DEBUG_COLOR0
Color for channel 0.
Definition OptionTypes.h:62
@ OPT_DMA_DEBUG_CHANNEL4
Enable or disable channel 4.
Definition OptionTypes.h:60