Parte I - PraticaIniciandoOla companheiros, para aqueles que gostam de games, o Ubuntu ainda nao e uma plataforma que atrai tantos investimentos quanto a do Till Bill, lentamente vemos surgir boas opçoes de jogos como os packs da
http://www.humblebundle.com/ e perolas como em promoções passadas, que nos trouxe jogos excelentes como World of Goo, Braid e Trine
http://trine-thegame.com/site/, esse ultimo sensacional.
No campo da emulação ate que estamos bem servidos, embora alguns otimos projetos tenham sido descontinuados pelos desenvolvedores originais ou estao de "molho" como o Wah!cade
http://www.anti-particle.com/wahcade.shtml o Gmameui
http://gmameui.sourceforge.net/ e o Cabrio
http://www.cabrio-fe.org/Como uso o Gmameui+Mame a algum tempo para emular os meus games de Neo-Geo
http://img651.imageshack.us/img651/600/platao.th.jpg ao fazer o upgrade para a versao 11.04 do Ubuntu uma surpresa.....a interface do Gmameui com icones faltando, bug ao clicar para inserir dados nas listas das roms, e aparentemente ele nao salva os dados das configurações do front-end no emulador, vc tem que ir direto nos arquivos do Mame......resolvi experimentar um front-end para maquinas Arcade e encontrei dois projetos bons, o Wah!cade em phyton e o Cabrio em c++.
Aspectos Legais;Na lei de software brasileira no artigo 2º;
-Fica assegurada a tutela dos direitos relativos a programa de computador pelo prazo de
cinqüenta anos, contados a partir de 1º de janeiro do ano subseqüente ao da sua publicação ou, na ausência desta, da sua criação.
Em muitos lugares pela net, usam o termo "abandoneware" mas perante a lei, o autor tem o direito reservado mesmo que não queira utilizar a obra, as empresas que faliram tiveram seus ativos comprados por alguém, ou algum grupo e essa pessoa é o proprietário dos direitos autorais.
Agora imagine vc usando um software de 50 anos atras...
O M.A.M.EO nome
MAME significa
Multiple Arcade Machine Emulator foi criado pelo italiano Nicola Salmoria. Em 1995 ele tinha um site onde era um ponto de encontro para programadores, ali eles criavam programas que imitavam as rotinas de um processador para finalidades diversas.
Para que alguém queria um programa que imita um processador?
Se eles conseguissem um programa que imitasse as funções de um processador, ficava mais fácil fazer um jogo ou programa que usa aquele modelo de processador funcionar em um pc comum.
No início era feito um emulador para cada jogo, assim com o passar do tempo já haviam sido criado varios emuladores, então Nicola notou que a maioria dos emuladores tinha o mesmo principio de funcionamento, e resolveu fazer um emulador que dentro dele agregasse todos os outros emuladores juntos e deu a ele o nome de
Mame.
MAME é estritamente um projeto sem fins lucrativos desenvolvido em carater academico e educacional e tbm para fins de preservação, de modo a evitar muitos jogos históricos de desaparecer, uma vez que o hardware em que são executados pare de funcionar.
O mame não tem por finalidade emular jogos, os jogos rodam como conseqüência positiva do trabalho e não como objetivo do projeto, esse é considerado um bom efeito colateral, mas e não é foco principal do Mame.
Na teoria o Mame é uma suíte de desenvolvimento de emuladores das mais completas do mundo, na prática ele é a realização do sonho de muitos, o dia 24 de dezembro de 1996 é uma data histórica na emulação, foi quando começou o seu desenvolvimento. A primeira versão foi a 0.1(hoje estamos na 0.145) lançada no dia 5 de fevereiro de 1997, com ela vinha emulado apenas 5 jogos, hoje já passa dos 10000 drivers e esta lista só tende a aumentar.
Sendo desenvolvido originalmente para MSDOS o seu código tinha como objetivo a portabilidade, foi reescrito em linguagem c++ e hj roda nos mais diversos sistemas, como Msdos, Windows, Linux, MacOS, Powerpc, N-Gage, GP32, GP2x, PocketPC, Dreamcast, PlayStation2, Playstation3, Xbox, PSP, Câmera Digital e muitos outros.
Na emulação, no caso do Mame, a essência absoluta do desempenho está no processador, uma coisa que chama a atenção de muitos é porque o jogo X que é bem mais antigo e de gráficos modestos funciona mais lento do que o jogo Y que é bem atual?
Isso acontece porque na emulação, o que mais conta é o grau de semelhança entre a placa do jogo e a arquitetura de funcionamento de seu computador, não existe uma receita para saber se um jogo vai ou não rodar em seu computador, principalmente porque
o mame preza pela fidelidade do hardware a ser emulado em detrimento da velocidade.O site oficial do projeto é
http://mamedev.org/ o Mame original funciona através de linha de comando, existem dois projetos que recebem apoio dos desenvolvedores do Mame, um deles e o mame32 ou MameUI32(64) e o outro e o SDlmame.
Para Ubuntu, vamos usar a versao corrente do Mame, a página do projeto é
http://rbelmont.mameworld.info/ e
http://sdlmame.wallyweek.org/ os demais são todos projetos extra oficiais (hack), ha tbm o Xmame, mas seu desenvolvimento esta parado ha alguns anos na versao 0.106.
Mame no Ubuntu;Para a versao
instavel(em desenvolvimento)
sudo rm -f /etc/apt/sources.list.d/sdlmame4ubuntu.* ; sudo add-apt-repository ppa:c.falco/umame ; sudo apt-get update ; sudo apt-get install mame
Para a versao
estavel(recomendada);
sudo rm -f /etc/apt/sources.list.d/sdlmame4ubuntu.* ; sudo add-apt-repository ppa:c.falco/mame ; sudo apt-get update ; sudo apt-get install mame
Para outras versoes do Ubuntu visite
http://sdlmame.wallyweek.org/repository/Vamos entao fazer um teste simples, para ver se esta tudo ok;
/usr/games/./mame
![](https://ubuntuforum-pt.org/proxy.php?request=http%3A%2F%2Fimg546.imageshack.us%2Fimg546%2F8020%2Fcapturadetelaeql.th.png&hash=7023ca9ef711fea7a26004ea3fccf29b3f95fbed)
Se aparecer o emulador, entao esta funcionando, voce fez tudo certo, aperte a tecla "esc" para sair. Agora a configuração dos diretorios do mame direto no arquivo mame.ini, que é onde vamos colocar o caminho para as roms e fazer todas as configurações do emulador.
Antes, vamos criar duas pastas, a pasta samples(e onde ficam agrupados os efeitos sonoros no caso de arcades muito antigos) e artwork(aqui vamos colocar os filtros)filtros para que as imagens nao fiquem muito "quadradas", ja que os arcades originais em sua grande maioria rodava bem abaixo dos 640x480.
cd /usr/local/share/games/mame ; sudo mkdir samples ; sudo mkdir artwork
depois;
sudo chmod a+x artwork samples
Agora va ate o Oraculo(Google) e procure por;
mame sound sampleshttp://www.arcadeathome.com/mamewav.phtmlBaixe todos os arquivos e coloque na pasta criada com o nome 'samples'; no terminal;
gksu nautilus
Se abrira uma nova janela, navegue ate a pasta /usr/local/share/games/mame/samples e deixe os arquivos la da mesma forma como foram baixados, ou seja, compactados. Vamos agora pegar emprestado do "Mame for Windows" os filtros artworks;
wget http://www.mamechannel.it/emulator/mame/mame0141b.exe
Apos e so abrir(se nao abrir automaticamente e so selecionar para abrir com o compactador de arquivos) e extrair(ou simplesmente arrastar para fora) a pasta "artworks" que nos interessa. Se vc nao possui os compactadores instalados é so proceder;
sudo apt-get -y install unace unrar zip unzip p7zip-full p7zip-rar sharutils uudeview mpack lha arj cabextract file-roller
Mesmo procedimento anterior;
gksu nautilus
Navegue ate a pasta /usr/local/share/games/mame/artworks e cole somente o conteudo la dentro(a pasta ja esta criada) Aproveite e clique com o direito do mouse na artwork que vc quer usar(no caso foi a scanlines.png) e marque "executar como um programa" e "leitura e escrita" nas abas, do contrario o
efeito selecionado nao funcionara.O Mame.iniPronto agora o Mame ja esta com os filtros e com os samples, e so configurar os diretorios no arquivo principal mame.ini dessa forma;
sudo gedit /etc/mame/mame.ini
------------------------------------------------------------------------------------------------------------------------------------
rompath
/media/Dados/Games/Arcade/roms <--
caminho para as roms.samplepath /usr/local/share/games/mame/samples <--
pasta samples que criamos.
artpath /usr/local/share/games/mame/artwork <--
caminho para a pasta artworkctrlrpath $HOME/.mame;/etc/mame/ctrlr -
as demais configurações deixe padrao -
inipath $HOME/.mame;/etc/mame
fontpath /tmp
cheatpath $HOME/.mame/cheat;$HOME/.mame/cheat/cheat;/usr/local/share/games/mame/cheat;/usr/local/share/games/mame/cheat/cheat
crosshairpath $HOME/.mame/crosshair;/usr/local/share/games/mame/crosshair
hashpath /usr/share/games/mame/hash
------------------------------------------------------------------------------------------------------------------------------------
Vamos descendo ate essa parte;
------------------------------------------------------------------------------------------------------------------------------------
# VIDEO OPTIONS
#
video opengl <--
colocamos OpenGLnumscreens 1
window 0 <--
modo janela ou tela cheiakeepaspect 1
unevenstretch 1
effect scanlines.png <--
colocamos o filtro, vou colocar o scanlines.pngcenterh 1
centerv 1
waitvsync 0
------------------------------------------------------------------------------------------------------------------------------------
Essa e a comfiguração basica, feita diretamente no arquivo de controle, salve e vc pode com mais tempo, ver item por item do mame.ini e testar os efeitos, antes crie um backup;
sudo cp /etc/mame/mame.ini /etc/mame/mame.ini.bkp
Front-EndsO CabrioTentei usar o Cabrio desenvolvido pelo Steve Maddison mas o metodo para ele gerar a lista XML dos jogos e achei um pouco complicada, mesmo usando um facilitador como o ROMLister
http://www.waste.org/~winkles/ROMLister/ O Adilson do
http://www.bloguemos.com/?p=339 em conversa, estava querendo ajudar o projeto e fazer as correçoes e os fixes, enviou alguns emails para o mantenedor e esta aguardando resposta, ha a possibilidade de, caso o desenvolvedor nao tiver interesse em fazer as correçoes, abrir um "repositorio" no launchpad para abrigar o projeto, e talvez uma nova forma de gerar o list XML, vamos torcer por ele e aguardar.
Como estamos usando a versao 64bits(nao ha o .deb ainda, somente para o 32bits) entao vamos baixar e compilar, nao ha nada complicado e compilou sem problema aqui
http://www.cabrio-fe.org/support/compile.html no 11.04.
O Wha!cadeO Wha!cade e um "clone" GNU / Linux amigável do MameWAH
http://mamewah.mameworld.net/ e tbm como o Cabrio, suporta varios emuladores alem do Mame, como snes9x-gtk,Stella entre outros, foi concebido para usar controles de arcade, seu código fonte é liberado sob a licença GPL.
No Wha!cade a situação nao foi muito diferente, alguns problemas tbm para gerar a XML, preview dos videos nao funcionavam, ou funcionavam intermitentemente. O ultimo pacote estavel Oficial para o Ubuntu e a versao v0.99pre8 "Could it be?"
http://www.anti-particle.com/projects/wahcade/wahcade_0.99pre8_all.deb (rpm)
http://www.anti-particle.com/projects/wahcade/wahcade-0.99pre8-2.noarch.rpmEsse é o pacote que mais carece de correção, se vc nao vai usar previews em video dos jogos(em .mov ou .avi do contrario nao funciona, extensoes .mng tbm nao funcionam se nao forem convertidas para .avi ou .mov, arquivos .mp3 sao aceitos sem problema)vc pode usar essa versao bastando proceder com essa correção;
Baixe no caso essa versao do link e instale o .deb, depois;
sudo gedit /usr/local/share/games/wahcade/filters.py
Observe a linhas 87 e abaixo dela(se vc nao esta vendo o numero da linha clique em->editar->preferencias-> exibir numero de linha)
'trackball': u'Trackball',
'keypad': u'Keypad',
'pedal': u'Pedal',
'keyboard': u'Keyboard',
Adicione as linhas que estiverem faltando na sua configuração, lembre-se de respeitar os espaços, isso vai evitar o erro;
File "/usr/local/share/games/wahcade/filters.py", line 271, in get_xml_game_item d['controller_type'] = _controllers[ctrl.attrib['type']]
KeyError: 'keyboard'
*
Lembrando que essa correção tbm e valida para o pacote 1.0pre1 do https://blueprints.launchpad.net/wahcade Lauchpad.
O atual;Agora vamos baixar o pacote mais atual disponivel, em desenvolvimento atravez do Launchpad ja com a maioria das correçoes de bugs aplicadas, essa versao ja da para ver os videos preview dos jogos tendo o totem como back-end(que é o item mais legal na minha opiniao) recomendo essa versao do que a versao oficial, dessa forma;
Instalação;sudo apt-get install bzr -y
Depois;
bzr branch lp:wahcade
Vc vera na sua home que foi criada a pasta whacade(
ou devel), agora proceda;
sudo mv wahcade /usr/local/share/games
Vamos ver se esta funcionando;
/usr/local/share/games/wahcade/./wahcade
O Pacote*necessario a instalação do hal para Ubuntu 11.04+ sudo apt-get install hal
Arquivos de suporteFilmes,suporte a musicas e joystikssudo apt-get install python-gst0.10 python-pygame libblas3gf libgfortran3 liblapack3gf
sudo apt-get install libmikmod2 libportmidi0 libsdl-mixer1.2 libsmpeg0 python-numpy
Configurar;
/usr/local/share/games/wahcade/./wahcade-setup
Na primeira aba temos;
Layout Directory ->deixe como o padrao por enquanto, por padrao ja vem instalados 4 layouts diferentes a sua escolha.
Marque fullscreen
Music -> Vamos criar um diretorio dentro do wahcade para colocarmos uma musica ambiente para os games, ate que seja escolhido nas guias de seleção de jogos, a partir dai so havera o som do game escolhido e nao do front-end.
*Desabilite o screen-saver, ha relatos no forum wah!cade de crash ao retornar ao uso do front-end.
**O preview dos games no wah!cade tendo o Totem como back-end ainda nao esta estavel e podem ocorrer quebras, portanto se procura estabilidade recomendo desligar essa opção.
sudo mkdir /home/seu usuario aqui/.wahcade/ambience
Agora vamos baixar alguns sons ambiente, para fliperamas da decada de 70 80 e 90;
wget http://www.emumovies.com/arcadeambience/arcade92.mp3
wget http://williamts99.com/arcadeambience/arcade86.mp3
wget http://littlewoodend.com/arcade/arcade83.mp3
wget http://arcadecontrols.com/files/Audio/arcade.mp3
Ou no site Oficial -->
http://arcade.hofle.com/Com os arquivos em maos, digite control+h e procure pela pasta oculta .wahcade, abra e cole os arqivos dentro da pasta ambience criada, depois e so apontar em music(play music fron) e indique o caminho.
Movies->deixe como 7 em Music/movie Mix deixe como mute movies
Misc->marque Warp Lists, display scroll arrows in lists
Keys-> aqui vc configura as teclas de acesso, por enquanto nao vamos adentrar nessa parte, mas vc deve saber;
-
esc->sai do game e se pressionada novamente sai do front-end
-t
ecla numerica 1-> inicia o game
-
tecla numerica 2-> abre o menu
Emulador->em title escreva Arcade
Aplication->/usr/games/mame
Aplication parameters->deixe como esta por emquanto
List generation-> Coloque o caminho para o diretorio das roms
Rom extension->zip
List generatiom mode->XML file
Artwork->sao as snaps(fotos) dos games vc pode baixar as fotos aqui
http://www.progettosnaps.net/snaps.html e coloque em Artwork1
Movie Directory->aqui vao ficar os filmes dos games, pequenos trechos, para serem apresentados no emulador ao selecionar um game. Vamos criar uma pasta no diretorio .wahcade para eles;
sudo mkdir /home/seu usuario aqui/.wahcade/artwork preview
Vamos baixar alguns previews de games no formato correto para o Wahcade;
http://emumovies.com/forums/index.php/files/category/44-mame/*Necessario registro
Depois de baixado e so colocar no diretorio criado artwork preview dentro da pasta .wahcade(oculta) na sua home. Ao selecionar no front-end o game vai ser apresentada a foto do jogo e depois de 7 segundos um pequeno filme de curta duração.
Nas outras configurações deixe como esta.
Agora a parte mais importante, e que veremos se foi realmente eficaz a correção anteriormente no setup.py la no inicio, em XML/Data File clique na seta azul do lado direito e aguarde, apos clique em Setup Filters, se tudo ocorreu sem erros parabens! clique em "generate" e aguarde, agora nao esqueça de salvar e a sua configuração basica esta pronta.
Lançador;cd /usr/share/applications ; sudo gedit WahCade.desktop
[Desktop Entry]
Version=0.26
Encoding=UTF-8
Name=Wah!Cade
Comment=Play classic arcade games
Exec=/usr/local/share/games/wahcade/wahcade
Terminal=false
Type=Application
Icon=/usr/local/share/games/wahcade/pixmaps/wahcade.png
Categories=Game;ArcadeGame;
StartupNotify=False
Name[pt_BR]=WahCade
Agora e so salvar.
Consideraçoes finais;Aqui vc aprendeu o basico do basico para ter o seu front-end Arcade Wah!cade funcionando com preview dos games, snaps, e o layout padrao, as customizaçoes vai muito alem do que foi mostrado, veja um exemplo de layout customizado
http://www.joeltron.com/bloodcade muito bacana, inclusive disponivel para download.
Ha tbm uma versao que roda direto do CD/DVD e tbm é instalavel
http://arcade.groovy.org/ bem pratico, com Wah!cade incluso na versao 1.0 e outros front-ends.
enjoy!!!!
Veja tbm;
http://www.mamechannel.it/mc_radio/http://www.bloguemos.com/?p=339http://www.projectarcade.com/sample.htmlhttp://www.arcadesolutions.com.br/http://www.donovanmyers.com/2009/03/vewlix-tournament-edition-worklog-01/http://www.anti-particle.com/wahcade.shtmlhttp://mamedev.org/release.htmlhttp://www.joeltron.com/bloodcadehttp://damdai.com/Supercade/http://hyperlist.hyperspin-fe.com/