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

Function CmdCursorLineDown

source/Debugger/Debug.cpp:3299–3370  ·  view source on GitHub ↗

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

Source from the content-addressed store, hash-verified

3297
3298//===========================================================================
3299Update_t CmdCursorLineDown (int nArgs)
3300{
3301 int iOpmode;
3302 int nOpbytes;
3303 _6502_GetOpmodeOpbyte( g_nDisasmCurAddress, iOpmode, nOpbytes ); // g_nDisasmTopAddress
3304
3305 if (g_iWindowThis == WINDOW_DATA)
3306 {
3307 _CursorMoveDownAligned( WINDOW_DATA_BYTES_PER_LINE );
3308 DisasmCalcTopBotAddress();
3309 }
3310 else
3311 if (nArgs) // scroll down by 'n' bytes
3312 {
3313 nOpbytes = nArgs; // HACKL g_aArgs[1].val
3314
3315 g_nDisasmTopAddress += nOpbytes;
3316 g_nDisasmCurAddress += nOpbytes;
3317 g_nDisasmBotAddress += nOpbytes;
3318 DisasmCalcTopBotAddress();
3319 }
3320 else
3321 {
3322#if DEBUG_SCROLL == 6
3323 // Works except on one case: G FB53, SPACE, DOWN
3324 WORD nTop = g_nDisasmTopAddress;
3325 WORD nCur = g_nDisasmCurAddress + nOpbytes;
3326 if (g_bDisasmCurBad)
3327 {
3328 g_nDisasmCurAddress = nCur;
3329 g_bDisasmCurBad = false;
3330 DisasmCalcTopFromCurAddress();
3331 return UPDATE_DISASM;
3332 }
3333
3334 // Adjust Top until nNewCur is at > Cur
3335 do
3336 {
3337 g_nDisasmTopAddress++;
3338 DisasmCalcCurFromTopAddress();
3339 } while (g_nDisasmCurAddress < nCur);
3340
3341 DisasmCalcCurFromTopAddress();
3342 DisasmCalcBotFromTopAddress();
3343 g_bDisasmCurBad = false;
3344#endif
3345 g_nDisasmCurAddress += nOpbytes;
3346
3347 _6502_GetOpmodeOpbyte( g_nDisasmTopAddress, iOpmode, nOpbytes );
3348 g_nDisasmTopAddress += nOpbytes;
3349
3350 _6502_GetOpmodeOpbyte( g_nDisasmBotAddress, iOpmode, nOpbytes );
3351 g_nDisasmBotAddress += nOpbytes;
3352
3353 if (g_bDisasmCurBad)
3354 {
3355// MessageBox( NULL, "Bad Disassembly of opcodes", "Debugger", MB_OK );
3356

Callers 2

CmdCursorPageDownFunction · 0.85
DebuggerProcessKeyFunction · 0.85

Calls 6

_6502_GetOpmodeOpbyteFunction · 0.85
_CursorMoveDownAlignedFunction · 0.85
DisasmCalcTopBotAddressFunction · 0.85

Tested by

no test coverage detected