Sie sind auf Seite 1von 29

Montando uma multijogos caseira

Page 1 of 29

Montando uma multijogos caseira.


Sistema Operacional : Windows XP SP2 ( ingls ) Placa Me utilizada: M871G Memria: 512MB Disco : HD 40GB Vdeo: Nvidia FX5200 ( AGP ) A parte mais chata e complicada de uma multijgos referente a parte de vdeo isso quando falamos de monitores rcades, por esse motivo eu recomendo que seja usado uma placa de vdeo offboard ( de preferncia uma nvidia e com sada para TV isso porque se usado uma placa desse tipo teremos 3 opes de monitores que poderemos usar, pc, tv e rcade, as placas da ATI tambm so boas mas alguns modelos podem dar problemas com jogos 3D ao tentar deixar com um sinal de 15khz usado em monitores arcades ). Outro ponto que confunde muito que tipo de controle usar ( teclado, hack de teclado, joystick na porta paralela ou USB, etc... ) , na minha opinio a mais rpida e menos trabalhosa so os joysticks de psx, pois so baratos fceis de realizar manuteno e tem uma quantidade de botes suficientes para qualquer montagem desse tipo e quanto a ser adaptado por porta paralela ou USB a escolha fica ao seu critrio ( lembrando que os adaptados pela USB usam menos recursos do sistema, isso porque eles tero seus controladores prprios e os adaptados pela porta paralela iro exigir mais trabalho do processador. ). A to falada placa jama, essa nada mais do que 3 circuitos em 1 ( udio, joystick, juno do sincronismo ( esse ultimo se aplica somente a monitores rcades ) ). Imagens de uma placa adaptadora ( a que eu trabalho ).

Primeira parte
A primeira parte desse tutorial referente ao sistema operacional, o windowsXP foi escolhido pela facilidade de uso e ter drivers atualizados, o que ser mostrado aqui at daria para fazer com o windows98 o problema mesmo que como ele foi descontinuado achar determinados drivers para ele seria difcil ou at mesmo impossvel ( usando placas atuais ) , outro sistema operacional que possvel fazer com o Linux ( mas isso vai ser tema para um prximo tutorial ).

Instalando o windowsXP.
Para fazermos as modificaes o ideal fazer uma instalao normal do windowsXP em um HD vazio ou ento em um partio vazia. ( Ateno!!! no use as ferramentas que vo ser mostradas no sistema operacional que voc est utilizando, ou ter problemas ). Depois de decidir onde vai colocar essa nova instalao, basta fazer a instalao normalmente, depois instale todos os drivers

file://C:\Documents and Settings\branco\My Documents\Multijogos\montando_uma_multi... 4/30/2008

Montando uma multijogos caseira

Page 2 of 29

