===========================================================================
| 3297 | |
| 3298 | //=========================================================================== |
| 3299 | Update_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 |
no test coverage detected