99
1010#include " config.h"
1111#include " DmaDebugger.h"
12- #include " Agnus.h"
13- #include " Denise.h"
14- #include " MsgQueue.h"
15- #include " PixelEngine.h"
12+ #include " Amiga.h"
1613
1714DmaDebugger::DmaDebugger (Amiga &ref) : SubComponent(ref)
1815{
1916}
2017
21- DmaDebuggerConfig
22- DmaDebugger::getDefaultConfig ()
23- {
24- DmaDebuggerConfig defaults;
25-
26- defaults.enabled = false ;
27- defaults.displayMode = DMA_DISPLAY_MODE_FG_LAYER;
28- defaults.opacity = 50 ;
29-
30- defaults.visualize [DMA_CHANNEL_CPU] = false ;
31- defaults.visualize [DMA_CHANNEL_REFRESH] = true ;
32- defaults.visualize [DMA_CHANNEL_DISK] = true ;
33- defaults.visualize [DMA_CHANNEL_AUDIO] = true ;
34- defaults.visualize [DMA_CHANNEL_BITPLANE] = true ;
35- defaults.visualize [DMA_CHANNEL_SPRITE] = true ;
36- defaults.visualize [DMA_CHANNEL_COPPER] = true ;
37- defaults.visualize [DMA_CHANNEL_BLITTER] = true ;
38-
39- defaults.debugColor [DMA_CHANNEL_CPU] = 0xFFFFFF00 ;
40- defaults.debugColor [DMA_CHANNEL_REFRESH] = 0xFF000000 ;
41- defaults.debugColor [DMA_CHANNEL_DISK] = 0x00FF0000 ;
42- defaults.debugColor [DMA_CHANNEL_AUDIO] = 0xFF00FF00 ;
43- defaults.debugColor [DMA_CHANNEL_BITPLANE] = 0x00FFFF00 ;
44- defaults.debugColor [DMA_CHANNEL_SPRITE] = 0x0088FF00 ;
45- defaults.debugColor [DMA_CHANNEL_COPPER] = 0xFFFF0000 ;
46- defaults.debugColor [DMA_CHANNEL_BLITTER] = 0xFFCC0000 ;
47-
48- return defaults;
49- }
50-
5118void
5219DmaDebugger::resetConfig ()
5320{
54- auto defaults = getDefaultConfig ();
55-
56- setConfigItem (OPT_DMA_DEBUG_ENABLE, defaults.enabled );
57- setConfigItem (OPT_DMA_DEBUG_MODE, defaults.displayMode );
58- setConfigItem (OPT_DMA_DEBUG_OPACITY, defaults.opacity );
21+ assert (isPoweredOff ());
22+ auto &defaults = amiga.properties ;
23+
24+ std::vector <Option> options = {
25+
26+ OPT_DMA_DEBUG_ENABLE,
27+ OPT_DMA_DEBUG_MODE,
28+ OPT_DMA_DEBUG_OPACITY
29+ };
5930
60- for (isize i = 0 ; DmaChannelEnum::isValid (i); i++) {
31+ for (auto &option : options) {
32+ setConfigItem (option, defaults.get (option));
33+ }
34+
35+ std::vector <Option> moreOptions = {
36+
37+ OPT_DMA_DEBUG_CHANNEL,
38+ OPT_DMA_DEBUG_COLOR
39+ };
6140
62- setConfigItem (OPT_DMA_DEBUG_ENABLE, i, defaults.visualize [i]);
63- setConfigItem (OPT_DMA_DEBUG_COLOR, i, defaults.debugColor [i]);
41+ for (auto &option : moreOptions) {
42+ for (isize i = 0 ; DmaChannelEnum::isValid (i); i++) {
43+ setConfigItem (option, i, defaults.get (option, i));
44+ }
6445 }
6546}
6647
@@ -85,8 +66,8 @@ DmaDebugger::getConfigItem(Option option, long id) const
8566
8667 switch (option) {
8768
88- case OPT_DMA_DEBUG_ENABLE : return config.visualize [id];
89- case OPT_DMA_DEBUG_COLOR: return config.debugColor [id];
69+ case OPT_DMA_DEBUG_CHANNEL : return config.visualize [id];
70+ case OPT_DMA_DEBUG_COLOR: return config.debugColor [id];
9071
9172 default :
9273 fatalError;
@@ -132,7 +113,7 @@ DmaDebugger::setConfigItem(Option option, long id, i64 value)
132113
133114 switch (option) {
134115
135- case OPT_DMA_DEBUG_ENABLE :
116+ case OPT_DMA_DEBUG_CHANNEL :
136117
137118 config.visualize [channel] = value;
138119
0 commit comments