( som, vdeo, usb, etc... ) que ir usar, teste tudo para ver se est funcionando. Ferramenta que ser usada para modificar o windowsXP. Para enxugarmos o WindowsXP iremos usar um utilitrio chamado XPLITE ( http://www.litepc.com ), esse utilitrio permite remover vrios componentes do Windows sem deixar ele instvel e de fcil uso, para facilitar eu upei ele para easy-share ( http://w16.easy-share.com/1700055131.html ) , esse utilitrio no grtis mas na verso upada contm um arquivo .reg que deve ser executado antes de abrir o XPLITE e que ir registrar o programa habilitando todas as suas funes. Esse utilitrio no precisa de instalao para inici-lo basta clicar no executvel. O pacote contm os seguintes arquivos: XPlite.exe ( o programa executvel ) XPlite.chm ( arquivo de ajuda ) XPlite.cfg ( arquivo com as mofidicaes que eu fiz ) Readme ( termos de uso ) License.reg ( crack para ativar o programa ) Ghost.exe ( utilitrio para clonar discos ou parties ) Nesse pacote eu no adicionei uma outra ferramenta pois existem vrios tipos que trabalham de forma semelhante, trata-se de qualquer ferramenta que faa anlises e correo no registro do Windows, isso importante pois depois de usar o XPLITE iro ficar vrias entradas rfs no registro do Windows, que so aconselhveis retirar, eu particularmente gosto de usar o ccleaner ( http://www.ccleaner.com ). Iniciando as modificaes: Aps ter instalado o sistema operacional e todos os drivers para sua placa, descompacte o pacote do XPLITE em uma pasta qualquer e clique no arquivo de registro ( Licence.reg ) para adicionar o contedo dele ao registro do Windows, com isso voc ter uma cpia do XPLITE 100% funcional. Nesse ponto se voc quiser pode iniciar suas prprias alteraes para melhorar o desempenho, como por exemplo: ( remover o papel de parede e qualquer outra otimizao que voc conhea ). O que eu costumo fazer de imediato : z Habilitar a visualizao dos arquivos ocultos e de sistema ( Explorer )

Desabilitar a memria virtual ( isso se tiver pelos menos 512MB )

file://C:\Documents and Settings\branco\My Documents\Multijogos\montando_uma_multi... 4/30/2008

Montando uma multijogos caseira

Page 3 of 29

Desabilitar as configuraes de efeitos visuais.

z z

Remover o papel de parede Alterar as telas do windows ( welcome, ResHack )

file://C:\Documents and Settings\branco\My Documents\Multijogos\montando_uma_multi... 4/30/2008

Montando uma multijogos caseira

Page 4 of 29

Feitas as suas alteraes chega a hora de iniciarmos o XPLITE ( !!! no esquea de executar o arquivo de licena ), ento v at a pasta onde voc descompactou o pacote postado e clique no cone do XPLITE para executalo, caso seja mostrado alguma tela informando se voc deseja fazer uma atualizao basta clicar em "NO", a tela que dever aparecer a seguinte:

Agora clique no cone ( 2 engrenagens ) de configurao ( ao lado do cone ? no canto superior direito ) da barra de titulo, com isso ir ser exibido essa nova janela:

Deixe a janela configurada igual a imagem acima, a opo "Show Advanced...." ir mostrar mais opes que teremos acesso, e a opo "Warn If..." faz com que o XPLITE envie um aviso caso no consiga criar um ponto de restaurao para as modificaes realizadas e essa uma das grandes vantagens desse utilitrio, pois caso voc remova algum componente que impea o windows de iniciar normalmente, voc ter a opo de inicar em modo de segurana e restaurar o registro, ao final de todas as modificaes e teste ento poderemos remover todos os pontos de restaurao criados para livrar espao. Apos ter configurado a sesso acima clique em "OK" para retornar a janela anterior ( principal ), e agora selecione a aba "Windows File Protection".

file://C:\Documents and Settings\branco\My Documents\Multijogos\montando_uma_multi... 4/30/2008

Montando uma multijogos caseira

Page 5 of 29

Nessa aba voc deve selecionar a opo "Disabled" no quadro "Windows File Protection" e usar o boto deslizante no quadro "File cache Settings" para deixar ele em "0% 0MB". A primeira opo ir fazer com que o XPLITE desabilite o "Windows File Protections" se isso no for feito e voc tentar remover qualquer arquivo da pasta "Windows" ou "System32", o windows ir imediatamente adicionar um novo arquivo para substituir o que foi deletado ou alterado. A segunda opo faz com que o XPLITE delete todo o contedo da pasta "c:\Windows\system32\DLLCache" o windows usa essa pasta para guardar vrios arquivos para que voc no tenha que colocar o CDROM de instalao a cada novo programa ou driver instalado e como essa pasta ocupa vrios Megabytes, pode ser deletada sem risco ao sistema, e caso voc instale algo que precise de arquivos extras basta colocar o CDROM de instalao e o problema estar resolvido. Importante!!! Aps ajustar as opes mostradas acima voc deve reiniciar o computador para que o "Windows File Protection" seja desabilitado. Depois de reiniciar o pc execute novamente o XPLITE e selecione a aba "Add/Remove Components", voc ir ver essa janela:

Essa janela a responsvel por remover todos os componentes ( programas ) listados, repare que ao passa o mouse por qualquer opo voc ir ver uma breve descrio do que ser feito ( o ideal seria voc ver item por item e pesquisar sobre cada um deles para saber no que a remoo dele afeta no sistema ), quando voc tentar retirar um componente que pode causar alguma instabilidade no sistema o XPLITE ir te avisar sobre o risco, o mesmo acontece quando se tenta remover um componente que outros programas utilizam.

file://C:\Documents and Settings\branco\My Documents\Multijogos\montando_uma_multi... 4/30/2008

Montando uma multijogos caseira

Page 6 of 29

Como mencionei o ideal conhecer um por dos componentes a serem retirados, embora que caso voc remova algo errado sempre ter a opo de restaurar. No "pacote postado" eu coloquei a configurao que realizei aqui ( veja o arquivo xplite.cfg ), esse arquivo pode ser criado ou carregado no momento que voc quiser:
z

Para salvar um arquivo de configurao com as opes que voc selecionou, clique no cone ( diskete, lado esquerdo ) e ser exibido uma tela perguntando o nome que voc quer dar para a configurao, e ser salva no mesmo diretrio onde se encontra o XPLITE. Para usar uma configurao salva ( como essa que eu criei ), clique no cone ( Reload , setas formando um circulo ) e ser mostrado uma lista com as configuraes salvas.

Repare que nessa configurao que eu fiz eu deixei somente 38 componentes de um total de 162, com isso consegui deixar o sistema com apenas 420MB de espao ocupado ( possvel remover bem mais, mas para isso necessrio que seja feito manualmente e conhecer o que cada arquivo representa para o sistema ou programas ).

Com a remoo desses componentes e mais algumas alteraes nos servios do winxp:

file://C:\Documents and Settings\branco\My Documents\Multijogos\montando_uma_multi... 4/30/2008

Montando uma multijogos caseira

Page 7 of 29

Deu pra chegar nessa configurao de processos em execuo e uso da memria: ( repare que o pagefile.sys no usado ( pois est desabilitado ) ).

Agora falta apenas adicionar mais algumas otimizaes referentes ao desempenho e uso da memria que podero ser feitas atravs de arquivos ".reg", assim que eu acabar de cri-los irei colocar para download, e explicar o que cada entrada de registro faz pelo sistema, caso voc conhea alguma otimizao ou arquivos que no so relevantes para o sistema fique -vontade para postar no frum ou adicionar/remover na sua instalao. Depois de pesquisar bastante acabei verificando que a maioria das otimizaes encontradas e que so relevantes a melhoria do desempenho no so necessrias ou no tem uma base comprovada de melhorias, ento fica aqui as que eu considerei necessrias ( lembrando... caso voc conhea mais alguma que seja eficaz fique a vontade em adicion-la ).

file://C:\Documents and Settings\branco\My Documents\Multijogos\montando_uma_multi... 4/30/2008

Montando uma multijogos caseira

Page 8 of 29

Otimizaes usadas no registro Windows Registry Editor Version 5.00 ;otimiza o boot abilitando a defragmentao [HKEY_LOCAL_MACHINE\software\microsoft\dfrg\bootoptimizefunction] "Enable"="Y" ;aloca um buffers maior para o arquivo a ser executado [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem] "ContigFileAllocSize"=dword:00000200 ;programas fechando mais rpido [HKEY_CURRENT_USER\Control Panel\Desktop] "AutoEndTasks"="1" "HungAppTimeout"="5000" "MenuShowDelay"="150" "PowerOffActive"="0" "PowerOffTimeOut"="0" "ScreenSaverIsSecure"="0" "ScreenSaveTimeOut"="0" "ScreenSaveActive"="0" "WaitToKillAppTimeout"="1000" ;para no ser mostrado a tela de welcome, pode ser abilitado o login automatico: ;com isso ser mostrado somente uma tela rpida de entrada no sistema essa tela ser mudada ( personalizada ). ;Na opo "DefaultPassword" deve ser colocado a senha correta que foi usada na instalao, ou caso no tenha usado ento pode deixar da forma que est ( em branco ). [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] "LogonType"=dword:00000000 "AutoAdminLogon"="1" "DefaultPassword"=""

Otimizaes no system.ini, pode ser usado o comando sysedit. [386enh] 32BitDiskAccess=on 32BitFileAccess=on DMABufferSize=64 MinSPs=16 PageBuffers=32 ConservativeSwapfileUsage=1 Fora essas otimizaes outras alteraes que iro aliviar tanto o processador quanto a memria fsica a desabilitao de servios que no tero utilidades na montagem, para isso no tem uma receita pronta pois pode variar de sistema para sistema dependendo do que foi instalado, a forma correta para se desabilitar esses servios conhecendo o que eles fazem e isso s estudando mesmo cada um deles, aqui no meu caso foram desabilitados os seguintes servios:
z z z z z z z z z z

DHCP DNS FASTUSER HTTP SSL IPSEC NETWORK CONNECTIONS NETWORK LOCATIONS PRINT SPOOLER PROTECTED STORAGE SERVER

file://C:\Documents and Settings\branco\My Documents\Multijogos\montando_uma_multi... 4/30/2008

Montando uma multijogos caseira

Page 9 of 29

z z z

SHELL HARDWARE DETECTION THEMES WINDOWS TIME

Esses servios mencionados foram todos "DESABILITADOS" pois iniciavam automaticamente o restante ficou como padro ( AUTOMTICO ou MANUAL ).

Removendo mais arquivos que no tero utilidade.


O XPLITE remove uma grande quantidade de arquivos, mas mesmo assim ainda possvel remover mais alguns que no sero usados, os arquivos mencionados abaixo so encontrados em "c:\windows\system32".
z z z z z z

Pasta HELP ( pode deletar todo o contedo ) Pasta INF ( pode deletar todo o contedo ) Pasta REPAIR ( pode deletar todo o contedo ) Pasta DLLCACHE ( ( pode deletar todo o contedo , se o xplite j no tiver feito ) Pasta PREFETCH ( pode deletar todo o contedo, se o xplite no tiver feito ) Delete tambm ( caso no v utiliza-lo ) o "pagefile.sys" e "hiberfil.sys"

Uma ferramenta que podem ajudar a deixar a instalao bem mais limpas e altamente recomendada o [ Ccleaner, http://www.ccleaner.com ] Esse utilitrio alm de varrer o HD para limpar vrios megabytes, tambm varre o registro do windows limpando chaves invlidas ou corrompidas. Essas so as dicas para deixar uma instalao limpa e otimizada ( pelo menos as que eu conheo ). Para por isso em prtica eu usei uma hd vazia de 40GB, que foi reparticionada em 2 partes ( partio primria com 1GB e o restante 39GB para a segunda partio ), o tamanho da primeira partio ir depender da sua quantidade de memria, aqui eu pretendo usar 512MB e no irei utilizar o arquivo de troca ( pagefile.sys ), isso porque com esse esquema eu poderei colocar esse windows em um ( pendrive, compact flash, dvdrom, etc ).

Personalizando o Boot do WinXP:


Para personalizar o boot do windowsXP podemos criar uma imagem para ser mostrada ao invs do logotipo do windows, para isso necessria criar uma imagem com o tamanho de 640x480 pixel, e essa imagem s pode usar uma paleta de cores de 8bits e essa paleta s pode ter 16 cores, qualquer outra imagem com uma especificao diferente no ser exibida: A imagem criada de ser salva na pasta "WINDOWS" e ter o nome de "boot.bmp", feito isso agora basta colocar as opes de inicializao no arquivo "boot.ini" que se encontra na raiz da unidade "C:", as opes a serem acrescentadas so: No arquivo boot.ini /bootlogo = Mostra o arquivo boot.bmp /noguiboot = No mostra o logotipo do windows no carregamento. Exemplo de como ficou meu boot.ini com essas 2 opes: multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /bootlogo /noguiboot Amostra da minha tela de boot:

file://C:\Documents and Settings\branco\My Documents\Multijogos\montando_uma_multi... 4/30/2008

Montando uma multijogos caseira

Page 10 of 29

Proteger o sistema operacional.


Todos os procedimentos mostrado acima foram para deixar uma instalao do winXP o mais leve e enxuta possvel, e isso tudo para que essa instalao possa ser portada para um ( pendriver, compact flash, cdrom, dvdrom, etc...), pois com isso poderiamos criar uma multijogos com por exemplo somente um ( pendrive+cdrom ou pendrive+hd ou somente um DVDROM ). Mas para isso necessario fazer mais algumas modificaes no sistema pois d forma que ele est somente seria possvel coloc-lo em um compact-flash ou pendriver ( ou seja uma media regravavl ), e mesmo assim se for usado esse tipo de dispositivo o windows em pouco tempo ir danificar eles ou ter arquivos corrompidos. Para quem no sabe esses dispositivos ( compact-flash e pendrive ) tem um tempo de vida ( ciclos de gravao ) embora que pelas especificaes dos fabricantes paream ser bem longas mas na prtica no so ( o winxp ir gravar com muita freqncia no dispositivo ), mesmo que o esquema mostrado acima seja gravado em um HD sempre se corre o risco de ter um arquivo corrompido com uma queda de energia, o nico esquema que protege os dados seria a gravao em cdrom ou dvdrom ( os chamados live-cds ) Para resolver os problema citados acima irei mostrar uma forma de proteger o sistema operacional contra gravao ( ou permitir que ele seja gravado em um cdrom ou dvdrom ), o procedimento a ser mostrado trata-se de uma espcie de gambiarra que foi adaptada do sistema "Windows XP para dispositivos embarcados", os procedimentos mostrados aqui foram retirados do site http://www.mp3car.com/vbulletin/winnt-based/37078-using-ewf-regular-winxp.html, e testadas com sucesso. O procedimento mostrado no site ir fazer com que toda a gravao que o winxp costuma fazer no HD seja redirecionada para um espao na memria ram, ou seja o procedimento ir enganar o winxp fazendo com que ele pense que est usando um HD mas na realidade todas as operaes de gravao so desviada para uma rea na memria RAM, voc pode at criar ou copiar um arquivo para o ( HD, pendrive, etc..), mas assim que o pc for reiniciado voc ir ver que na realidade o arquivo no foi salvo dentro do dispositivo. Para fazer esse esquema so necessrios os seguintes arquivos:
z z z

Ewf.sys ( drive ) Ewfntldr ( inicializador do windows ) Ewfmgr.exe ( programa para gerenciar o Ewf.sys)

Esses software so encontrados no pacote do "WindowsXP Embedded", para adquirir uma cpia basta baixar a verso "trial" no site da microsoft. Os procedimentos mostrados a seguir devem ser feitos depois que tudo estiver instalado e configurado. Primeiro renomeie o arquivo "Ewfntldr" para "ntldr" esse arquivo deve ficar na raiz do HD ( repare que j ir existir um que o original do winxp, ento renomeie esse original para qualquer outro nome por exemplo ntldr_bak ). Agora copie o "Ewf.sys" para a pasta "c:\windows\ system32\drivers", e por fim o arquivo "Ewfmgr.exe" para a pasta "c:\windows\system32". Agora devemos fazer varias alteraes no registro do para ativar o "Ewf", para que o registro permita fazer tais alteraes necessrio habilitar a permisso de acesso ao resgistro, para isso abra o editor de registro "regedit", selecione a chave do registro

file://C:\Documents and Settings\branco\My Documents\Multijogos\montando_uma_multi... 4/30/2008

Montando uma multijogos caseira

Page 11 of 29

"HKEY_LOCAL_MACHINE" e de um clique com o boto direto sobre essa chave, com isso voc ir ver esse menu:

Agora selecione a opo "Permissions..." e clique nessa opo, e ver essa outra janela:

Agora selecione a opo "Everyone" e marque a caixa "Full Control", com isso voc estar abilitando para que qualquer pessoa possa fazer alteraes nessa chave de registro, isso necessrio pois agora irei postar uma lista de modificaes que devero ser feitas e essa lista pode ser copiada no "bloco de notas" do windows e salva com a exteno ".reg" e com isso ao invs de ter que criar ou alterar certas chaves ou dados bastar dar um duplo clique no arquivo salvo e o editor de registro ir adicionar tudo automaticamente.

Lista de alteraes
Windows Registry Editor Version 5.00

file://C:\Documents and Settings\branco\My Documents\Multijogos\montando_uma_multi... 4/30/2008

Montando uma multijogos caseira

Page 12 of 29

;mp3car necessario clicar com o boto direito e habilitar o previlegio no editor de registro [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_EWF] "NextInstance"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_EWF\0000] "Service"="EWF" "Legacy"=dword:00000001 "ConfigFlags"=dword:00000020 "Class"="LegacyDriver" "ClassGUID"="{8ECC055D-047F-11D1-A537-0000F8753ED1}" "DeviceDesc"="EWF" "Capabilities"=dword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_EWF\0000\Control] "ActiveService"="EWF" ;ms [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ewf] "ErrorControl"=dword:00000001 "Group"="System Bus Extender" "Start"=dword:00000000 "Type"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{71A27CDD-812A-11D0-BEC708002BE2092F}] "UpperFilters"="Ewf" [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ewf\Parameters] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ewf\Parameters\Protected] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ewf\Parameters\Protected\Volume0] "VolumeID"="{1EA414D1-6760-4625-8CBE-4F9F85A48E15}" "Type"=dword:00000001 "ArcName"="multi(0)disk(0)rdisk(0)partition(1)" ;Disabling Last Access Time Stamps [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem] "NtfsDisableLastAccessUpdate"=dword:00000001 ;Background Disk Defragmentation Disable [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction] "Enable"="N" ;Disable Background auto-layout [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OptimalLayout] "EnableAutoLayout"=dword:00000000 ;To disable prefetch [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters] "EnablePrefetcher"=dword:00000000 Depois de criar o arquivo ".reg" e adiciona-lo ao registro de uma pesquisada nas chaves mostradas e verifique se todas foram criadas ou alteradas e se esto com os valores iguais a tabela acima, caso alguma chave no tenha sido alterada ou criada ento faa isso manualmente usando o "regedit". Depois de verificar se tudo ficou correto com o registro ento chega a hora de reiniciar o computador para que as alteraes tenham efeito. Depois de reiniciar iremos agora verificar se o filtro "EWF" est funcionando corretamente, para isso abra o prompt de comando "cmd.exe" e digite: c:>ewfmgr.exe c: Com isso voc ver uma descrio como a mostrada nessa imagem:

