Zona Arcade. Construye, Restaura y Decora tu Máquina Arcade y Pinball.

Mini-tutorial: Cómo restaurar los “slider controls” para overclockear los juegos en el emulador Mame

« Older   Newer »
  Share  
view post Posted on 28/10/2009, 23:43     +1   -1
Avatar

Restless in Peace

Group:
Administrator
Posts:
42,875
Location:
Alcobendas (Madrid)

Status:


Mini-tutorial: Cómo restaurar los “slider controls” para overclockear los juegos en el emulador Mame

- Introducción

No sé si esto interesara a alguien, a mí desde luego sí, y os aseguro que he estado incontables horas delante del ordenador para conseguirlo. Es lo que pasa cuando uno se pone a tratar de averiguar cómo cambiar algo en el código fuente de MAME sin tener ni idea de “C”. Nunca perdí la fe. Al final, la solución fue más de lógica que de lograr que la flauta sonara por casualidad, porque el único sonido que salía de este asunto eran los errores al compilar, que tampoco me ayudaban demasiado, la verdad, ni para darme pistas ni para animarme en mi empeño. Pero bueno, no me enrollo y vamos a lo que vamos.

Nota: En el momento en que se escribe este documento la versión actual de Mame es la 0.134.


- Restaurando los “slider controls” para overclockear los juegos en el emulador Mame

El objetivo era poder sacar los “slider controls” con la “tecla º”, (o con el botón asociado), tal y como se hacía en el las viejas versiones del emulador Mame. Lo de que salga el “Master volumen” a mí me resulta totalmente inútil en las versiones actuales, porque el volumen lo controlo por hardware. Incluso mejor sería el poder sacar el “slider de overclocking”, que es lo que me interesa fundamentalmente. El tener que acceder al overclocking a través de tortuosos menús era algo inaceptable. Al final lo que he logrado es esto último, lo cual me resulta ideal, mejor incluso que como era antiguamente con el menú deslizable (arriba-abajo).

La barra “overclocking” nos permite incrementar la velocidad del procesador para lograr una mejor ejecución de los juegos en el emulador Mame que sean muy exigente en cuanto requisitos técnicos, es, por tanto y en mi opinión, una función muy útil e interesante, que quería recuperar.

El fichero a editar es “ui.c”. Cambie miles de veces la línea “return ui_set_handler(ui_slider_ui_handler, 1); /* ñ */”, que es la que invoca el “on-screen-display”, ahora reducido al mísero “Master volumen”. Pensé que el 1 definía el “slider” que sacaba, pero parece ser que no. Luego traté de meter ahí la referencia al “slider” de “overclocking”, pero nada más que fallos y fallos al compilar. Finalmente, más abajo, donde se listan los “sliders”, pensé en algo tan sencillo como increíble si es que funcionara: cambiar el orden en el que se definen los sliders. Justo debajo de:

CODE
/*-------------------------------------------------
slider_init - initialize the list of slider
controls
-------------------------------------------------*/


Tenéis que mover:

CODE
/* add CPU overclocking (cheat only) */
if (options_get_bool(mame_options(), OPTION_CHEAT))
{
for (device = machine->firstcpu; device != NULL; device = cpu_next(device))
{
void *param = (void *)device;
astring_printf(string, "Overclock CPU %¬s", device->tag);
*tailptr = slider_alloc(machine, astring_c(string), 1, 1000, 2000, 50, slider_overclock, param);
tailptr = &(*tailptr)->next;
}
}


De manera que esté antes que:

CODE
/* add overall volume */
*tailptr = slider_alloc(machine, "Master Volume", -32, 0, 0, 1, slider_volume, NULL);
tailptr = &(*tailptr)->next;


De esta forma tan sorprendente, resulta que el “on-screen-display” llama al primer “slider”, que resulta ser el que hemos colocado en primera posición. ¡Voila! Le damos a la “tecla º”y nos sale directamente para overclockear el juego.

Captura de pantalla del juegos “Mortal Kombat 3”, considerado como juego exigente, en donde se exhibe la barra o slider de overclocking.
image

¡Creo que se han asustado los vecinos con mis gritos de júbilo cuando he visto que funcionaba!


- Por Elaphe666 -
Maquetado imagen y texto: Mikonos
 
Web  Top
morogoku
view post Posted on 29/10/2009, 00:48     +1   -1




Bua, que pasada no?
Funciona de verdad el overclock? o solo sale la barra y no hace nada?
se nota la difenecia en rendimiento?
Podrias dar mas datos?
Procesador con que lo has probado etc?

Gracias
 
Top
comadreja
view post Posted on 29/10/2009, 10:42     +1   -1




Tas hecho un hacha....hecho-hacha-cacha-chacha-chachachá...BUF! lo dejo que me se esta yendooooo!
 
Top
view post Posted on 2/11/2009, 23:02     +1   -1
Avatar

Restless in Peace

Group:
Administrator
Posts:
42,875
Location:
Alcobendas (Madrid)

Status:


QUOTE
Funciona de verdad el overclock? o solo sale la barra y no hace nada?

Funcionan, pero no es la panacea de los juegos que son muy exigentes.


QUOTE
se nota la difenecia en rendimiento?

Sí, se ganan los frames perdidos en juegos exigentes, a veces a costa de otras cosas, como el sonido.



Saludos
 
Web  Top
3 replies since 28/10/2009, 23:43   841 views
  Share