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

Function OutputTraceLine

source/Debugger/Debug.cpp:8471–8555  ·  view source on GitHub ↗

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

Source from the content-addressed store, hash-verified

8469
8470//===========================================================================
8471void OutputTraceLine ()
8472{
8473 if (!g_hTraceFile)
8474 return;
8475
8476 DisasmLine_t line;
8477 GetDisassemblyLine( regs.pc, line );
8478
8479 // DrawDisassemblyLine( 0,regs.pc, sDisassembly); // Get Disasm String
8480 std::string sDisassembly = FormatDisassemblyLine( line );
8481
8482 char sFlags[] = "........";
8483 WORD nRegFlags = regs.ps;
8484 int nFlag = _6502_NUM_FLAGS;
8485 while (nFlag--)
8486 {
8487 int iFlag = (_6502_NUM_FLAGS - nFlag - 1);
8488 bool bSet = (nRegFlags & 1);
8489 if (bSet)
8490 sFlags[nFlag] = g_aBreakpointSource[BP_SRC_FLAG_C + iFlag][0];
8491 nRegFlags >>= 1;
8492 }
8493
8494 if (g_bTraceHeader)
8495 {
8496 g_bTraceHeader = false;
8497
8498 if (g_bTraceFileWithVideoScanner)
8499 {
8500 fprintf( g_hTraceFile,
8501// "0000 0000 0000 00 00 00 00 0000 -------- 0000:90 90 90 NOP"
8502 "Vert Horz Addr Data A: X: Y: SP: Flags Addr:Opcode Mnemonic\n");
8503 }
8504 else
8505 {
8506 fprintf( g_hTraceFile,
8507// "00000000 00 00 00 0000 -------- 0000:90 90 90 NOP"
8508 "Cycles A: X: Y: SP: Flags Addr:Opcode Mnemonic\n");
8509 }
8510 }
8511
8512 //std::string const sTarget = (line.bTargetValue)
8513 // ? StrFormat( "%s:%s", line.sTargetPointer , line.sTargetValue )
8514 // : std::string();
8515
8516 if (g_bTraceFileWithVideoScanner)
8517 {
8518 uint16_t vert, horz;
8519 NTSC_GetVideoVertHorzForDebugger(vert, horz); // update video scanner's vert/horz position - needed for when in fullspeed (GH#1164)
8520
8521 uint32_t data;
8522 int dataSize;
8523 uint16_t addr = NTSC_GetScannerAddressAndData(data, dataSize);
8524
8525 fprintf( g_hTraceFile,
8526 "%04X %04X %04X %02X %02X %02X %02X %04X %s %s\n",
8527 vert,
8528 horz,

Callers 1

DebugContinueSteppingFunction · 0.85

Calls 4

GetDisassemblyLineFunction · 0.85
FormatDisassemblyLineFunction · 0.85

Tested by

no test coverage detected