--- hatari/src/falcon/dsp_disasm.c 2019/04/09 08:52:09 1.1.1.6 +++ hatari/src/falcon/dsp_disasm.c 2019/04/09 08:53:21 1.1.1.7 @@ -24,6 +24,7 @@ #endif #include +#include #include #include "dsp_core.h" @@ -540,7 +541,9 @@ Uint16 dsp56k_disasm(dsp_trace_disasm_t const char* dsp56k_getInstructionText(void) { const int len = sizeof(str_instr); - Uint32 count, cycles; + Uint64 count, cycles; + Uint16 cycle_diff; + float percentage; int offset; if (isLooping) { @@ -551,9 +554,10 @@ const char* dsp56k_getInstructionText(vo } else { offset = sprintf(str_instr2, "p:%04x %06x %06x (%02d cyc) %-*s\n", prev_inst_pc, cur_inst, read_memory(prev_inst_pc + 1), dsp_core.instr_cycle, len, str_instr); } - if (offset > 2 && Profile_DspAddressData(prev_inst_pc, &count, &cycles)) { + if (offset > 2 && Profile_DspAddressData(prev_inst_pc, &percentage, &count, &cycles, &cycle_diff)) { offset -= 2; - sprintf(str_instr2+offset, "%d/%d times/cycles\n", count, cycles); + sprintf(str_instr2+offset, "%5.2f%% (%"PRId64", %"PRId64", %d)\n", + percentage, count, cycles, cycle_diff); } return str_instr2; }