MCPcopy Create free account
hub / github.com/AppleWin/AppleWin / DrawSubWindow_Info

Function DrawSubWindow_Info

source/Debugger/Debugger_Display.cpp:3677–3748  ·  view source on GitHub ↗

===========================================================================

Source from the content-addressed store, hash-verified

3675
3676//===========================================================================
3677void DrawSubWindow_Info ( Update_t bUpdate, int iWindow )
3678{
3679 if (g_iWindowThis == WINDOW_CONSOLE)
3680 return;
3681
3682 // Left Side
3683 int yRegs = 0; // 12
3684 int yStack = yRegs + MAX_DISPLAY_REGS_LINES + 0; // 0
3685 int yTarget = yStack + MAX_DISPLAY_STACK_LINES - 1; // 9
3686 int yZeroPage = 16; // yTarget
3687 int ySoft = yZeroPage + (2 * MAX_DISPLAY_ZEROPAGE_LINES) + !SOFTSWITCH_LANGCARD;
3688 int yBeam = ySoft - 3;
3689
3690 if (bUpdate & UPDATE_VIDEOSCANNER)
3691 DrawVideoScannerInfo(yBeam);
3692
3693 DrawIRQInfo(yBeam);
3694
3695 if ((bUpdate & UPDATE_REGS) || (bUpdate & UPDATE_FLAGS))
3696 DrawRegisters( yRegs );
3697
3698 if (bUpdate & UPDATE_STACK)
3699 DrawStack( yStack );
3700
3701 // 2.7.0.2 Fixed: Debug build of debugger force display all CPU info window wasn't calling DrawTargets()
3702 bool bForceDisplayTargetPtr = DEBUG_FORCE_DISPLAY || (g_bConfigInfoTargetPointer);
3703 if (bForceDisplayTargetPtr || (bUpdate & UPDATE_TARGETS))
3704 DrawTargets( yTarget );
3705
3706 if (bUpdate & UPDATE_ZERO_PAGE)
3707 DrawZeroPagePointers( yZeroPage );
3708
3709 DrawSoftSwitches( ySoft );
3710
3711 #if defined(SUPPORT_Z80_EMU) && defined(OUTPUT_Z80_REGS)
3712 DrawRegister( 19,"AF",2,*(WORD*)(membank+REG_AF));
3713 DrawRegister( 20,"BC",2,*(WORD*)(membank+REG_BC));
3714 DrawRegister( 21,"DE",2,*(WORD*)(membank+REG_DE));
3715 DrawRegister( 22,"HL",2,*(WORD*)(membank+REG_HL));
3716 DrawRegister( 23,"IX",2,*(WORD*)(membank+REG_IX));
3717 #endif
3718
3719 // Right Side
3720 int yBreakpoints = 0;
3721 int yWatches = yBreakpoints + MAX_BREAKPOINTS; // MAX_DISPLAY_BREAKPOINTS_LINES; // 7
3722 const UINT numVideoScannerInfoLines = 4; // There used to be 2 extra watches (and each watch is 2 lines)
3723 int yMemory = yWatches + numVideoScannerInfoLines + (MAX_WATCHES*2); // MAX_DISPLAY_WATCHES_LINES ; // 14 // 2.7.0.15 Fixed: Memory Dump was over-writing watches
3724
3725 // if ((MAX_DISPLAY_BREAKPOINTS_LINES + MAX_DISPLAY_WATCHES_LINES) < 12)
3726 // yWatches++;
3727
3728 bool bForceDisplayBreakpoints = DEBUG_FORCE_DISPLAY || (g_nBreakpoints > 0); // 2.7.0.11 Fixed: Breakpoints and Watches no longer disappear.
3729 if ( bForceDisplayBreakpoints || (bUpdate & UPDATE_BREAKPOINTS))
3730 DrawBreakpoints( yBreakpoints );
3731
3732 bool bForceDisplayWatches = DEBUG_FORCE_DISPLAY || (g_nWatches > 0); // 2.7.0.11 Fixed: Breakpoints and Watches no longer disappear.
3733 if ( bForceDisplayWatches || (bUpdate & UPDATE_WATCH))
3734 DrawWatches( yWatches );

Callers 6

DrawWindow_CodeFunction · 0.85
DrawWindow_DataFunction · 0.85
DrawWindow_IOFunction · 0.85
DrawWindow_SourceFunction · 0.85
DrawWindow_SymbolsFunction · 0.85
DrawWindow_ZeroPageFunction · 0.85

Calls 11

DrawVideoScannerInfoFunction · 0.85
DrawIRQInfoFunction · 0.85
DrawRegistersFunction · 0.85
DrawStackFunction · 0.85
DrawTargetsFunction · 0.85
DrawZeroPagePointersFunction · 0.85
DrawSoftSwitchesFunction · 0.85
DrawRegisterFunction · 0.85
DrawBreakpointsFunction · 0.85
DrawWatchesFunction · 0.85
DrawMemoryFunction · 0.85

Tested by

no test coverage detected