===========================================================================
| 8469 | |
| 8470 | //=========================================================================== |
| 8471 | void 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, |
no test coverage detected