As to the cycles information provided to the profiler with
previously available methods, that information seems to be
now completely bogus for TT & Falcon. Values are never sane,
either zeros or in millions, depending on where the profiler
takes them.
This is the profiler code for getting the cycles:
--------- profilecpu.c ------------
/* This is relevant with WinUAE CPU core:
* - the default cycle exact variant needs this define to be non-zero
* - non-cycle exact and MMU variants need this define to be 0
* for cycle counts to make any sense
*/
#define USE_CYCLES_COUNTER 1
...
#if USE_CYCLES_COUNTER
/* Confusingly, with DSP enabled, cycle counter is for this
* instruction, without DSP enabled, it's a monotonically
* increasing counter.
*/
if (bDspEnabled) {
cycles = Cycles_GetCounter(CYCLES_COUNTER_CPU);
} else {
Uint32 newcycles = Cycles_GetCounter(CYCLES_COUNTER_CPU);
cycles = newcycles - cpu_profile.prev_cycles;
cpu_profile.prev_cycles = newcycles;
}
#else
cycles = CurrentInstrCycles + nWaitStateCycles;
#endif
------------------------------------
You can get debugging info for the values by setting
DEBUG define in profilecpu.c.