file://C:\Documents and Settings\branco\My Documents\Multijogos\montando_uma_multi... 4/30/2008

Montando uma multijogos caseira

Page 13 of 29

Nessa janela o que devemos observar as informaes "Type" e "State":


z

Type: informa o tipo de filtro que o "EWF" est aplicando na sua instalao, so 3 tipos possveis ( veja no site os tipos existentes ) State: informa o estado do filtro "Enabled" ou "Disabled", quando est "Enabled" significa que o filtro est habilitado, e com isso qualquer tipo de gravao no dispositivo ser desviada para uma rea na memria ram.

Se voc quiser fazer um teste abra o bloco de notas e salve o documento corrente para o HD, se quiser tambm pode renomear algum arquivo ou copiar algum arquivo para a unidade { C: }, depois reinicie o computador e ver que os arquivos no estaro mais l e que o arquivo renomeado voltou a ter o nome original. Como j foi mencionado o programa "Ewfmgr.exe" quem controla o filtro, para ver as opes possveis digite no prompt "ewfmgr.exe /?" e ser mostrado uma lista com as opes disponveis. As principais so:
z z z z

Enable ( habilita o filtro no prximo boot ) Disable ( desabilita o filtro no prximo boot) Commit ( grava os dados para o disco ) CommitAndDisable ( grava os dados e desabilita o filtro imediatamente )

Fora isso ainda possvel criar programas ou scripts usando a API do EWF para manipular esse filtro, para isso veja no site as documentao avaliada, fora isso na documentao voc ir encontrar tudo que precisa para criar um CD ou DVD ou pendrive bootavel, Esse o final do tutorial referente a personalizao do winxp para a multijogos planejada.

Segunda Parte:
Depois das otimizaes do registro ser iniciado a adio do front-end e de um emulador por vez, isso porque eles sero adicionados como uma espcie de modulo independente onde um no afeta o funcionamento do outro ou do front-end, e com isso ir facilitar na hora de adicionar ou no um determinado emulador. O front-end que irei usar advanceMenu, e o motivo que ele no precisa de instalao possvel colocar qualquer emulador ou programa para ele gerenciar e por ser o nico que reproduz os arquivos de vdeo produzidos pelo mame. Para ajudar o advanceMenu ser usado um script para cada emulador adicionado esses scripts iro fazer o trabalho de enviar teclas para o emulador e outras tarefas que no possivel fazer s com o advanceMenu. A verso do advanceMenu que irei postar por enquanto tem as seguintes alteraes:
z

Ser usado os seguintes botoes do joystick1, caso queira usar um teclado, as teclas continuam as padres do advanceMenu:

file://C:\Documents and Settings\branco\My Documents\Multijogos\montando_uma_multi... 4/30/2008

Montando uma multijogos caseira

Page 14 of 29

z z z

z z z

Boto2 ( troca de emulador ) Boto3 ( muda o formato da lista, por exemplo de lista para imagens ) Boto7 ( Ficha, o advanceMenu poder trabalhar de 2 formas, 1 somente permite chamar um jogo caso haja ficha, 2 modo convencional ) Boto8 ( Carrega o jogo selecionado ) Boto9 ( Fecha o advanceMenu ) Boto10 ( Abre o menu de opes )

z z z

Poder ser criado uma tela de fundo para cada emulador, ou seja ao trocar de emulador a imagem ser mudada imediatamente. Ao depositar uma ficha ser tocado um som apropriado ou uma mensagem de voz no formato ".wav" O advanceMenu ter uma opo ( caso esteja habilitada) que s ir permitir o carregamento do jogo caso haja uma ficha. Todas as fichas depositadas iro para um banco de dados ( arquivo .ini ), com isso mesmo desligando a mquina as fichas no jogadas continuaro guardadas. O advanceMenu ir trabalhar de forma transparente tanto com jogos de ( Habilidade arcade ) quanto os de ( Tempo video games ), ou seja depois de definido ( quanto Tempo uma Ficha ir valer ), tanto faz o jogador depositar uma ficha que ela ser vlida em qualquer um dos modos, por exemplo se ele depositar uma ficha e chamar um jogo de "Video Game" ele poder jogar normalmente e voltar a qualquer hora para o advanceMenu e selecionar outro jogo at que o tempo se esgote. O advanceMenu foi programado para saber o tempo que resta ento caso o jogador coloque uma ficha e jogue um jogo de "Video Game" por alguns minutos e depois volte ao advanceMenu e tente jogar o resto do tempo em um jogo de "Arcade", o advanceMenu no ir permitir a menos que ele deposite mais uma ficha, nesse caso o jogador poder jogar o game de "Arcade" e depois poder retornar ao advanceMenu e gastar o tempo que tinha sobrado da ficha anterior em qualquer outro jogo de "Video Game".

