Mame (originalmente um acrônimo de emulador de máquina de arcade múltiplo) é um emulador de código aberto e de código aberto projetado para recriar o hardware dos sistemas de jogos de arcade em software em computadores pessoais modernos e outras plataformas. [2] A intenção é preservar a história dos jogos, impedindo que os jogos vintage sejam perdidos ou esquecidos. O objetivo de Mame é ser uma referência ao funcionamento interno das máquinas de arcade emuladas; A capacidade de realmente jogar os jogos é considerada "um bom efeito colateral". [3] Joystiq listou Mame como um aplicativo que todos os jogadores do Windows e Mac devem ter. [4]
O primeiro lançamento público de Mame foi de Nicola Salmoria em 5 de fevereiro de 1997. O emulador agora suporta mais de 7.000 jogos exclusivos e 10.000 conjuntos de imagens ROM reais, embora nem todos os jogos suportados sejam jogáveis. Mess, um emulador para muitos consoles de videogame e sistemas de computador, baseado no MAME Core, foi integrado a montante ao MAME em 2015.
Mame (emulador de máquina de arcade múltiplo) é um emulador de código aberto gratuito e de código aberto projetado para recriar o hardware do sistema de jogos de arcade em software em computadores pessoais modernos e em outras plataformas. Mame.net é um emulador de arcade baseado em C# e mantém a mesma arquitetura do MAME. Ao usar o C# e o poderoso ambiente de desenvolvimento integrado - Microsoft Visual Studio, não há macro e você pode depurar o jogo de arcade suportado em qualquer lugar. Existem algumas placas clássicas suportadas até agora: M72, M92, CPS-1, CPS-1 (QSOUND), CPS2, NEO GEO, NAMCO SYSTEM 1, IGS011, PGM (PolyGame Master).
O MAME.NET é executado nas seguintes etapas: Carregue as ROMs, inicialize a máquina, reinicie a máquina e faça uma operação "cpuexec_timeslice". A operação "cpuexec_timeslice" significa executar sequencialmente cada CPU por uma fatia de tempo e executar retornos de chamada do timer. Os retornos de chamada do timer contém: atualização de vídeo, redefinição suave, interrupção da CPU, atualização de som, redefinição do cão de guarda e outras interrupções. Por essas etapas, o Mame.net emula o quadro de arcade com sucesso. Mame.net tem mais funções: salvar e carregar estado, registrar e reproduzir entrada, trapaça, pesquisa de trapaça, ips (patch rom main), depurador de placa, depurador da CPU.



