Cómo funciona la emulación de MAME/MESS?

Hola!
Viendo que soporta tantisimos sistemas, me pregunto cómo funciona la emulación para tantos chips , BIOS etc..


Usan las mismas librerías y líneas de código para los.micros Z80 o 68k por ejemplo?

Va por librerías , cores o algo parecido?

Retroarch/ libretto funciona de forma parecida?

Saludos!
La estructura interna del código de MAME ha variado bastante desde sus comienzos allá por finales de los 90. Hoy en día se ha modernizado muchísimo y se utilizan técnicas de diseño de software actuales y más acordes con los tiempos.

Digamos que, por simplificar un poco la explicación, MAME se ha modularizado de manera que cada componente hardware tiene su propio código. Estos luego son unidos y acoplados según las necesidades del sistema a emular, es decir, cada CPU, DSP, RAM, chip de audio, multiplexor, controlador, etc, lleva su propia parte del código de manera que pueda ser utilizada sólo en aquellas partes que haga falta. Luego dispone también de un tronco común donde se integra la interface gráfica, todas las librerías de tratamiento de imágenes, compresión, tratamiento de ficheros y otras partes necesarias para que funcione el conjunto del emulador.

Un saludo.
Intentando añadir información sin saber mucho del tema (así que espero confirmación de alguien que sí sepa), cada sistema lleva su própia, por decirlo de alguna manera, hoja de instrucciones donde además se añaden peculiaridades de cada sistema.
@Hodor

Merçi,
Está muy chulo que vayan mezclando los códigos de los micros para cada sistema
así pueden ir optimizando cada micro cada vez más, lastima q en los sistemas potentes como Naomi , model 3 , etc.. esté muy por detrás de los emuladores exclusivos..

Retroarch y los emuladores que son libretto funcionan de manera similar?

Saludos
3xcl4m4t10n escribió:Intentando añadir información sin saber mucho del tema (así que espero confirmación de alguien que sí sepa), cada sistema lleva su própia, por decirlo de alguna manera, hoja de instrucciones donde además se añaden peculiaridades de cada sistema.


Efectivamente, cada sistema trata de documentarse de la manera más detallada posible. De hecho, bucear por la información detallada de los drivers de MAME resulta muy interesante si te gusta ir un poquito más allá en temas técnicos.

ziu escribió:@Hodor

[...]

Retroarch y los emuladores que son libretto funcionan de manera similar?

Saludos


No puedo responderte adecuadamente porque tampoco es un proyecto que personalmente me apasione.

Un saludo.
Hodor escribió:Efectivamente, cada sistema trata de documentarse de la manera más detallada posible. De hecho, bucear por la información detallada de los drivers de MAME resulta muy interesante si te gusta ir un poquito más allá en temas técnicos.


Dimelo a mi. Estoy bastante activo en la escena competitiva de Jojoban y llevabamos AÑOS con un bug tontisimo: El contador de combos del segundo jugador no aparecía. Lo puse en el sitio este de reportar bugs del mame, lo puse en foros, en reddit, en github... Ni caso. Hasta que no me dió por soltar 60 eurazos no le dió a alguien por mirar los drivers y, ¿sabes que era? Una linea de código que estaba por debajo de la posición que le correspondía, haciendo que se solapara un layer del fondo que tapaba el contador de combos.
3xcl4m4t10n escribió:
Hodor escribió:Efectivamente, cada sistema trata de documentarse de la manera más detallada posible. De hecho, bucear por la información detallada de los drivers de MAME resulta muy interesante si te gusta ir un poquito más allá en temas técnicos.


Dimelo a mi. Estoy bastante activo en la escena competitiva de Jojoban y llevabamos AÑOS con un bug tontisimo: El contador de combos del segundo jugador no aparecía. Lo puse en el sitio este de reportar bugs del mame, lo puse en foros, en reddit, en github... Ni caso. Hasta que no me dió por soltar 60 eurazos no le dió a alguien por mirar los drivers y, ¿sabes que era? Una linea de código que estaba por debajo de la posición que le correspondía, haciendo que se solapara un layer del fondo que tapaba el contador de combos.


Curioso lo que comentas, una pena que tuviese que resolverse tras soltar dinero. Si te soy sincero, muchas veces con cada nueva versión del emulador me interesa más la parte de "bugfix" que el resto de nuevas implementaciones. De hecho, cada vez que se resuelve un bug de algún juego arcade clásico aplaudo con las orejas [carcajad]

Personalmente siempre he sido más seguidor de la parte puramente arcade del emulador. Me la trae al pairo toda la sección de tragaperras o similares, y sólo en los últimos meses ha ido creciendo en mí el interés por la parte MESS.

Un saludo.
Hodor escribió:
3xcl4m4t10n escribió:
Hodor escribió:Efectivamente, cada sistema trata de documentarse de la manera más detallada posible. De hecho, bucear por la información detallada de los drivers de MAME resulta muy interesante si te gusta ir un poquito más allá en temas técnicos.


Dimelo a mi. Estoy bastante activo en la escena competitiva de Jojoban y llevabamos AÑOS con un bug tontisimo: El contador de combos del segundo jugador no aparecía. Lo puse en el sitio este de reportar bugs del mame, lo puse en foros, en reddit, en github... Ni caso. Hasta que no me dió por soltar 60 eurazos no le dió a alguien por mirar los drivers y, ¿sabes que era? Una linea de código que estaba por debajo de la posición que le correspondía, haciendo que se solapara un layer del fondo que tapaba el contador de combos.


Curioso lo que comentas, una pena que tuviese que resolverse tras soltar dinero. Si te soy sincero, muchas veces con cada nueva versión del emulador me interesa más la parte de "bugfix" que el resto de nuevas implementaciones. De hecho, cada vez que se resuelve un bug de algún juego arcade clásico aplaudo con las orejas [carcajad]

Personalmente siempre he sido más seguidor de la parte puramente arcade del emulador. Me la trae al pairo toda la sección de tragaperras o similares, y sólo en los últimos meses ha ido creciendo en mí el interés por la parte MESS.

Un saludo.


Si, de echo yo estoy en "un famoso sitio de internet que se dedica al trapicheo de estas cosas" y precisamente hace dos días por primera vez, le he pegado un puñado al set de MESS, pero ni lo he tocado de momento.

Respecto a los bugfixes ya somos dos. Me interesa mas que se vayan corrigiendo cosas que realmente si se emula o no el visor de una máquina tragaperras. Pero ya se sabe, el objetivo es mas preservar que la fidelidad, supuestamente lo primero tiene muchísimas mas preferencia y mientras existan cosas sin dumpear tendremos que aguantarnos. Una pena por ejemplo que CPS3 aun tenga a estas alturas fallos en gráficos y sonidos...

Y si, una pena que tuviese que ser a traves de dinero pero despues de años esperando fue la única opción que me quedaba. Y por cierto, también tuvo polémica el asunto y creo que al final se decidió que no se iban a aceptar pagos por corregir fallos (siendo el mio que lo puse en una web dedicada y enlazada a github para este tipo de asuntos).
7 respuestas