Continuao....
Aqui iremos comear com a parte de organizao das pastas, com isso ficar mais fcil distribuir os pacotes para serem encaixados um a um. Imagem de como eu organizei as minhas pastas ( algumas mostradas nessa imagem no sero usadas ).

A estrutura ser da seguinte forma ( ela pode ser alterada do momento que voc alterar as configuraes dos emuladores e scripts ).
z z z z

z z

Pasta ARCADE, ir conter todas as outras pastas, ou seja a pasta raiz. Pasta AUXILIAR,ir conter ( por enquanto ) 3 subpastas que iro conter arquivos de som, imagem, fontes. Pasta BACKUP, ir conter uma cpia de segurana das principais configuraes. Pasta JOGOS, ir conter uma subpasta para cada tipo de sistema ( neogeo, capcom, outros, zinc, model2, supernes, mega, etc...), em resumo nessa pasta ser armazenado todos os jogos divididos por sistema. Pasta SNAP, ir conter vrias subpastas com as fotos/imagens/videos dos jogos de cada sistema. Pasta SCRIPTS, nessa pasta sero colocados os cdigos fonte de todos os scripts ( autoIT ) utilizados, com isso ser fcil para localizar, modificar, adaptar conforme a necessidade. Pasta JOYTOKEY, nessa pasta contm o programa joytokey, que permite simular teclas atravs de botes de joystick,

file://C:\Documents and Settings\branco\My Documents\Multijogos\montando_uma_multi... 4/30/2008

Montando uma multijogos caseira

Page 15 of 29

esse programa foi escolhido porque trabalha muito bem em conjunto com o mame, e ir facilitar bastante na construo dos scripts. No pacote que irei posta o link logo abaixo, j ir se encarregar de criar uma parte da estrutura mencionada, bastando escolher uma partio e descompactar. Mas antes disso vou explicar um pouco sobre as alteraes feitas no advanceMENU.

Como j mencionei a inteno fazer o advanceMENU suportar vrios sistemas diferentes, para isso cada sistema ter sua tela de fundo personalizada ( no pacote abaixo contm algumas que eu uso atualmente ), e para navegar entre os sistemas utilizado o boto2 do joystick ou caso esteja usando um teclado a tecla { F6 }, ao mudar de um sistema para outro a tela de fundo correspondente ao sistema ser mostrada. Tambm foi adicionado um sistema de fichas no advanceMENU que inteligente o bastante para converter uma ficha em tempo e vice-versa, e por esse motivo que se torna necessrio o uso de um script para cada emulador, pois eles que iro atualizar os contadores de ficha, as fichas depositadas tanto no advanceMENU quanto nos emuladores sero armazenadas em um arquivo simples do tipo ".ini" mas precisamente "advmenu.ini" na pasta principal, ou seja uma vez depositada uma ficha ela guardada em disco e mesmo desligando a maquina as fichas no usadas no sero perdidas, e para utilizar uma ficha depositada basta pressionar o boto { START }, com isso o script ir verificar se existe uma ficha no banco de dados e em caso positivo ir enviar ao emulador ( nota: esse esquema pode ser modificado, mas como aqui se trata de uma montagem para uso caseiro eu creio que no h problemas ). Bloqueio, foi adicionado uma opo chamada "BLOQUEADO" dentro do arquivo "advmenu.ini" , que se modificada para o valor de "1", s ir permitir o carregamento do jogo caso tenha pelo menos uma ficha depositada, essa opo s seria til em maquinas para uso comercial, mas para nvel de curiosidade resolvi adicionar essa opo, ento caso queira testar basta editar o advmenu.ini que um arquivo de texto puro e modificar o valor de zero para um. Na parte de video game ( ainda no est pronto os scripts ), voc poder retornar a qualquer momento para o advanceMENU e selecionar outro jogo at o termino do tempo, caso haja tempo equivalente a uma ficha voc poder selecionar at um jogo arcade, caso contrrio poder jogar o tempo restante somente em um jogo de video game, para isso ser possvel foi adicionado um cdigo que converte o tempo em ficha e a ficha em tempo, essa configurao pode ser modificada no "advmenu.ini" na opo "TEMPOPORFICHA" , o padro dela "600000" que equivale a 10 minutos, esse tempo calculado em milsimos de segundos, essa mais uma opo que s til em maquinas comerciais, s foi adicionada a nvel de curiosidade. Sons, ao se depositar uma ficha tocado um arquivo ".wav" que indicar o depsito da ficha, caso a opo "BLOQUEADO" esteja ativa ser reproduzido uma mensagem de voz pedindo o depsito de uma ficha, o mesmo se aplica quanto a vrias mensagens do sistema. O arquivo "advmenu.rc" est todo comentado para facilitar a personalizao ( cores, formato da lista, sons, etc...), como pode ser reparado na imagem acima foram retirados algumas informaes que so mostradas por padro no advanceMENU, foram deixadas apenas as que so vistas na imagem. Ainda no advanceMENU ser criado uma srie de scripts ( sero feitos conforme a necessidade ) para facilitar a

file://C:\Documents and Settings\branco\My Documents\Multijogos\montando_uma_multi... 4/30/2008

Montando uma multijogos caseira

Page 16 of 29

manuteno, esses scripts podero ser acessados atravs do menu e somente com um teclado.

