Mame (originalmente un acrónimo de múltiples emulador de máquinas arcade) es un emulador gratuito y de código abierto diseñado para recrear el hardware de los sistemas de juegos Arcade en software en computadoras personales modernas y otras plataformas. [2] La intención es preservar el historial de juegos evitando que los juegos vintage se pierdan u se olviden. El objetivo de MAME es ser una referencia al funcionamiento interno de las máquinas arcade emuladas; La capacidad de jugar realmente se considera "un buen efecto secundario". [3] Joystiq ha enumerado a Mame como una aplicación que todos los jugadores de Windows y Mac deberían tener. [4]
El primer lanzamiento público de Mame fue de Nicola Salmoria el 5 de febrero de 1997. El emulador ahora admite más de 7,000 juegos únicos y 10,000 conjuntos de imágenes ROM reales, aunque no todos los juegos compatibles son jugables. Mess, un emulador para muchas consolas de videojuegos y sistemas informáticos, basados en el Mame Core, se integró aguas arriba en MAME en 2015.
Mame (múltiple emulador de máquinas arcade) es un emulador de código abierto y abierto diseñado para recrear el hardware del sistema de juegos Arcade en software en computadoras personales modernas y otras plataformas. Mame.net es un emulador arcade basado en C#, y mantiene la misma arquitectura de MAME. Al usar C# y el poderoso entorno de desarrollo integrado: Microsoft Visual Studio, no hay macro y puede depurar el juego Arcade compatible en cualquier lugar. Ahora hay algunos tableros clásicos compatibles con: M72, M92, CPS-1, CPS-1 (QSound), CPS2, Neo Geo, Namco System 1, IGS011, PGM (Polygame Master).
Mame.net se ejecuta en los siguientes pasos: Cargue las ROM, inicialice la máquina, el reinicio suave de la máquina y la operación de bucle "CPuexec_TimesLice". La operación "CPuexec_TimesLice" significa ejecutar secuencialmente cada CPU para una porción de tiempo y ejecutar devoluciones de llamada de temporizador. Las devoluciones de llamada del temporizador contienen: actualización de video, reinicio suave, interrupción de la CPU, actualización de sonido, restablecimiento de vigilancia y otras interrupciones. Según estos pasos, Mame.net emula el tablero Arcade con éxito. Mame.net tiene más funciones: guardar y cargar estado, grabar y reproducir entrada, trucos, búsqueda de trucos, IPS (Patch Main ROM), depurador de tableros, depurador de CPU.



