Ok, I have found where PUAE is freezing on the Mac.
It is inside the framewait function in custom.c. There is a loop in this function which looks like this:
Code:
for (;;) {
double v = rpt_vsync () / (syncbase / 1000.0);
if (v >= -4)
break;
uae_msleep (2);
}
This loop never ends in my tests because the
syncbase variable is always set to zero, so
v always gets set to
nan and hence the
break instruction is never reached.
I am trying to understand the code that sets syncbase now. It appears to have something to do with TSC frequency... whatever that is. I have noticed that the following lines appear during PUAE's startup:
Quote:
Testing the RDTSC instruction ... done.
Calibrating TSC frequency...TSC frequency: 2660.814000 MHz
|
.. but these lines do not appear in E-UAE's startup on the Mac (even though code for them seems to be present in E-UAE).
Could this be a build settings problem? Should this TSC stuff be getting used on the Mac?