Quando as ROMs de um jogo são carregadas, o emulador está em pausa automática. Pressione P para continuar.
*Ocasionalmente, ocorre o erro GDI+ e uma cruz vermelha é mostrada. Você pode clicar em "File-Retest PictureBox" para lidar com o erro.
1 História e visão geral 2 Design 2.1 Dados do jogo 3 Filosofia e precisão 4 status legal 5 original Mame-License 6 Ver também 7 Referências 8 Links externos
O projeto foi iniciado pela programadora italiana Nicola Salmoria. A MAME traça suas raízes a um projeto de emulador anterior chamado Multi-PAC, mas o nome foi alterado à medida que mais e mais jogos começaram a ser imitados dentro da estrutura MAME. A primeira versão foi lançada em 1996. [5] Em abril de 1997, Salmoria deixou o cargo de seus compromissos do Serviço Nacional, entregando a administração do projeto ao colega italiano Mirko Buffoni por um período de meio ano. Em maio de 2003, David Haywood assumiu o cargo de coordenador. De abril de 2005 a abril de 2011, o projeto foi coordenado por Aaron Giles. [6] Angelo Salese interveio como o novo coordenador. [7] Em 2012, Miodrag Milanovic assumiu o controle. [8] O projeto é apoiado por centenas de desenvolvedores em todo o mundo e milhares de colaboradores externos.
No início, o MAME foi desenvolvido exclusivamente para MS-DOS, mas logo foi portado para sistemas do tipo UNIX (X/MAME), Macintosh (MacMame e Mame OS X) e Windows (MAME32). Desde 24 de maio de 2001 com a versão 0.37B15 [6], o principal desenvolvimento ocorre na plataforma Windows e a maioria das outras plataformas é suportada pelo projeto SDLMame, que foi integrado à principal árvore de fonte de desenvolvimento em 2006. [9] Além disso, diferentes versões do MAME foram portadas para outros computadores, consoles de jogos, telefones celulares e PDAs e, a certa altura, até para câmeras digitais. [10] Em 2012, o Google Ported Mame para o Native Client, que permite que Mame seja executado dentro do Chrome. [11]
Os principais lançamentos do MAME ocorrem aproximadamente uma vez por mês. Os executáveis do Windows de maneira 32 e 64 bits são lançados no site oficial da equipe de desenvolvimento, juntamente com o código-fonte completo. [12] Os lançamentos menores e incrementais de "U" (para atualização) foram lançados semanalmente (até a versão 0.149U1) como a fonte diferencia a versão principal mais recente, para manter o código em sincronização entre os desenvolvedores. [13] O código -fonte MAME é desenvolvido em um repositório público do GitHub. [14] Isso permite que aqueles com os conhecimentos e ferramentas necessários para criar a versão mais atualizada do código e contribuir com aprimoramentos na forma de solicitações de tração. A versão histórica números de 0,32 e 0,38 a 0,52, inclusive, não existem; O primeiro foi ignorado devido à nomeação semelhante da variante MAME32 (que por si só foi renomeada Mameui devido à mudança para construções de 64 bits), enquanto os últimos números foram ignorados devido aos inúmeros lançamentos no ciclo beta 0.37) (esses números de versão foram marcados em seguida ao próximo [equivalente 0.37 beta-regudos no oficial.
A arquitetura de Mame foi extensivamente melhorada ao longo dos anos. O suporte para telas raster e vetorial, bem como várias CPUs e chips de som, foram adicionados ao MAME nos primeiros seis meses do projeto. Foi implementado um sistema de temporizador flexível para coordenar a sincronização entre vários núcleos de CPU emulados, e as imagens da ROM começaram a ser carregadas de acordo com o hash do CRC32 nos arquivos ZIP em que foram armazenados. [6] A MAME foi pioneira na engenharia reversa de muitas arquiteturas de sistemas não documentadas, várias CPUs (como a CPU Konami personalizada de M6809 com novas instruções) e chips de som (por exemplo, os que os hamaha fm fritem que os desenvolvedores de imilegas de imilização são instrumentais. Exemplos disso incluem o Neo Geo, o Sistema CP II, o Sistema CP III e muitos outros. [Citação necessária]
A popularidade de Mame está bem desde que se foi para o mainstream, com entusiastas construindo seus próprios armários de jogos de arcade para reviver os jogos antigos e com empresas produzindo trabalhos de derivados ilegais de Mame a serem instalados em arcadas. Os armários podem ser construídos a partir do zero ou desmontando e modificando um gabinete de jogos de arcade genuíno que já foi usado com o hardware real dentro. [16] [17] Os armários inspirados nos jogos clássicos de arcade também podem ser adquiridos e montados (com mame e mame pré -instalado). [18]
Embora o MAME contenha uma interface de usuário rudimentar, o uso do MAME em armários de jogos de arcade e teatros de casa exige aplicativos especiais do lançador chamados front finais com interfaces de usuário mais avançadas. As extremidades frontais fornecem graus variados de personalização - permitindo ver imagens dos armários, história dos jogos e dicas sobre como jogar e até o vídeo do jogo ou atrair o modo do jogo.
As informações contidas no MAME são gratuitas para reutilização, e sabe-se que as empresas utilizam MAME ao recriar seus antigos clássicos em sistemas modernos. Alguns chegaram ao ponto de contratar desenvolvedores da MAME para criar emuladores para suas propriedades antigas. Um exemplo disso é o pacote Taito Legends, que contém ROMs legíveis em versões selecionadas de Mame. [19]
Desde 2012, Mame é mantido pelo líder do projeto Mess Miodrag Milanović. [8]
Em 27 de maio de 2015 (0,162), o console de jogos e a bagunça do emulador de sistemas de computador foi integrado ao MAME (então o manual do usuário da bagunça ainda é a instrução de uso mais importante para as partes não arrastadas do MAME). [20]
Em maio de 2015, foi anunciado que os desenvolvedores da MAME planejavam re-licenciar o software sob uma licença mais comum e de código aberto, longe do Mame-License original. O desenvolvedor da MAME Miodrag Milanovic explicou que a mudança pretende atrair mais interesse do desenvolvedor para o projeto, permitir que os fabricantes de jogos distribuam MAME para imitar seus próprios jogos e tornar o software uma "ferramenta de aprendizado para desenvolvedores que trabalham em conselhos de desenvolvimento". A transição do licenciamento da MAME para as licenças BSD/GPL foi concluída em março de 2016. [21] [22] Com a alteração da licença, a maior parte do código-fonte de Mame (90%+) está disponível sob uma licença BSD de três cláusulas e o projeto completo está sob a licença pública geral da GNU versão 2 ou posterior. [21] [23]
Em 24 de fevereiro de 2016 (0,171), a Mame incorporada o front-end Mewui (e o desenvolvedor ingressou na equipe), fornecendo a Mame uma interface do usuário flexível e mais completa. [24]
Esta seção contém pesquisas originais. Por favor, melhore, verificando as reivindicações feitas e adicionando citações em linha. Declarações consistindo apenas da pesquisa original devem ser removidas. (Julho de 2019) (Saiba como e quando remover esta mensagem de modelo) O MAME Core coordena a emulação de vários elementos ao mesmo tempo. Esses elementos replicam o comportamento do hardware presente nas máquinas de arcade original. O MAME pode emular muitas unidades diferentes de processamento central (CPUs) e hardware associado. Esses elementos são virtualizados, de modo que Mame atua como uma camada de software entre o programa original do jogo, e a plataforma que Mame é executada. O MAME suporta resoluções de tela arbitrárias, taxas de atualização e configurações de exibição. Vários monitores emulados, conforme exigido por, por exemplo, Darius, também são suportados.
Os sistemas de arcade individuais são especificados por drivers que assumem a forma de macros do pré -processador C. Esses drivers especificam os componentes individuais a serem emulados e como eles se comunicam. Enquanto Mame foi originalmente escrito em C, a necessidade de programação orientada a objetos fez com que a equipe de desenvolvimento comece a compilar todo o código como C ++ para MAME 0,136, aproveitando os recursos adicionais desse idioma no processo.
Embora a grande maioria dos núcleos de emulação da CPU seja interpretativa, o MAME também suporta recompilação dinâmica através de uma linguagem intermediária chamada Linguagem da Máquina Universal (UML) para aumentar a velocidade de emulação. Os alvos de back-end suportados são x86 e x64. O back -end da CA também está disponível para ajudar a verificação adicional da correção. As CPUs emuladas dessa maneira são SH-2, MIPS R3000 e PowerPC.
O código do programa original, os gráficos e os dados sonoros precisam estar presentes para que o jogo possa ser emulado. Na maioria das máquinas de arcade, os dados são armazenados em chips de memória somente leitura (ROMs), embora outros dispositivos como fitas cassetes, discos de disquete, discos rígidos, laserdiscos e discos compactos também sejam usados. O conteúdo da maioria desses dispositivos pode ser copiado para arquivos de computador, em um processo chamado "dumping". Os arquivos resultantes são frequentemente chamados de imagens ou ROMs genericamente, independentemente do tipo de armazenamento de onde vieram. Um jogo geralmente consiste em várias imagens ROM e PAL; Estes são armazenados coletivamente dentro de um único arquivo zip, constituindo um conjunto de ROM. Além do conjunto de ROM "pai" (geralmente escolhido como a versão mais recente do "mundo" do jogo), os jogos podem ter conjuntos de ROM "clone" com diferentes códigos de programa, texto de idioma diferente destinado a diferentes mercados etc. Por exemplo, o Street Fighter II Turbo é considerado uma variante da edição do Street Fighter II Champion. Os quadros de sistemas como o Neo Geo que têm ROMs compartilhados entre vários jogos exigem que os ROMs sejam armazenados nos conjuntos de ROMs "BIOS" e nomeados adequadamente.
Discos rígidos, discos compactos e laserdiscos são armazenados em um formato específico de MAME chamado CHD (pedaços comprimidos de dados). [25] Algumas máquinas de arcade usam hardware analógico, como laserdiscs, para armazenar e reproduzir dados de áudio/vídeo, como trilhas sonoras e cinematics. Esses dados devem ser capturados e codificados em arquivos digitais que podem ser lidos por MAME. O MAME não suporta o uso de dispositivos analógicos externos, que (juntamente com gabinetes de alto -falante e alto -falantes idênticos) seriam necessários para uma reprodução 100% fiel da experiência de arcade. Vários jogos usam chips de som que ainda não foram imitados com sucesso. Esses jogos requerem amostras de som no formato de arquivo WAV para a emulação de som. Além disso, o MAME suporta arquivos de arte no formato PNG para gráficos de moldura e sobreposição.
O objetivo declarado do projeto é documentar o hardware e, portanto, Mame tem uma visão um tanto purista da emulação, proibindo hacks de programação que possam fazer um jogo funcionar de maneira inadequada ou mais rápido à custa da precisão da emulação. Componentes como CPUs são emulados em um nível baixo (o que significa que as instruções individuais são emuladas) sempre que possível, e a emulação de alto nível (HLE) é usada apenas quando um chip não é completamente indocumentado e não pode ser reverso em detalhes. A emulação do nível do sinal é usada para emular circuitos de áudio que consiste em componentes analógicos.
Queremos documentar o hardware. Agora muitas pessoas dirão; "Onde está o seu documento? Você apenas escreve um monte de código -fonte." E sim, isso é verdade. Uma coisa que aprendi é que manter a documentação sincronizada com o código -fonte é quase impossível. A melhor prova de que sua documentação está certa é "esse código funciona".
- Aaron Giles, Califórnia Extreme 2008 [26] MAME emula bem mais de mil placas de sistema de arcade diferentes, a maioria dos quais são completamente sem documentos e personalizados para executar um único jogo ou um número muito pequeno deles. A abordagem que Mame adota com relação à precisão é incremental; Os sistemas são emulados com a maior precisão possível. As cópias dos jogos dos jogos são frequentemente as primeiras a serem imitadas, com versões adequadas (e protegidas e protegidas) emuladas posteriormente. Além da criptografia, os jogos de arcade eram geralmente protegidos com unidades de microcontrolador personalizadas (MCUS) que implementavam uma parte da lógica do jogo ou algumas outras funções importantes. A emulação desses chips é preferida, mesmo quando eles têm pouco ou nenhum efeito imediatamente visível no próprio jogo. Por exemplo, o comportamento do monstro em Bubble Bobble não foi aperfeiçoado até que o código e os dados contidos com o MCU personalizado fossem despejados através da decapagem do chip. [27] Isso resulta na mudança dos requisitos do conjunto de ROMs, à medida que os jogos são emulados em um grau cada vez mais preciso, fazendo com que as versões mais antigas do conjunto de ROM se tornem inutilizáveis em versões mais recentes do MAME.
A portabilidade e a generalidade também são importantes para Mame. Combinado com a postura intransigente sobre a precisão, isso geralmente resulta em altos requisitos do sistema. Embora um processador de 2 GHz seja suficiente para executar quase todos os jogos em 2D, sistemas mais recentes e particularmente sistemas com gráficos 3D podem ser desconhecíveis, mesmo nos computadores mais rápidos. Atualmente, o MAME não aproveita a aceleração de hardware para acelerar a renderização dos gráficos 3D, em parte devido à falta de uma API 3D estável de plataforma cruzada e, em parte, porque a renderização de software pode, em teoria
Possuir e distribuir o próprio Mame é legal na maioria dos países, pois é apenas um emulador. Empresas como a Sony tentaram no tribunal para impedir que outros softwares, como a Virtual Game Station, um emulador da Sony PlayStation fosse vendido, mas não foram bem -sucedidos. [28] Até agora, Mame não foi objeto de nenhum processo judicial.
A maioria dos jogos de arcade ainda é coberta por direitos autorais. Download ou distribuir ROMs protegidos por direitos autorais sem permissão dos detentores de direitos autorais é quase sempre uma violação das leis de direitos autorais. No entanto, alguns países (incluindo os EUA) [29] permitem que o proprietário de uma diretoria transfira dados contidos em seus chips ROM para um computador pessoal ou outro dispositivo que eles possuem. Alguns detentores de direitos autorais exploraram a disponibilização de ROMs de jogos de arcade ao público por meio de licenciamento. Por exemplo, em 2003, a Atari disponibilizou as ROMs compatíveis com Mame para 27 de seus jogos de arcade disponíveis no site da Internet Star Roms. No entanto, em 2006, as ROMs não estavam mais sendo vendidas lá. A certa altura, vários jogos da Capcom foram vendidos com o Hotrod Arcade Joystick, fabricado por Hanaho, mas esse arranjo também foi descontinuado. Outros detentores de direitos autorais lançaram jogos que não são mais viáveis comercialmente gratuitamente ao público sob licenças que proíbem o uso comercial dos jogos. Muitos desses jogos podem ser baixados legalmente no site oficial da MAME. [30] O desenvolvedor espanhol de jogos de arcade Gaelco também lançou o World Rally para uso não comercial em seu site. [31]
A comunidade MAME se distanciou de outros grupos que redistribuem ROMs pela Internet ou mídia física, alegando que estão violando flagrantemente os direitos autorais e prejudicam o projeto potencialmente levando -o a descrédito. [32] Apesar disso, as distribuições ilegais de ROMs são generalizadas na Internet, e também existem muitos "conjuntos completos" que contêm uma coleção completa de ROMs de uma versão específica. [33] [34] Além disso, muitos sistemas de jogos de bootleg, como carrinhos de vários carrinhos de arcade, geralmente usam versões do MAME para executar seus jogos.
Mame era anteriormente distribuído sob uma licença copyleft personalizada, chamada "Mame Licension" ou "Mame Like License", que também foi adotada por outros projetos, por exemplo, Pinball Visual. Essa antiga "Licença MAME" garante a disponibilidade do código -fonte, enquanto a redistribuição em atividades comerciais é proibida. Devido a esta cláusula, a licença é incompatível com a definição de código aberto da OSI e a definição de software livre da FSF. A cláusula não comercial foi projetada para impedir que os operadores de arcade instalassem armários MAME e lucros com as obras dos fabricantes originais dos jogos. [22] A ambiguidade da definição "comercial" leva a problemas legais com a licença. [35] [36]
Desde março de 2016 com a versão 0.172, a própria Mame mudou para licenças de software de código aberto e de código aberto comum, as licenças BSD e GPL. [37]