Bueno, pues resulta que estaba yo compilando felizmente este emulador de Master System para la GP2X... y en uno de los archivos me da este error:
El método en cuestión es éste:Código:PrecisionTimer.cpp: In member function 'void PrecisionTimer::calibrate(int)': PrecisionTimer.cpp:46: error: impossible constraint in 'asm' PrecisionTimer.cpp:48: error: impossible constraint in 'asm'
He marcado las dos lineas erroneas. Despues de investigar un poco la funcion rdtsc, me he enterado que es una instrucción para contar los ciclos de reloj ejecutados en la arquitectura Pentium (de ahí que dé el error al compilar para ARM).Código PHP:void PrecisionTimer::calibrate(int s)
{
unsigned long long start;
unsigned long long stop;
if (verbose)
{
cout << "Calibrating:" << dec<< s << " seconds." << endl;
}
rdtsc(start); // <------------------------ ERROR AQUI
PORTABLE_SLEEP_FUNC;
rdtsc(stop); // <------------------------ ERROR AQUI
tick_per_second = (unsigned long long) ( stop - start );
tick_per_second = (tick_per_second / s);
if (verbose)
{
cout << "tick_per_second is: " << dec << tick_per_second << endl;
cout << "CPU seems to run at " << dec <<(tick_per_second / 1000000.0) << "Mhz." << endl;
}
}
¿Alguien puede darme alguna alternativa? Gracias!!




Mi Música
Citar





Marcadores