Observao: As modificaes mencionadas e os scripts disponibilizados s iro funcionar com a verso do emulador encontrada no pacote ( brmamep.exe v124u2 ), isso porque as verses distribudas so compiladas com opes diferentes e elas no iro aceitar os scripts. Para testar o pacote, basta colocar pelo menos uma rom de cada sistema nas suas devidas pastas ( neogeo, capcom, outros ) e executar o advmenu.exe. Outra observao importante em relao a resoluo, eu configurei o advanceMENU para 640x480, isso porque quando chegarmos a ltima parte do tutorial ser mostrado algumas formas de como passar a imagem vista no monitor do pc para um monitor arcade, ou mesmo que seja na tv essa resoluo o suficiente, e dependendo da placa de vdeo utilizada outra resoluo torna invivel, outra coisa que a imagem de fundo e o menu foram ajustados para trabalharem com essa resoluo, mas mesmo assim nada impede de voc alter-la, por exemplo aqui eu deixo em 1024x768 enquanto estou testanto, para alterar a resoluo basta editar o arquivo "advmenu.rc" e alterar a opo "display_size 640" para a resoluo desejada, por exemplo "display_size 1024" Mais um ponto a observar a pasta "artwork" na pasta do mame, dentro dela eu deixei um arquivo de nome "1941.zip", esse arquivo o chamado "BEZEL", esse arquivo contm uma imagem que ser usada para cobrir as bordas laterais que aparecem em jogos "verticais" como o jogo "1941 Counter Attack", esse arquivo apenas uma demonstrao e com ele possvel fazer um "BEZEL" padronizado para todos os jogos verticais de uma forma rpida e automatizada via script, mas caso voc tenha pacincia os "BEZEL" original de cada jogo vertical pode ser encontrado na net. Link: ARCADE.RAR ( http://w15.easy-share.com/1700219904.html )o pacote contm os primeiros arquivos para montagem, para ter a estrutura mencionada anteriormente basta descompactar ele em uma partio a seu gosto, com isso ser criado uma pasta chamada "ARCADE" com vrias subpastas e os arquivos mencionados, no esquea se for testar coloque uma rom de cada sistema na pasta correta ou ento altere a configurao "rompath" do emulador, o cdigo fonte do script responsvel por controlar o mame est na pasta "SCRIPTS".
Depois de ter mencionado sobre os BEZEL resolvi fazer um script para facilitar a criao deles, o script ( source-code, executvel, outros ) podem ser baixados no link: http://w14.easy-share.com/1700234264.html, o resultado obtido usando BEZEL a imagem abaixo.

Fornecendo os parmetros pedidos pelo script ele ir um bezel para cada rom que voc tiver e que precisar.

Continuao...

file://C:\Documents and Settings\branco\My Documents\Multijogos\montando_uma_multi... 4/30/2008

Montando uma multijogos caseira

Page 17 of 29

Nesse ponto irei explicar um pouco sobre as configuraes usadas no advmenu.rc, joytokey e o script., isso porque se voc entender o conceito ir conseguir adicionar qualquer emulador, programa, jogo de pc, etc... no advanceMENU, e o meu principal objetivo ser incentivar o aprendizado principalmente da linguagem de script autoIT, porque se voc dominar ela conseguir fazer muitas coisas de forma rpida e fcil. Em primeiro lugar se voc editar o arquivo advmenu.rc ir encontrar as seguintes linhas que fazem com que seja adicionado o emulador mame. #emulador mame #*********************************************** emulator "ARCADE" generic ".\mame\aumame.exe" "%s" emulator_roms "ARCADE" "..\jogos\outros" emulator_roms_filter "ARCADE" "*.zip" emulator_altss "ARCADE" "..\snap\arcade;..\mng" ARCADE/preview snap arcade/mode list arcade/sort name emulator_attrib "ARCADE" missing exclude #*********************************************** Explicando linha por linha:
z

#emulador mame, toda linha que comear com o caracter [ # ] tratado como um comentrio, ou seja oque estiver escrito depois dele ser totalmente ignorado pelo advanceMENU, isso serve para documentar o advmenu.rc. emulator "ARCADE" generic ".\mame\aumame.exe" "%s", a opo "emulator" usada para dar um apelido ao emulador, repare que o arquivo executvel o "aumame.exe", mas ele s mencionado uma vez e todas as outras opes usa o apelido "ARCADE" ao invs do nome real do executvel, a palavra "generic" informa para o advanceMENU que iremos usar um emulador que ele no conhece e com isso a nica coisa que ele deve fazer chamar o executvel informado e passar o parmetro informado na opo "%s" que significa o nome da rom, ento para que tudo funcione como o esperado devemos ter um emulador na pasta ".\mame" e que se chame "aumame.exe", fora isso devemos ter um arquivo no diretrio corrente com a lista dos jogos e com o mesmo apelido dado ao emulador e com a exteno "LST", no nosso caso "ARCADE.LST", caso no seja encontrado esse arquivo no diretrio corrente o advanceMENU ir mostrar na lista o nome da rom ao invs do nome do jogo. emulator_roms "ARCADE" "..\jogos\outros", essa opo ir informar ao advanceMENU onde as roms esto localizadas, caso no seja informado ou o caminho esteja incorreto o advanceMENU ir mostrar uma mensagem informando. emulator_roms_filter "ARCADE" "*.zip", essa opo ir fazer com que o advanceMENU filtre os arquivos que estiverem na pasta das roms, fazendo com que sejam reconhecidos somentes os arquivos com a exteno ".zip" qualquer outro arquivo com uma exteno diferente ser ignorado e no ser adicionado na lista. emulator_altss "ARCADE" "..\snap\arcade;..\mng", essa opo informa ao advanceMENU onde esto localizados as fotos ou videos dos jogos. ARCADE/preview snap, essa opo informa que o advanceMENU dever mostrar as fotos ou vdeos informados na opo anterior. arcade/mode list, essa opo informa como o advanceMENU dever mostrar a lista, existem vrios modos possveis para esse tutorial eu deixei somente 2 modos habilitados que so o normal ( lista ) e o modo ( imagem ) onde mostrado 12 imagens pequenas com o nome do jogo. arcade/sort name, essa opo trabalha em conjunto com a anterior, ela faz com que seja mostrado somente o nome do jogo. emulator_attrib "ARCADE" missing exclude, essa opo informa ao advanceMENU que jogos que no forem encontrados mas mesmo estando na lista no devem ser mostrados.

Essas opes tudo o que se precisa para adicionar qualquer emulador ao advanceMENU, bastando alterar a opo "emulador" para um nome diferente de um j usado, e informando onde se localiza esse novo emulador e onde se encontram suas roms. O joytokey como j foi mencionado e como o prprio nome sugere, ele emula teclas a partir de botes de joystick, no frum j existe um tutorial a respeito ento no vou explicar como ele funciona, aqui vale apenas informar como ele est sendo usado, e para isso basta editar um dos scripts fornecidos e verificar a linha onde ele est sendo chamado, se voc reparar no script "aumame.au3" ir ver que passado para o joytokey o parmetro "mame" que significa que ele deve carregar o arquivo de configurao que se encontra na pasta dele com o nome "mame.cfg" nesse arquivo contm as configuraes de teclas atribudas a cada boto do joystick. E por fim os scripts, essa a parte principal de todo o projeto pois so eles que permitem a adio de qualquer emulador ou programa e controlam como eles devem se comportar junto ao advanceMENU, os scripts usados no projeto so todos usando a linguagem de script AutoIT, a grande vantagem desses scripts que eles podem ser compilados transformando-os em arquivos executveis e sem a necessidade de arquivos extras ( DLLs ), fora isso facil de distribuir e de fcil aprendizado e o melhor de tudo grtis. Essa linguagem pode ser encontrada do site dos autores "http://www.autoitscript.com/autoit3/scite/", o AutoIT o

file://C:\Documents and Settings\branco\My Documents\Multijogos\montando_uma_multi... 4/30/2008

Montando uma multijogos caseira

Page 18 of 29

compilador r interpretador em s, e o SciTE4AutoIt3 o editor de script para o AutoIT, contm uma interface grfica e um arquivo de ajuda muito bem organizado e com muito exemplos prticos, fora isso voc pode ser cadastrar no frum onde tem centenas de exemplos prontos para serem compilados e usados.

Adicionando o emulador ZINC ao advanceMENU


O prximo emulador a ser inserido ser o ZINC.EXE, para quem no conhece o melhor emulador para as placas arcades baseadas no playstation 1, o mame tamm emula esses jogos mas como ele no usa acelerao 3D os jogos ficam lentos ou para rodar numa velocidade razovel necessrio um processador muito potente, a imagem abaixo mostra alguns jogos emulados por ele:

O script que ir controlar ele segue a mesma linha do "aumame.au3", com umas pequenas modificaes veja as diferenas:
z z z

O para rodar um jogo no zinc necessrio passar o numero do jogo e no o nome da rom como no mame. Os botes usado pelo zinc so diferentes do mame, ento foi feito um novo CFG para o joytokey. Alguns jogos do zinc (por exemplo: Tekken ) precisam do arquivo "pr1data.8k" e ele deve estar em "C:\", caso contrrio o jogo no roda, ento o script ir se encarregar de verificar e copiar esse arquivo caso precise para o local correto. O som emulado pelo zinc muito mais alto que o mame, para isso foi adicionado uma funo que ir regular o som conforme o jogo chamado, para isso basta editar o arquivo "auZinc.ini" e na opo "volume" colocar o valor correto para cada jogo, esse valor vai de 1 at 24, e quanto maior esse valor mais baixo ser o som, ento para testar abra um jogo do mame veja como est a altura do volume e depois abra um jogo do zinc, caso o volume esteja muito alto ento edite o arquivo "auZinc.ini" e almente o valor da opo "VOLUME", pelo meus teste os jogos que tem uma diferena muito alta em relao ao mame so os jogos da capcom "Street fighter EX, etc...", j os "Tekken" tem a altura similar ao mame podendo ento ficar com a opo "VOLUME=1" e os "Streets..." com "VOLUME=12" ou mais.

Para quem no est acostumado com o zinc ele usa um arquivo de configurao que contm as linhas de comandos a serem passadas para ele, isso facilita bastante porque as linhas de comandos so grandes e com isso s necessrio passar apenas uma que a localizao desse arquivo de configurao "--use-config-file=.\config.cfg", essa linha j foi inserida no script ento para alterar alguma coisa basta editar o arquivo "config.cfg" que est na pasta do zinc, por exemplo aqui eu uso o seguinte caminho para as roms ".\arcade\jogos\zinc10" ento se voc editar o arquivo mencionado ir encontrar esse parmetro, e caso use uma pasta diferente ser l onde voc deve editar, o mesmo se aplica a resoluo de vdeo o arquivo responsvel por controlar o "renderer.cfg". Para adicionar esse emulador ao advanceMENU insira as seguintes linhas no advmenu.rc:

file://C:\Documents and Settings\branco\My Documents\Multijogos\montando_uma_multi... 4/30/2008

Montando uma multijogos caseira

Page 19 of 29

advmenu.rc #emulador zinc #*********************************************** emulator "ZINC3D" generic ".\zinc\auzinc.exe" "%s" emulator_roms "ZINC3D" "..\jogos\zinc10" emulator_altss "ZINC3D" "..\snap\zinc10;..\mng" #*********************************************** ZINC3D/preview snap zinc3d/mode list zinc3d/sort name emulator_attrib "ZINC3D" missing exclude Como voc pode ver as opes so praticamente idnticas ao do mame, mudando apenas o nome do executvel e o nome das pasta onde se localiza as roms, imagens. O novo pacote contm a mesma estrutura de pasta do anterior, ento basta descompactar na mesma unidade do pacote anterior e os novos arquivos sero copiados para as pastas corretas ( isso se voc estiver seguindo o esquema de pasta mencionado ), nesse pacote contm somente os novos arquivos:
z z z

Pasta com o emulador zinc.exe e todos os arquivos necessrios ( menos as roms ) Mais um arquivo de configurao para o joytokey ( zinc.cfg ) Source code do script que controla o zinc "auzinc.au3"

Link do pacote para o emulador zinc: "http://w15.easy-share.com/1700256022.html"

Continuando...
Com o segundo pacote eu creio que ficou mais fcil de entender como funciona a adio de novos emuladores no advanceMENU, ou seja basta dar um apelido para o novo emulador e configurar as opes de localizao desse novo emulador, localizao das roms e localizao das fotos e estando no advanceMENU basta usar a tecla [ F6 ] ou o boto2 do joystick para alternar entre os emuladores instalados, ento nesse ponto vou abrir mais um espao para explicar mais algumas configuraes teis no advanceMENU que ir ajudar a organizar a lista de jogos e facilitar a manuteno. O advanceMENU trabalha com o esquema de organizao dos jogos baseado em "GRUPOS" e "TIPOS", ao editar o arquivo "advmenu.rc" poderemos encontrar as seguintes linhas group "<MULTIJOGOS>", group "REMOVIDOS", group "BIOS", essas linhas informam ao advanceMENU que ele deve criar na entrada do "MENU" 3 grupos com os nomes mencionados entre as aspas, isso ir servir para que possamos adicionar ou remover jogos de uma forma rpida e simples, o grupo "<MULTIJOGOS>" criado por padro e qualquer jogo que no pertencer a esse grupo no ser mostrado na lista, isso til na seguinte ocasio: na lista de jogos do ZINC por exemplo iro aparecer alguns nomes que no so jogos e sim as bios necessrias para o jogo poder carregar ( atluspsx, cpzn1, cpzn2, etc... ), ento para que esses nomes no sejam mostrados na lista podemos atribuir essas bios a um grupo diferente dos jogos, para isso basta para em cima do nome na lista de jogos e teclar [ F9 ], com isso ir abrir o menu de "GRUPOS" e ento selecionar o grupo "BIOS" e teclar [ ENTER ], com isso o jogo selecionado agora ir fazer parte desse grupo e como ele est marcado para no ser mostrado o advanceMENU ir retirar ele da lista de jogos. Esse esse mtodo pode ser aplicado para qualquer jogo que voc no goste, e para nvel de organizao foi criado o grupo "REMOVIDOS" que poder ser utilizado para colocar os jogos que voc queira tirar da lista principal, em resumo a organizao dos jogos iro ficar assim:
z z z

Grupo "<MULTIJOGOS>" , todos os jogos que devem aparecer na lista Grupo "BIOS", colocar todas as bios nesse grupo, para que no aparecem na lista Grupo "REMOVIDOS", colocar nesse grupo todos os jogos que voc deseja retirar da lista.

Como o objetivo ser adicionar vrios emuladores nada impede de voc criar vrios outros grupos para organizar seus jogos, por exemplo quando colocarmos os emuladores de video games poderamos adicionar mais um grupo para cada emulador e nesse novo grupo colocar os jogos que no devam ser mostrados na lista, um exemplo de grupo para um emulador de super nintendo

file://C:\Documents and Settings\branco\My Documents\Multijogos\montando_uma_multi... 4/30/2008

Montando uma multijogos caseira

Page 20 of 29

poderia ser "SNES REMOVIDO", com isso iremos ter os jogos bons no grupo "<MULTIJOGOS>" e os ruins de arcade no grupo "REMOVIDOS" e os ruins de super nintendo no grupo "SNES REMOVIDOS". A opo no advanceMENU que controla os grupos que devem ser mostrados ou no a opo "group_include", levando em conta os exemplos mostrados acima bastaria ter a seguinte opo no arquivo "advmenu.rc" para mostrar uma lista com os jogos pertencentes ao grupo "<MULTIJOGOS>":
z

group_include "<MULTIJOGOS>"

Com isso todos os jogos pertencentes a outros grupos no sero mostrados, e para fazer ao contrrio ou seja pegar um jogo removido e retorna-lo ao grupo "<MULTIJOGOS>" , basta teclar [ F2 ] e adicionar o grupo a lista. Quando voc adiciona um jogo a um grupo diferente do grupo "<MULTIJOGOS>" o advanceMENU ir gravar dentro do "advmenu.rc" uma linha indicando a alterao, a linha ser algo semelhante h: game "ZINC3D/cpzn1" "BIOS" "" 670 7 "" Essa linha interpretada pelo advanceMENU d seguinte forma:
z z z z

z z z

game , valor padro para todas as entradas. "ZINC3D/cpzn1", apelido do emulador mais o nome da rom. "BIOS", nome do grupo que a rom pertence. "", nome do tipo que essa rom pertence, como no atribumos nenhum TIPO para esse jogo ento essas opo fica somente as aspas. 670, essa numerao referente ao tempo que o emulador ficou rodando a rom 7, indica a quantidade de vezes que esse jogo foi carregado "", e a ultimas aspas podem ser usadas para dar um apelido a rom, por exemplo poderamos dar o seguinte apelido para essa bios "Bios para da placa ZN1".

Esse o final da adio de emuladores para arcade, lembrando que voc pode adicionar quantos voc quiser e o emulador que mais lhe agradar, por exemplo ao invs de usar somente o mame voc poderia usar o "Final Burn Alpha ( FBA ), Nebula, Kawaks, Raine, etc..." para rodar os jogos da capcom e neogeo, vistos que esses emuladores so bem mais leves que o mame, e para isso volto a insistir no aprendizado dos "Scripts" porque com eles voc poder colocar qualquer um, mesmo que o emulador escolhido no trabalhe via linha de comando como o mame. Um exemplo que eu uso por enquanto o emulador "EMULATOR.EXE" do "Elsemi" para rodar os jogos de "CPS3" ao invs do mame, obviamente quanto mesnos emulador menos trabalho ter mas como os scripts so fceis de se ajustar conforme as atualizaes dos emuladores ento voc ter somente trabalho na primeira vez. O ltimo emulador que irei adicionar para encerrar mais essa parte do tutorial ser o emulador de super nintendo "Zsnesw", isso para demonstrar como o advanceMENU ir tratar as fichas e como um script ir controlar o tempo, fazendo com que o emulador seja fechado quando o tempo dessa ficha for atingido.

Adicionando o emulador de video game Zsnesw.exe


Esse o ltimo emulador que ser adicionado nesse tutorial, com isso ser demonstrado a funcionabilidade do advanceMENU para tratar uma ficha como tempo e vice-versa, com a adio desse emulador ser mostrados novas funes no script e um parmetro ainda no mencionado no "advmenu.rc". Essa a imagem obtida:

file://C:\Documents and Settings\branco\My Documents\Multijogos\montando_uma_multi... 4/30/2008

Montando uma multijogos caseira

Page 21 of 29

Aqui vou comear mostrando o cdigo a ser inserido no "advmenu.rc", para adicionar o emulador "Zsnesw.exe".

advmenu.rc
#emulador SUPER NINTENDO #*********************************************** emulator "SUPERNES" generic ".\Zsnesw\ausnes.exe" "%p" emulator_roms "SUPERNES" "..\jogos\RomsSnes" emulator_altss "SUPERNES" "..\snap\SuperNes" #*********************************************** Nessa configurao a nica coisa a se destacar em relao as anteriores j mostradas em relao a macro "%P", se voc revisar as configuraes anteriores ir reparar que foi usada a macro "%S", essas macros tem o seguinte significado para o advanceMENU:
z z z

"%S" , passa para o script somente o nome da rom, por exemplo kof2002. "%F", passa para o script o nome e a extenso da rom, exemplo kof2002.zip. "%P", passa para o script o caminho completo mais o nome e a extenso da rom, exemplo "c:\arcade\jogos\neogeo\kof2002.zip"

O uso de uma ou outra ir depender de como o script foi escrito e de como o emulador recebe a linha de comando, no caso do "Zsnesw" eu escolhi a macro "%P" para facilitar a escrita do script, para no ter que configurar o path do emulador e por fim para demonstrar e explicar para que serve essas macros. Se voc reparar na imagem acima ir ver o advanceMENU mostrando o "TEMPO 00:09:02" ou seja ( nove minutos e dois segundos ), se voc mudar para um emulador arcade o advanceMENU ir mostrar "FICHAS 00" que significa que o tempo mostrado no suficiente para uma ficha, isso porque foi configurado que cada ficha vale (10 minutos, voc pode alterar isso editando o arquivo "advmenu.ini" e alterando o valor do campo "TEMPOPORFICHA=600000", lembre-se!!! 1 segundo=1000ms, 1 minuto=60000ms ), caso voc deposite mais 1 ficha ento no modo arcade ser mostrado "FICHAS 01", e se voltar para emulador de vdeo game ser mostrado "TEMPO 00:19:02", se o menu no estiver bloqueado e no tiver nenhuma ficha o script ir emitir uma menssagem avisando que voc poder ver esse jogo por um perodo de 30 segundos, e caso no deposite uma ficha nesse perodo o script ir fechar o emulador. No script demonstrado novas funes que se encarregam de controlar o tempo, avisar ao usurio quando o tempo est acabando e fechar o emulador caso o tempo da ficha se esgote. Com pequenos ajustes nesse script ser possvel adicionar qualquer outro emulador de vdeo game no advanceMENU para trabalhar de forma semelhante ao Zsnesw.

Pacote com o Zsnesw


O pacote para esse ltimo emulador segue o mesmo padro dos anteriores, ou seja s descompactar na unidade onde se encontram os outros arquivos j baixados, OBS: enquanto eu testava esse ltimo emulador encontrei um "erro" no

file://C:\Documents and Settings\branco\My Documents\Multijogos\montando_uma_multi... 4/30/2008

Montando uma multijogos caseira

Page 22 of 29

advanceMENU que fazia com que ele no mostra-se o tempo correto no modo vdeo game, ento nesse pacote est indo a verso do advmenu.exe corrigida. Abaixo segue o link do pacote com o advmenu (corrigido), emulador Zsnesw, script, outros arquivos utilizados. "http://w15.easy-share.com/1700267350.html" Tamanho: 2MB

Explicao mais detalhada sobre os arquivos .LST


Antes de encerrar essa parte sobre a adio de emuladores vou explicar sobre o formato da lista de jogos ( arcade.lst, neogeo.lst, etc...), isso ser til caso voc queira adicionar msicas ao advanceMENU transformando ele num jukebox ou um Karaoke.

Exemplo de um arquivo LST


game ( name pacman description "Pac-Man (Midway)" manufacturer "[Namco] (Midway license)" year 1980 ) game ( name puckman description "PuckMan (Japan set 1, Probably Bootleg)" manufacturer "Namco" year 1980 cloneof pacman ) game ( name puckmana description "PuckMan (Japan set 2)" manufacturer "Namco" year 1980 cloneof pacman )

z z z

z z

game ( ...... ), cada entrada nesse formato representa um jogo. name pacman, essa opo informa ao advanceMENU qual o nome da rom, ou seja "pacman". description "Pac-Man (Midway)", essa opo informa ao advanceMENU o (nome/descrio) que dever ser mostra na lista, ao invs de "pacman". manufacturer "[Namco] (Midway license)", essa opo serve para o advanceMENU mostrar na barra inferior o nome do fabricante. year 1980, essa opo tem a mesma funo da anterior, ou seja ir mostrar o ano de fabricao do game. cloneof pacman, essa opo informa ao advanceMENU que esse jogo um clone da rom informada (pacman), e essa opo que ser til caso queira montar uma jukebox usando o advanceMENU.

Nessa lista os dados que so obrigatrios so: game, name, description, o restante pode ou no ser adicionados. Com o exemplo acima ento poderamos criar uma lista usando a opo "cloneof", para montar uma jukebox ou karaoke e organizar essa lista usando o nome do lbum como destaque e as msicas como sendo clones desse lbum, ento teramos algo parecido com isso:

Exemplo de um arquivo LST para uma jukebox ou karaoke


game ( name 1 description "Roberto carlos 1980" manufacturer "BMG" year 1980 ) game ( name 2 description "Musica 1" manufacturer "BMG" year 1980 cloneof 1) game ( name 3 description "Musica 2" manufacturer "BMG" year 1980 cloneof 1) game ( name 4 description "Roberto carlos 1981" manufacturer "BMG" year 1981 ) game ( name 5 description "Musica 1" manufacturer "BMG" year 1981 cloneof 4) game ( name 6 description "Musica 2" manufacturer "BMG" year 1981 cloneof 4) game ( name 7 description "Roberto carlos 1982" manufacturer "BMG" year 1982 ) game ( name 8 description "Musica 1" manufacturer "BMG" year 1982 cloneof 7) game ( name 9 description "Musica 2" manufacturer "BMG" year 1982 cloneof 7) game ( name 10 description "Roberto carlos 1983" manufacturer "BMG" year 1983 ) game ( name 11 description "Musica 1" manufacturer "BMG" year 1983 cloneof 10) game ( name 12 description "Musica 2" manufacturer "BMG" year 1983 cloneof 10) game ( name 13 description "Roberto carlos 1984" manufacturer "BMG" year 1984 ) game ( name 14 description "Musica 1" manufacturer "BMG" year 1984 cloneof 13) game ( name 15 description "Musica 2" manufacturer "BMG" year 1984 cloneof 13) Repare que o primeiro item da lista no contm a palavra "cloneof", ento ele ser tratado com um item principal ( nome do lbum ), e os 2 outros itens possuem a palavra "cloneof 1", isso informa ao advanceMENU que esses 2 itens ( msicas ) so clones do item ( 1 ). Para esse exemplo eu pequei algumas msicas e renomeei para 1.mp3, 2.mp3, 3.mp3, etc..., e para cada item principal que representa um lbum eu coloquei uma imagem com os nomes 1.png, 4.png, 7.png, etc..., com isso a lista poder ficar com os seguintes aspectos:

file://C:\Documents and Settings\branco\My Documents\Multijogos\montando_uma_multi... 4/30/2008

Montando uma multijogos caseira

Page 23 of 29

Ou assim:

Repare que nos 2 exemplos de formatao da lista os itens esto agrupados, ou seja mostrado o nome do lbum e em seguida as msicas pertencentes a esse lbum. Para controlar a jukebox ou o karaoke pode ser usado um script ou caso o player suporte linha de comando pode ser usado diretamente no "advmenu.rc". Com esse ltimo exemplo encerra-se a parte desse tutorial que demonstra como adicionar emuladores e outros programas no advanceMENU, a prxima etapa do tutorial ser voltada a explicar como fazer a imagem ser mostrada em um monitor arcade

file://C:\Documents and Settings\branco\My Documents\Multijogos\montando_uma_multi... 4/30/2008

Montando uma multijogos caseira

Page 24 of 29

( 15Khz ), mas lembre-se que embora seja importante a parte do monitor e dos controles, elas no se comparam a parte anterior principalmente em relao aos scripts, pois como j mencionei o ideal voc se focar neles e com isso colocar oque desejar em sua montagem.

Terceira Parte:
Nessa parte irei mostras os mtodos que eu conheo para fazer a imagem da placa de vdeo ser mostrada em um monitor arcade. Essa sempre foi uma grande barreira dependendo da placa de vdeo utilizada, o problema todo comea porque uma placa de vdeo emite uma freqncia horizontal de no mnimo 31.5Khz enquanto que um monitor arcade s aceita uma freqncia de aproximadamente 15.7Khz, fora isso a placa de vdeo usa 2 canais para enviar os sinais de freqncias ( horizontal, vertical ) e um monitor arcade tem somente uma entrada ou seja os sinais de sincronismos tem que ser compostos. Esse ltimo fato to to problemtico pois para termos esse sinal composto bastaria unir esses 2 fios (vertical, horizontal) e teramos o sinal composto, embora funcione existe um circuito muito simples de se fazer que faz esse servio de uma forma mais elegante, esse circuito o mesmo usado nas "plaquinhas jamas" usadas nas multijogos, o circuito foi desenha originalmente por "Tomi Engdahj" o site oficial "http://www.epanorama.net/circuits/vga2tv/circuit.html", abaixo o desenho do esquema:

Nesse esquema mostrado uma sada para um conector "SCART" mas para os monitores arcades s usado as sadas que esto conectadas aos pinos (15, 11, 7, 20) do lado direito da imagem. Abaixo o mostrado a imagem desse circuito impresso.

E por fim como ele ir ficar depois de montado:

file://C:\Documents and Settings\branco\My Documents\Multijogos\montando_uma_multi... 4/30/2008

Montando uma multijogos caseira

Page 25 of 29

Todos os componentes so fceis de se encontrar e so bem baratos, de uma olhada no site mencionado acima e veja a lista de componentes. Fora o circuito mostrado acima que somente faz a juno dos sinais (Vertical e Horizontal ) precisamos ainda de um meio para reduzir a freqncia horizontal que estar em 31.5KHZ para a freqncia suportada pelo monitor arcade que 15.7KHZ, para isso existem vrios meios e nesse tutorial vou citar apenas dois isso porque ir abranger a maioria das placas de vdeos usadas e so fceis de se fazer. O primeiro trata-se de um software chamado "powerstrip" ( http://www.entechtaiwan.com/ps.htm ), esse tem muitas funes mas a principal e a que nos interessa a parte que permite criar uma resoluo que o monitor arcade consiga trabalhar, esse software tem uma compatibilidade com centenas de placas de vdeo e suporte para vrios sistemas operacionais ( at 64bits), e com uma meia-duzias de cliques voc j ir conseguir uma freqncia de 15.7KHZ, nesse tutorial no vou descrever como configur-lo isso porque no prprio site j existe um tutorial falando sobre ele que pode ser encontrado na sesso tutorial. O segundo dirigido somente para placas de vdeo da NVIDEA, para essas placas temos 2 mtodos de realizar a converso da freqncia, a primeira atravs do prprio software da nvidea que permite isso, para um tutorial completo de como realizar essa configurao voc ir encontrar nesse excelente site ( http://www.marcianitos.org/tutoriales/VD017.php ), o outro mtodo tratase de um software que faz umas alteraes no registro do windows, ele se chama "soft15khz" esse programa voc tambm ir encontrar no site "http://www.marcianitos.org" em ( http://www.drupal.marcianitos.org/programas/soft15khz ), no site tem toda a descrio de como realizar a configurao. Fora isso voc ir encontrar mais uma sries de utilitrios, tutoriais e muitas informaes. Como vocs podem ver no h nada de extraordinrio a ser feito em relao a parte de vdeo, a nica dificuldade caso voc tente fazer isso com vdeos onboard, nesse caso a dificuldade bem maior isso porque a maioria dos softwares no do suporte a esse tipo de vdeo, ento quando for montar sua mquina de preferncia sempre a usar placas de vdeo offboard e as melhores para esse tipo de montagem so as NVIDEA e as ATI, na mesma ordem. Para os teste realizados para a escrita desse tutorial eu usei uma nvidea FX5200, e todas as formas mencionadas funcionam perfeitamente com essa placa. Uma outra coisa que voc pode dar preferncia so para placas de vdeo que tenha sada para tv, e com isso enquanto voc prepara, testa a parte do frontend e os emuladores voc poder ir vendo o resultado final na tela da TV pois o que voc ver nela ser mais ou menos oque ver na tela do monitor arcade ( geralmente a qualidade obtida nos monitores arcades so bem melhores ).

Amplificao do som
Essa outra parte muito simples, na net voc ir encontrar vrios esquemas para montar um amplificador de som, ou caso queira algo mais simples basta desmontar uma caixinha de som e usar o amplificador dela, aqui vou mostrar um bem simples que tambm usado em muitas "plaquinhas jamas", o esquema mostrado abaixo pode ser encontrado no site "http://www.mameworld.net/pc2jamma/hardware.html".

file://C:\Documents and Settings\branco\My Documents\Multijogos\montando_uma_multi... 4/30/2008

Montando uma multijogos caseira

Page 26 of 29

Eu escolhi esse circuito porque usa poucos componentes e tambm so muito baratos.

Controle ( joystick ou teclado, ??? )


Quando visitamos sites relacionados ao assunto o que mais vemos so dvidas em relao a qual seria o melhor tipo de controle a ser usado pois existem vrios mtodos que podem ser utilizados, na minha opinio o mais fcil, rpido e barato o uso de joystics que podem ser tanto os adaptados a porta paralela quanto os USB, segundo um artigo que eu li os USB levam uma vantagem em relao aos adaptados a porta paralela isso porque os joystick USB possuem o seu prprio controlador e os adaptados necessitam que o processador faa o trabalho, embora eu concorde com esse artigo eu j fiz uns testes e no notei diferena alguma, mas fica ai um alerta, a "placaquinha jama" que aparece no inicio do tutorial a que eu uso ela simula at 4 controles de super nintendo e adaptada a porta paralela e funciona perfeitamente sem delays, o esquema de montagem desse tipo de controle pode ser encontrado no frum na sesso tutoriais, mas a forma mais fcil de fazer os controles desmontando um joystick de playstation e soldando os fios diretamente nos micros dos botes arcade, esse mtodo super simples, rpido e muito barato, por exemplo aqui em so paulo esses controles so encontrados a um preo que vria de 5,00 reais 10, reais no mximo, ento caso algum venha a queimar a manuteno ser rpida e barata, e como voc deve ter observado para todos os emuladores eu usei o "joytokey" para simular teclas atravz do joystick e com isso no foi percebido nenhum tipo de incompatibilidade e esse esquema ir funcionar com qualquer tipo de jogo independente do tipo de suporte que ele tenha ( teclado, mouse, joystick, etc...). Talvez voc se pergunte mas e onde essa to falada "placa jama" se encaixa nessa histria ?, em primeiro lugar "jama" um padro inventado pelos japoneses para facilitar e padronizar as placas de jogos, com isso a cada nova placa de jogo que saia o dono d mquina no precisa de manuais para saber onde cada fio deveria ser encaixado.

file://C:\Documents and Settings\branco\My Documents\Multijogos\montando_uma_multi... 4/30/2008

Montando uma multijogos caseira

Page 27 of 29

Como voc pode ver na figura acima o padro jama composto por um conector com 56 pinos de encaixe.

A figura acima mostra os conectores jamas encontrados nas maquinas arcades, e depois de montados temos o que chamamos de chicote.

file://C:\Documents and Settings\branco\My Documents\Multijogos\montando_uma_multi... 4/30/2008

Montando uma multijogos caseira

Page 28 of 29

Em resumo uma "plaquinha jama" para multijogos simplesmente rene os 3 circuitos mencionados ( juno de sincronismo, joystick, amplificador de som ) e disponibiliza eles no padro jama, ou seja voc pega a "plaquinha jama" e encaixa no chicote da maquina, isso serve somente para nvel de organizao e aparncia, e como j foi mencionado a "plaquinha jama" totalmente dispensvel podendo tudo ser encaixado diretamente na mquina. Bom!!! isso quase tudo, falta agora somente fazer uns scripts que sero usados para fazer a manuteno de uma forma automatiza, e um script que ser usado para manipular as configuraes de (fichas,tempo, bloqueio do menu, contador de fichas ) e iniciar o advanceMENU, esse script ser colocado no lugar do "Explorer" para que inicie junto com windows.

Script para modificar as configuraes de fichas.


Esse novo script tem a seguinte tela:

Esse script poder ser utilizado no lugar do explorer ( recomendado) ou no "menu iniciar", com isso assim que o windows terminar a inicializao o script ir ser executado e dependendo da escolha ir carregar o advanceMENU automaticamente. Para adicionar esse script no "meu iniciar " basta criar um link e apontar o local onde se encontra o script ou ento adicionar uma entrada direto no registro do windows, abaixo contm as entradas para realizar essa tarefa. A melhor opo ao meu ver usar o script no lugar do "exeplorer.exe", se feito isso as vantagens so enormes, primeiro ser a economia de memria, e segundo voc ter um desktop "limpo" sem nenhum cone visvel, e caso precise usar algum programa do windows basta teclar "CTRL+ALT+DEL" que ser mostrado a janela do "Gerenciador de Tarefas do windows" e a partir dele possvel acessar tudo. Essas so as entradas de registro que podero ser alteradas ou adicionadas, se quiser testar basta copiar o contedo desse bloco e colar no "notepad" e depois salvar esse arquivo com a exteno ".reg" e por fim dar um duplo clique no arquivo ".reg" para as entradas serem adicionadas ao registro. Entradas do Registro
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] "BRarcade"="d:\arcade\BRarcade.exe" [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] "Shell"="d:\arcade\BRarcade.exe"

Repare no caminho que est sendo apontado "d:\arcade\BRarcade.exe", caso voc esteja usando um caminho diferente ento corrija para o caminho correto onde se encontra o script "BRarcade.exe". Assim que o script iniciar ele ir mostrar um contador em contagem regressiva, iniciando em "5", quando o contador zerar o advanceMENU ser inicializado, caso voc pressione o "boto10" do joystick antes do contador terminar ento ser mostrado a

file://C:\Documents and Settings\branco\My Documents\Multijogos\montando_uma_multi... 4/30/2008

Montando uma multijogos caseira

Page 29 of 29

janela de configurao, que permite voc alterar os valores de ( fichas, zerar fichas, zerar contador, bloquear ou desbloquear o menu), para navegar pelas configuraes usa-se o direcional do joystick ( cima=aumenta o valor, baixo=diminu o valor, direita=vai para o prximo item, boto1=aciona o boto selecionado ( ZERAR, SALVAR ou SAIR ) ), ao selecionar o boto [SAIR] , o script ir chamar o advanceMENU e depois ser encerrado. Para que tudo funcione como o descrito acima foi criado mais um ".CFG" para o "joytokey" com o nome de "brmenu.cfg". Nesse novo script so mostrados vrias funes novas que podem ser exploradas para que tenha um visual diferente, toque msica ou exiba um logo-tipo na inicializao, isso s ir depender da sua criatividade. Link para download do pacote com o novo script, source code, etc... "http://w15.easy-share.com/1700279454.html" tamanho 300KB.

Continua....

file://C:\Documents and Settings\branco\My Documents\Multijogos\montando_uma_multi... 4/30/2008

Das könnte Ihnen auch gefallen