Cuando se cargan las ROM de un juego, el emulador se detiene automáticamente. Presione P para continuar.
*Ocasionalmente se produce un error GDI+ y se muestra una Cruz Roja. Puede hacer clic en "cuadro de imagen de reinicio de archivos" para manejar el error.
1 Historia y descripción general 2 Diseño 2.1 Datos de juego 3 Filosofía y precisión 4 Estado legal 5 Mame-Licensa original 6 Ver también 7 Referencias 8 enlaces externos
El proyecto fue iniciado por el programador italiano Nicola Salmoria. Mame traza sus raíces a un proyecto emulador anterior llamado Multi-PAC, pero el nombre cambió a medida que más y más juegos comenzaron a emularse dentro del marco MAME. La primera versión fue lanzada en 1996. [5] En abril de 1997, Salmoria renunció a sus compromisos de servicio nacional, entregando la administración del proyecto a su compañero italiano Mirko Buffoni por un período de medio año. En mayo de 2003, David Haywood se hizo cargo del trabajo del coordinador. Desde abril de 2005 hasta abril de 2011, el proyecto fue coordinado por Aaron Giles. [6] Angelo Salese intervino como el nuevo coordinador. [7] En 2012, MioDrag Milanovic se hizo cargo. [8] El proyecto cuenta con el apoyo de cientos de desarrolladores de todo el mundo y miles de contribuyentes externos.
Al principio, Mame se desarrolló exclusivamente para MS-DOS, pero pronto se portó a sistemas similares a Unix (X/MAME), Macintosh (MacMame y luego Mame OS X) y Windows (Mame32). Desde el 24 de mayo de 2001 con la versión 0.37B15 [6], el desarrollo principal se produce en la plataforma de Windows, y la mayoría de las otras plataformas se admiten a través del proyecto SDLMAME, que se integró en el árbol de origen principal de desarrollo en 2006. [9] Además, se han portado diferentes versiones de MAME a otras computadoras, consolas de juegos, teléfonos móviles y PDA, y en un punto incluso a cámaras digitales. [10] En 2012, Google portó MAME al cliente nativo, lo que permite que MAME se ejecute dentro de Chrome. [11]
Las principales lanzamientos de MAME ocurren aproximadamente una vez al mes. Los ejecutables de Windows en moda de 32 bits y 64 bits se lanzan en el sitio web oficial del equipo de desarrollo, junto con el código fuente completo. [12] Los lanzamientos más pequeños e incrementales de "U" (para actualización) se lanzaron semanalmente (hasta la versión 0.149U1) como la fuente difiere contra la versión principal más reciente, para mantener el código en la sincronización entre los desarrolladores. [13] El código fuente de MAME se desarrolla en un repositorio público de GitHub. [14] Esto permite a las personas con la experiencia y las herramientas requeridas para construir la versión más actualizada del código y contribuir con mejoras en forma de solicitudes de extracción. Los números de versión históricos 0.32, y 0.38 a 0.52 inclusivamente, no existen; El primero fue omitido debido a un nombramiento similar de la variante MAME32 (que desde entonces ha sido renombrado Mameui debido a la mudanza a compilaciones de 64 bits), mientras que los números últimos se omitieron debido a los numerosos lanzamientos en el ciclo beta 0.37 (estos números de versión se han marcado a continuación a su equivalente 0.37 beta beta en el sitio web oficial de Mamamedev). [15]. 15]
La arquitectura de Mame se ha mejorado ampliamente a lo largo de los años. El soporte para pantallas y vectores, así como múltiples CPU y chips de sonido, se agregaron a MAME en los primeros seis meses del proyecto. Se implementó un sistema de temporizador flexible para coordinar la sincronización entre múltiples núcleos de CPU emulados, y las imágenes de ROM comenzaron a cargarse de acuerdo con su hash CRC32 en los archivos zip en los que se almacenaron. [6] MAME ha sido pionera en la ingeniería inversa de muchas arquitecturas de sistemas indocumentadas, varias CPU (como la CPU Konami personalizada derivada de M6809 con nuevas instrucciones) y chips de sonido (por ejemplo, los chips de sonido Yamaha FM) y los desarrolladores MAME han sido instrumentales en la ingeniería inversa de muchas de muchas las patrimonio de los juegos de algoritmo patrocintarios. Ejemplos de estos incluyen el Neo Geo, CP System II, CP System III y muchos otros. [Cita necesaria]
La popularidad de Mame desde entonces ha irrumpido hasta la corriente principal, con entusiastas construyendo sus propios gabinetes de juegos arcade para revivir los viejos juegos, y con las compañías que producen obras derivadas ilegales de Mame que se instalarán en arcadas. Los gabinetes se pueden construir desde cero o desarmando y modificando un gabinete de juego de arcade genuino que una vez se usó con el hardware real en el interior. [16] [17] Los gabinetes inspirados en los juegos clásicos de arcade también se pueden comprar y ensamblar (con opcional y mame preinstalado). [18]
Aunque MAME contiene una interfaz de usuario rudimentaria, el uso de MAME en los gabinetes de juegos Arcade y los teatros en el hogar requiere aplicaciones especiales de lanzadores llamadas frontales con interfaces de usuario más avanzadas. Los extremos frontales proporcionan diversos grados de personalización, lo que permite ver imágenes de los gabinetes, historia de los juegos y consejos sobre cómo jugar e incluso el video del juego o atraer el modo del juego.
La información contenida en MAME es gratuita para la reutilización, y se sabe que las empresas utilizan MAME al recrear sus viejos clásicos en los sistemas modernos. Algunos han llegado tan lejos como para contratar desarrolladores de Mame para crear emuladores para sus antiguas propiedades. Un ejemplo de esto es el paquete Taito Legends que contiene ROM legibles en versiones seleccionadas de Mame. [19]
Desde 2012, Mame es mantenido por el entonces líder del proyecto Mess Miodrag Milanović. [8]
El 27 de mayo de 2015 (0.162), la consola de juegos y el desorden del emulador del sistema informático se integraron con MAME (por lo que el Manual del usuario de MESS sigue siendo la instrucción de uso más importante para las partes no arcadas de MAME). [20]
En mayo de 2015, se anunció que los desarrolladores de Mame estaban planeando volver a clasificar el software bajo una licencia gratuita y de código abierto más comunes, lejos de la licencia original de Mame. El desarrollador de Mame, Miodrag Milanovic, explicó que el cambio está destinado a atraer más interés de desarrollador para el proyecto, permitir que los fabricantes de juegos distribuyan MAME emular sus propios juegos y hacer del software una "herramienta de aprendizaje para desarrolladores que trabajan en tableros de desarrollo". La transición de la licencia de Mame a las licencias BSD/GPL se completó en marzo de 2016. [21] [22] Con el cambio de licencia, la mayor parte del código fuente de MAME (90%+) está disponible bajo una licencia BSD de tres cláusulas y el proyecto completo está bajo la versión pública general de GNU, la versión 2 o posterior. [21] [23]
El 24 de febrero de 2016 (0.171), el front-end Mewui de Mame incrustado (y el desarrollador se unió al equipo), proporcionando a MAME una interfaz de usuario flexible y más completa. [24]
Esta sección posiblemente contiene investigación original. Me mejore verificar las afirmaciones hechas y agregando citas en línea. Las declaraciones que consisten solo en la investigación original deben eliminarse. (Julio de 2019) (Aprenda cómo y cuándo eliminar este mensaje de plantilla) El Mame Core coordina la emulación de varios elementos al mismo tiempo. Estos elementos replican el comportamiento del hardware presente en las máquinas Arcade originales. MAME puede emular muchas unidades de procesamiento central diferentes (CPU) y hardware asociado. Estos elementos se virtualizan, por lo que Mame actúa como una capa de software entre el programa original del juego, y la plataforma Mame funciona. MAME admite resoluciones de pantalla arbitrarias, actualizaciones de actualización y configuraciones de visualización. Los monitores emulados múltiples, según lo requerido, por ejemplo, Darius, también son compatibles.
Los sistemas de arcade individuales son especificados por los controladores que toman la forma de las macros preprocesador C. Estos controladores especifican que los componentes individuales se emularán y cómo se comunican entre sí. Si bien MAME se escribió originalmente en C, la necesidad de programación orientada a objetos hizo que el equipo de desarrollo comenzara a compilar todo el código como C ++ para Mame 0.136, aprovechando las características adicionales de ese idioma en el proceso.
Aunque una gran mayoría de los núcleos de emulación de la CPU son interpretativos, MAME también admite la recompilación dinámica a través de un lenguaje intermedio llamado Lenguaje de Máquina Universal (UML) para aumentar la velocidad de la emulación. Los objetivos de fondo admitidos son X86 y X64. El backend de CA también está disponible para una mayor verificación de ayuda de la corrección. Las CPU emuladas de esta manera son SH-2, MIPS R3000 y PowerPC.
El código de programa original, los gráficos y los datos de sonido deben estar presentes para que se pueda emular el juego. En la mayoría de las máquinas arcade, los datos se almacenan en chips de memoria de solo lectura (ROM), aunque también se utilizan otros dispositivos como cintas de cassette, disquetes, discos duros, discos láser y discos compactos. El contenido de la mayoría de estos dispositivos se puede copiar en archivos de computadora, en un proceso llamado "vertido". Los archivos resultantes a menudo se llaman genéricamente imágenes de ROM o ROM, independientemente del tipo de almacenamiento del que provengan. Un juego generalmente consta de múltiples imágenes ROM y PAL; Estos se almacenan colectivamente dentro de un solo archivo zip, constituyendo un conjunto de ROM. Además del conjunto de ROM "Parent" (generalmente elegido como la versión más reciente del "mundo" del juego), los juegos pueden tener conjuntos de ROM "clon" con un código de programa diferente, texto de idioma diferente destinado a diferentes mercados, etc. Por ejemplo, Street Fighter II Turbo se considera una variante de la edición campeona de Street Fighter II. Los tableros de sistemas como el Neo Geo que tienen ROM compartidas entre múltiples juegos requieren que las ROM se almacenen en conjuntos de ROM "BIOS" y se denominen apropiadamente.
Los discos duros, los discos compactos y los discos láser se almacenan en un formato específico de MAME llamado CHD (trozos de datos comprimidos). [25] Algunas máquinas Arcade usan hardware analógico, como LaserDiscs, para almacenar y reproducir datos de audio/video, como bandas sonoras y cinemáticas. Estos datos deben ser capturados y codificados en archivos digitales que Mame puede leer. MAME no es compatible con el uso de dispositivos analógicos externos, que (junto con recintos idénticos de los altavoces y altavoces) serían necesarios para una reproducción 100% fiel de la experiencia arcade. Varios juegos usan chips de sonido que aún no se han emulado con éxito. Estos juegos requieren muestras de sonido en formato de archivo WAV para la emulación de sonido. MAME además admite archivos de obras de arte en formato PNG para gráficos de bisel y superposición.
El objetivo declarado del proyecto es documentar el hardware, por lo que Mame toma una visión algo purista de la emulación, prohibiendo los trucos de programación que podrían hacer que un juego funcione incorrectamente o sea más rápido a expensas de la precisión de la emulación. Los componentes como las CPU se emulan a un nivel bajo (lo que significa que las instrucciones individuales se emulan) siempre que sea posible, y la emulación de alto nivel (HLE) solo se usa cuando un chip es completamente indocumentado y no puede ser ingeniería inversa en detalle. La emulación del nivel de señal se usa para emular circuitos de audio que consisten en componentes analógicos.
Queremos documentar el hardware. Ahora mucha gente dirá; "¿Dónde está su documento? Simplemente escribe un montón de código fuente". Y sí, eso es cierto. Una cosa que he aprendido es que mantener la documentación sincronizada con el código fuente es casi imposible. La mejor prueba de que su documentación es correcta es "funciona este código".
- Aaron Giles, California Extreme 2008 [26] Mame emula más de mil tableros de sistemas de arcade diferentes, la mayoría de los cuales están completamente indocumentados y personalizados para ejecutar un solo juego o un número muy pequeño de ellos. El enfoque que Mame adopta con respecto a la precisión es incremental; Los sistemas se emulan con la mayor precisión posible. Las copias de los juegos de contrabando son a menudo las primeras en ser emuladas, con versiones adecuadas (y protegidas) emuladas más adelante. Además del cifrado, los juegos de arcade generalmente estaban protegidos con unidades de microcontrolador personalizadas (MCU) que implementaron una parte de la lógica del juego o algunas otras funciones importantes. Se prefiere la emulación de estos chips incluso cuando tienen poco o ningún efecto visible inmediatamente en el juego en sí. Por ejemplo, el comportamiento de los monstruos en Bubble Bobble no se perfeccionó hasta que el código y los datos contenidos con el MCU personalizado se arrojaron a través de la decapitación del chip. [27] Esto da como resultado que los requisitos del conjunto de ROM cambien a medida que los juegos se emulan en un grado cada vez más preciso, lo que hace que las versiones más antiguas del conjunto de ROM se vuelvan inutilizables en las versiones más nuevas de Mame.
La portabilidad y la genericidad también son importantes para MAME. Combinado con la postura intransigente sobre la precisión, esto a menudo resulta en altos requisitos del sistema. Aunque un procesador de 2 GHz es suficiente para ejecutar casi todos los juegos 2D, los sistemas más recientes y particularmente los sistemas con gráficos 3D pueden ser injustificablemente lentos, incluso en las computadoras más rápidas. Actualmente, MAME no aprovecha la aceleración de hardware para acelerar la representación de gráficos 3D, en parte debido a la falta de una API 3D multiplataforma estable, y en parte porque la representación de software puede ser una reproducción exacta de los diversos enfoques de renderización 3D personalizados que se usaron en los juegos de arcade.
Poseer y distribuir Mame en sí es legal en la mayoría de los países, ya que es simplemente un emulador. Empresas como Sony han intentado en la corte para evitar otro software como Virtual Game Station, un emulador de PlayStation de Sony que se vende, pero finalmente no han tenido éxito. [28] Mame mismo hasta ahora no ha sido objeto de ningún caso judicial.
La mayoría de los juegos de arcade todavía están cubiertos por derechos de autor. Descargar o distribuir ROM con derechos de autor sin permiso de los titulares de derechos de autor es casi siempre una violación de las leyes de derechos de autor. Sin embargo, algunos países (incluidos los EE. UU.) [29] permiten al propietario de una placa transferir datos contenidos en sus chips ROM a una computadora personal u otro dispositivo que posean. Algunos titulares de derechos de autor han explorado que las ROM del juego Arcade están disponibles para el público a través de la licencia. Por ejemplo, en 2003, Atari hizo ROM compatibles con MAME para 27 de sus juegos Arcade disponibles en el sitio de Internet Star Roms. Sin embargo, en 2006 las ROM ya no se vendían allí. En un momento, se vendieron varios juegos de Capcom con el joystick Arcade Hotrod fabricado por Hanaho, pero este acuerdo también se suspendió. Otros titulares de derechos de autor han lanzado juegos que ya no son comercialmente viables de forma gratuita al público bajo licencias que prohíben el uso comercial de los juegos. Muchos de estos juegos se pueden descargar legalmente del sitio web oficial de Mame. [30] El desarrollador de juegos de arcade español Gaelco también ha lanzado World Rally para uso no comercial en su sitio web. [31]
La comunidad Mame se ha distanciado de otros grupos que redistribuyen ROM a través de Internet o medios físicos, alegando que infringen descaradamente los derechos de autor y dañan el proyecto al ponerlo en mal estado. [32] A pesar de esto, las distribuciones ilegales de ROM están generalizadas en Internet, y también existen muchos "conjuntos completos" que contiene una colección completa de ROM de una versión específica. [33] [34] Además, muchos sistemas de juegos de contrabando, como Arcade Multi Carts, a menudo usan versiones de Mame para ejecutar sus juegos.
Mame se distribuyó anteriormente bajo una licencia de copyleft personalizada personalizada, llamada "Licencia Mame" o "Licencia de tipo MAME", que también fue adoptada por otros proyectos, por ejemplo, Visual Pinball. Esta antigua "Licencia Mame" garantiza la disponibilidad del código fuente, mientras que la redistribución en actividades comerciales está prohibida. Debido a esta cláusula, la licencia es incompatible con la definición de código abierto de OSI y la definición de software gratuita del FSF. La cláusula no comercial fue diseñada para evitar que los operadores de arcade instalen gabinetes MAME y se beneficien de los trabajos de los fabricantes originales de los juegos. [22] La ambigüedad de la definición "comercial" conduce a problemas legales con la licencia. [35] [36]
Desde marzo de 2016 con la versión 0.172, Mame se cambió a licencias de software comunes gratuitas y de código abierto, las licencias BSD y GPL. [37]