quarta-feira, 3 de abril de 2019

Nicola Salmoria, quem é esse cara? MAME a máquina de emulação

Afinal quem é esse cara?

Mas afinal quem é esse cara da foto? Acreditem ele é um dos responsáveis pela guinada na indústria dos vídeo games, quebrar um monopólio internacional e participar de forma relevante na emulação de diferentes máquinas de arcade, ajudando a preservar a história dos games. O nome dele é Nicola Salmoria, italiano formado em matemática pela Universidade de Siena.
O universo da emulação é gigantesco e dar todo o crédito a apenas uma pessoa é injusto. E todos os jogos precisam ser gravados fisicamente, e na época que essas máquinas foram concedidas a tecnologia vigente gravava as informações de jogos em chips anexados a placa do arcade. Cada produtora além de fazer o seu jogo, produzia a sua placa, e esse tipo de fabricação dificultava o desenvolvimento dessas máquinas de diversão eletrônica. Esse problema foi contornado pelo padrão JAMMA (Japan Amusement Machine and Marketing Association), fomentando por várias empresas em especial: Capcom, Konami, Sega, Atlus , Taito e Namco. A ideia era facilitar a criação, desenvolvimento, manutenção e comercialização de arcades a partir de um padrão unificado usando um conector de 56 pinos com saídas e entradas compatíveis entre todas as empresas que compartilhavam esse padrão. Isso possibilitou na época a possibilidade de trocar jogos de uma arcade trocando apenas a placa do jogo, ser precisar realizar mudanças nas entradas de energia (5 volts para o jogo e 12 volts para som), entradas para  joysticks, saída de vídeo RGB analógica, saída de som, entradas para moedas, e sensores de inclinação.
Placa de Arcade Padrão JAMMA
Em placas cheias de chips e circuitos a magia acontecia. Chips de memória EEPROM eram gravados com as instruções para o funcionamento das máquinas e execução dos jogos.
EEPROM, sigla do inglês de Electrically-Erasable Programmable Read-Only Memory, é um tipo de memória não-volátil usada em computadores e outros dispositivos eletrônicos. Essa memória armazena pequenas quantidades de dados gravados na ausência de energia, similar a arquivos gravados em qualquer dispositivo de memoria física.
Mas qual a função do EPPROM nas placas de arcade? As EPPROM nas placas de arcade tem toda a informação relativa ao jogos programados para a arquitetura. Com o acesso a informação da EPPROM vez que seria possível te acesso as informações responsáveis para que o jogo funcione
Um grupo de pessoas com conhecimento em eletrônica e programação foram responsáveis por esse Hack e a história resumida foi relatada por Rob Crowe um dos desenvolvedores desta tecnologia: [http://www.hifi-remote.com/jp1/history.shtml]
A ideia fundamental para o inicio do projeto partiu de Dan Nelsen que descobriu como fazer comunicação do chip EEPROM com outras máquinas. Ele inventou a primeira interface de comunicação para extrair a informação dos EEPROM e escreveu o software original usado para ler e gravar o conteúdo destes chips.
Dan também disponibilizou o código-fonte para seu software (sob uma licença de distribuição gratuita/ GNU), o que significava que outros desenvolvedores poderiam desenvolver o trabalho que ele já havia feito.
Uma vez com a informação extraída da EEPROM, seria necessário uma forma simular o comportamento da placa original usando o conteúdo dos chips adquiridos pelo hack desenvolvido por Dan. Neste contexto entra a participação de Nicola Salmoria em desenvolvedor os softwares que imitavam o comportamento da placa original em outras arquiteturas, o MAME. Salmoria foi o primeiro coordenador do projeto MAME em 5 de fevereiro de 1997 até 15 de maio de 2003, quando David Haywood assumiu  papel principal. Nicola entregou suas funções por um curto período de tempo em 1997, durante o qual Mirko Buffoni coordenou o projeto.

MAME corresponde ao acrônimo, de Multiple Arcade Machine Emulator, é um emulador gratuito e de código aberto projetado para recriar o hardware de sistemas de jogos de arcade via software em computadores pessoais modernos e outras plataformas. A intenção foi preservar o histórico de jogos impedindo que jogos antigos fossem perdidos ou esquecidos.
O objetivo do MAME é ser uma referência ao funcionamento interno das máquinas emuladas; a capacidade de realmente jogar os jogos é considerada "um bom efeito colateral"
As roms são "extraídas" das máquinas originais e esse documentário mostra como o processo é realizado:

Existem várias versões do MAME customizadas para windows, Uma boa versão brasileira é o projeto desenvolvido por Vicimaxx Gamers, e o projeto completo está disponível em sua página do facebook:[https://www.facebook.com/groups/547331172137401/]. 

O emulador pode ser adquido em: https://www.mamedev.org/release.php e configurado a sua maneira.

Para linux segue um tutorial simples para Ubuntu, Debian ou Mint
1) No terminal do linux adicione o repositório e instale o programa:
sudo add-apt-repository ppa:c.falco/mame -y
sudo apt-get update
sudo apt-get install mame

2) Edite o arquivo ini
gedit ~/.mame/mame.ini
Em rompath colocar o diretório onde as roms e bios serão salvas.



3)Crie os subdiretorios para funcionamento do emulador.
É necessário, para o funcionamento do emulador criar no diretŕoio ~/.mame os subdiretórios: nvram, sta, roms, memcard, inp, comments, snap e diff Esses diretórios podem ser criados manual na interface gráfica ou no terminal:
mkdir ~/.mame/nvram memcard roms inp comments sta snap diff

A versão vigente deste aplicativo em 03-04-2019 é a 0.208 e algumas roms mais antigas podem não funcionar,
para isso é necessário baixar uma lista atualizada das roms disponíveis


Algumas roms de NEOGEO podem não funionar para isso baixe esse arquivo na pasta rom, são as bios atualizadas:

A história dos emuladores é complexa e cheia de altos e baixos. Muitas pessoas fizeram descobertas extraordinárias, engenharia reversa e criação de novos programas e interfaces que permitiram a popularização e curadoria de vários jogos que poderiam ser esquecidos.
Segue outro artigo interessante que conta sobre desenvolvimento de um dos primeiros emuladores de NES: A história do NESticle, o ambicioso emulador que redefiniu os games retrô https://motherboard.vice.com/pt_br/article/ae5ek8/a-historia-do-nesticle-o-ambicioso-emulador-que-redefiniu-os-games-retro?utm_campaign=sharebutton

Let's Play!





Dificuldades no processo? Deixe suas dúvidas, sugestões e compartilhe sua experiência.
Obrigado e até a próxima
Juliano 
 [03/04/2019]


Referências


2 comentários:

  1. Agradecido pelas informações, valeu juliano, n esqueça do seu blog. Fica com Deus irmão

    ResponderExcluir
    Respostas
    1. Obrigado pela lembrança. As informações e links vão se perdendo com o tempo, mas serve de base para uma pesquisa. Obrigado por apreciar esse pequeno trabalho e que ele te ajude no seu divertimento,

      Excluir