Você está na página 1de 49

MONTANDO UMA MULTIJOGOS CASEIRA

Tutorial Elaborado por BrBranco – WWW.ARCADEBR.COM.BR

REQUERIMENTOS:
Sistema Operacional : Windows XP SP2 ( inglês )
Placa Mãe utilizada: M871G
Memória RAM: 512MB
HardDisk: 40GB
Placa de Vídeo: Nvidia FX5200 ( AGP )

A parte mais chata e complicada de uma multijgos é referente ao vídeo, isso quando falamos de monitores
arcade. Por esse motivo, eu recomendo que seja usada uma placa de vídeo offboard (de preferência Nvidia e
com saída para TV) isso porque se usarmos uma placa dessa teremos 3 opções de monitores:
1º - monitor de PC;
2º - TV; e
3º - monitor arcade.

As placas de vídeo da ATI também são boas, mas alguns modelos podem apresentar problemas com
jogos 3D ao se baixar a freqüência para 15khz, que é a freqüência usada em monitores arcades.

Outro ponto que confunde muito se refere a que tipo de controle usar (teclado, hack de teclado, joystick na
porta paralela ou USB, etc... ). Em minha opinião, a forma mais rápida e menos trabalhosa são os joysticks de psx,
pois são baratos, fáceis de realizar manutenção e tem uma quantidade de botões suficientes para qualquer
montagem desse tipo. Quanto a ser adaptado por porta paralela ou USB a escolha fica ao seu critério (lembrando
que os adaptados pela USB usam menos recursos do sistema, isso porque eles terão seus controladores
próprios e os adaptados pela porta paralela irão exigir mais trabalho do processador).

A tão falada placa jamma, essa nada mais é do que 3 circuitos em 1: o áudio, o joystick (controles) e o
vídeo (junção do sincronismo em monitores arcades).

Figura 1 - Imagens de uma placa adaptadora (a que eu trabalho ).


PRIMEIRA PARTE

1 - INSTALAÇÃO E OTIMIZAÇÃO DO SISTEMA OPERACIONAL

A primeira parte desse tutorial é referente à instalação, configuração e otimização do sistema operacional.

O WindowsXP foi escolhido pela facilidade de uso e por possuir drivers atualizados.

O que será mostrado aqui poderia ser feito com o Windows98, mas como ele foi descontinuado achar
determinados drivers para placas de vídeo mais atuais para ele seria difícil ou até mesmo impossível.

Outro sistema operacional com o qual é possível fazer é o Linux (mas isso vai ser tema para um próximo
tutorial).

1.1 - Instalando o WindowsXP.

Para fazermos as modificações, o ideal é fazer uma instalação normal do WindowsXP em um HD vazio ou
então em um partição vazia. Ainda, considerando que algumas configurações durante a instalação são feitas em
razão do hardware detectado, recomendo ser feita já no PC que usaremos na multijogos.

ATENÇÃO!!!

NÃO USE AS FERRAMENTAS QUE VÃO SER MOSTRADAS NO SISTEMA OPERACIONAL QUE
VOCÊ ESTÁ UTILIZANDO, OU TERÁ PROBLEMAS.

Depois de decidir onde vai colocar essa nova instalação, basta fazer a instalação normalmente, instalando
depois todos os drivers ( som, vídeo, usb, etc... ) que usaremos. Teste tudo para ver se o funcionando está correto.

1.2 - Otimizando o WindowsXP.

Para “enxugarmos” o WindowsXP usaremos um utilitário chamado XPLITE ( http://www.litepc.com ). Esse


utilitário permite remover vários componentes do Windows sem deixá-lo instável e é de fácil uso. Para facilitar eu
“upei“ ele para o 4shared (http://www.4shared.com/file/76126654/d28f2da1/XPlite_Professional_190316.html ), Ele
não é gratuito, mas a versão “upada” contém um arquivo “.reg” que deve ser executado antes de abrir o XPLITE e
que irá registrar o programa habilitando todas as suas funções. Esse utilitário não precisa de instalação, para
iniciá-lo basta clicar no executável.

O pacote contém os seguintes arquivos:


ƒ XPlite.exe ( o programa executável )
ƒ XPlite.chm ( arquivo de ajuda )
ƒ XPlite.cfg ( arquivo com as mofidicações que eu fiz )
ƒ Readme ( termos de uso )
ƒ License.reg ( crack para ativar o programa )
ƒ Ghost.exe ( utilitário para clonar discos ou partições )

Uma outra ferramenta que utilizaremos será para realizar análise e correções no registro do Windows. Isso
é importante, pois após usarmos o XPLITE irão ficar várias entradas órfãs no registro do Windows. Eu
particularmente gosto de usar o “ccleaner” ( http://www.ccleaner.com )

Após ter instalado o sistema operacional e todos os drivers necessários, descompacte o pacote do XPLITE
em uma pasta qualquer e clique no arquivo de registro ( Licence.reg ) para adicionar o conteúdo dele ao registro do
Windows - com isso você terá uma cópia do XPLITE 100% funcional.
Nesse ponto, se você quiser pode iniciar suas próprias alterações para melhorar o desempenho, como por
exemplo, remover o papel de parede e qualquer outra otimização que você conheça.
O que eu costumo fazer de imediato é, no Windows Explore, em Tools->Folder options, habilitar a
visualização de arquivos e pastas ocultas:
Figura 2 – Habilitando visualização de arquivos e pastas ocultos.

ƒ Desabilitar a memória virtual (só se você tiver mais de 512mb) em Control Panel->System->Advance-
>performance->advance

Figura 3 – Desabilitando a memória virtual.

ƒ Desabilitar as configurações de efeitos visuais em Control Panel->System->Advance->performance-


>advance
Figura 4 – Desabilitando efeitos visuais.

ƒ Remover o papel de parede

ƒ Alterar as telas do windows ( tela welcome, usando o ResHack )

Feitas as suas alterações chega a hora de iniciarmos o XPLITE (não esqueça de executar o arquivo de
licença), então vá até a pasta onde você descompactou o pacote postado e clique no ícone do XPLITE para
executá-lo. Caso seja mostrado alguma tela perguntando se deseja atualizar o programa click em “no”.

Figura 5 – Tela inicial do XPLite.


Agora clique no ícone com duas engrenagens para entrar na tela de configuração, com isso será
exibido essa nova janela:

Figura 6 – Tela de configurações.

Deixe a janela configurada igual a imagem acima, a opção "Show Advanced...." irá mostrar mais opções
que teremos acesso, e a opção "Warn If..." faz com que o XPLITE envie um aviso caso não consiga criar um
ponto de restauração para as modificações realizadas. Essa é uma das grandes vantagens desse utilitário, pois
caso você remova algum componente que impeça o Windows de iniciar normalmente, você terá a opção de iniciar
em modo de segurança e restaurar o sistema. Ao final de todas as modificações e testes, poderemos remover
todos os pontos de restauração criados para livrar espaço.

Após ter configurado a sessão acima clique em "OK" para retornar a janela anterior (principal), e agora
selecione a aba "Windows File Protection".

Figura 7 – Tela Windows File Protection.


Nessa aba você deve selecionar a opção "Disabled" no quadro "Windows File Protection" e usar o botão
deslizante no quadro "File cache Settings" para deixar ele em "0% 0MB".

A primeira opção fará com que o XPLITE desabilite o "Windows File Protections", se isso não 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 opção faz com que o XPLITE
delete todo o conteúdo da pasta "c:\Windows\system32\DLLCache" - o Windows usa essa pasta para guardar
vários arquivos para que você não tenha que colocar o CDROM de instalação a cada novo programa ou driver
instalado e como essa pasta ocupa vários Megabytes, pode ser deletada sem risco ao sistema, e caso você instale
algo que precise de arquivos extras basta colocar o CDROM de instalação e o problema estará resolvido.

IMPORTANTE!!!
APÓS AJUSTAR AS OPÇÕES 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:

Figura 8 – Tela Add/Remove Components.

Nesta janela selecionaremos os componentes (programas) que serão removidos. Repare que ao passar o
mouse por qualquer opção você verá uma breve descrição do que será feito (o ideal seria você ver item por item e
pesquisar sobre cada um deles para saber no que a remoção dele afeta o sistema). Quando você tentar retirar um
componente que pode causar alguma instabilidade no sistema o XPLITE irá avisar sobre o risco. O mesmo
acontece quando se tenta remover um componente que outros programas utilizam.

Como mencionei, o ideal é conhecer os componentes a serem retirados, embora caso remova algo que
não deveria sempre teremos a opção de restaurar. No "pacote postado" eu coloquei a configuração que realizei
aqui (veja o arquivo xplite.cfg ), esse arquivo pode ser criado ou carregado no momento que você quiser:

ƒ Para salvar um arquivo de configuração com as opções que você selecionou, clique no ícone
(disquete, lado esquerdo) e será exibida uma tela perguntando o nome para o arquivo de configuração,
que será salva no mesmo diretório onde se encontra o XPLITE.

ƒ Para usar uma configuração salva (como essa que eu criei), clique no ícone Reload (setas
formando um circulo) e será mostrada uma lista com as configurações salvas.

Repare que nessa configuração que fiz deixei somente 38 componentes de um total de 162. Com isso
consegui deixar o sistema com apenas 420MB de espaço ocupado (é possível remover bem mais, mas para isso é
necessário que seja feito manualmente e conhecer o que cada arquivo representa para o sistema ou programas).
Figura 9 – Tamanho do Windows após alterações com XPLite.

Com a remoção desses componentes, mais algumas alterações nos serviços do WindowsXP, deu pra
chegar nessa configuração de processos em execução e uso da memória: (repare que o pagefile.sys não é usado
(pois está desabilitado)).

Figura 10 – Processos em execução.


Figura 11 – Uso da memória virtual (pagefile.sys) 0%.

Agora falta apenas adicionar algumas otimizações referentes ao desempenho e uso da memória, que
serão feitas alterando o registro do Windows. Caso você conheça alguma otimização ou arquivos que não são
relevantes para o sistema, fique à-vontade para postar no fórum ou adicionar/remover na sua instalação.

Otimizações usadas no registro


Windows Registry Editor Version 5.00
;otimiza o boot habilitando a desfragmentação
[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 rápido
[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 não ser mostrado a tela de welcome, pode ser abilitado o login automatico:
;com isso será mostrado somente uma tela rápida de entrada no sistema essa tela será mudada
(personalizada).
;Na opção "DefaultPassword" deve ser colocado a senha correta que foi usada na instalação, ou caso não
tenha usado então pode deixar da forma que está (em branco).
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"LogonType"=dword:00000000
"AutoAdminLogon"="1"
"DefaultPassword"=""
Abra o NotePad, copie e cole o texto acima e salve-o com a extensão .reg. Depois clique duas vezes no
arquivo criado para gravar as alterações no registro do Windows.

Otimizações no system.ini, pode ser usado o comando sysedit.


[386enh]
32BitDiskAccess=on
32BitFileAccess=on
DMABufferSize=64
MinSPs=16
PageBuffers=32
ConservativeSwapfileUsage=1

Depois de pesquisar bastante acabei verificando que a maioria das otimizações encontradas e que são
relevantes a melhoria do desempenho não são necessárias ou não tem uma base comprovada de melhorias,
então fica aqui as que eu considerei necessárias ( lembrando... caso você conheça mais alguma que seja eficaz
fique a vontade em adicioná-la ).

Outras alterações que irão aliviar tanto o processador quanto a memória física são a desabilitação de
serviços que não terão utilidades na montagem. Para isso não existe uma receita pronta, pois pode variar de
sistema para sistema dependendo do que foi instalado. A forma correta para se desabilitar esses serviços é
conhecendo o que eles fazem e isso só estudando mesmo cada um deles. Aqui, no meu caso, foram desabilitados
os seguintes serviços:

ƒ DHCP
ƒ DNS
ƒ FASTUSER
ƒ HTTP SSL
ƒ IPSEC
ƒ NETWORK CONNECTIONS
ƒ NETWORK LOCATIONS
ƒ PRINT SPOOLER
ƒ PROTECTED STORAGE
ƒ SERVER
ƒ SHELL HARDWARE DETECTION
ƒ THEMES
ƒ WINDOWS TIME

Estes serviços foram todos "DESABILITADOS", pois iniciavam automaticamente, o restante ficou como
padrão ( AUTOMÁTICO ou MANUAL ).

1.3 - Removendo mais arquivos que não terão utilidade.

O XPLite remove uma grande quantidade de arquivos, mas mesmo assim ainda é possível remover mais
alguns que não serão usados. Os arquivos mencionados abaixo são encontrados em "c:\windows\system32".

ƒ Pasta HELP ( pode deletar todo o conteúdo )


ƒ Pasta INF ( pode deletar todo o conteúdo )
ƒ Pasta REPAIR ( pode deletar todo o conteúdo )
ƒ Pasta DLLCACHE ( ( pode deletar todo o conteúdo , se o XPLite já não tiver feito )
ƒ Pasta PREFETCH ( pode deletar todo o conteúdo, se o XPLite não tiver feito )
ƒ Delete também ( caso não vá utiliza-lo ) o "pagefile.sys" e "hiberfil.sys"

Uma ferramenta que podem ajudar a deixar a instalação bem mais limpa e é altamente recomendada é o
Ccleaner, (http://www.ccleaner.com). Esse utilitário além de varrer o HD para limpar vários megabytes, também
varre o registro do Windows limpando chaves inválidas ou corrompidas.

Essas são as dicas para deixar uma instalação limpa e otimizada ( pelo menos as que eu conheço ). Para
por isso em prática eu usei uma hd vazia de 40GB, que foi reparticionada em 2 partes ( partição primária com 1GB
e o restante 39GB para a segunda partição ), o tamanho da primeira partição irá depender da sua quantidade de
memória, aqui eu pretendo usar 512MB e não 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

1.4 - Personalizando o Boot do WindowsXP

Para personalizar o boot do WindowsXP, podemos criar uma imagem para ser mostrada no lugar do
logotipo do Windows. Para isso, é necessário 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
especificação diferente não será exibida:

A imagem criada deve ser salva na pasta "WINDOWS" com o nome de "boot.bmp". Feito isso agora basta
colocar as opções as opções de inicialização no arquivo "boot.ini" que se encontra na raiz da unidade "C:". As
opções a serem acrescentadas são:

No arquivo boot.ini
/bootlogo = Mostra o arquivo boot.bmp
/noguiboot = Não mostra o logotipo do windows no carregamento.

Exemplo de como ficou meu boot.ini com essas 2 opções:

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP
Professional" /noexecute=optin /fastdetect /bootlogo /noguiboot

Figura 12 – Tela de boot personalizada.

1.5 - Proteger o Sistema Operacional

Todos os procedimentos mostrado acima foram para deixar a instalação do WindowsXP o mais leve e
enxuta possível, e isso tudo para que essa instalação possa ser portada para um pendrive, compact flash, cdrom,
dvdrom, etc..., pois com isso poderíamos criar uma multijogos com, por exemplo, somente um pendrive+cdrom ou
pendrive+hd ou somente um DVDROM. Mas para isso é necessario fazer mais algumas modificações no sistema
pois, dá forma em que está, somente seria possível colocá-lo em um compact-flash ou pendrive (ou seja uma
media regravavél). E mesmo assim, se for usado esse tipo de dispositivo, o WindowsXP em pouco tempo irá
danificá-lo ou corromper os arquivos. Para quem não sabe, esses dispositivos (compact-flash e pendrive) tem um
tempo de vida (ciclos de gravação), embora pelas especificações dos fabricantes pareçam ser bem longos, mas na
prática não o são.

O WindowsXP executa a leitura e gravação de dado com muita freqüência, reduzindo assim o tempo de
vida útil do dispositivo, e mesmo que o sistema seja gravado em um HD, sempre se corre o risco de ter arquivos
corrompidos com uma queda de energia. O único método que protegeria efetivamente os dados seria a gravação
do sistema operacional em cdrom ou dvdrom (os chamados live-cds) pois dessa forma a leitura e gravação seria
feita na área de swap.

Para resolver os problemas citados acima, mostrarei como proteger o sistema operacional contra
gravação (ou permitir que ele seja gravado em um cdrom ou dvdrom). Trata-se de uma espécie de gambiarra que
foi adaptada do sistema "Windows XP para dispositivos embarcados". Os procedimentos mostrados aqui
foram retirados do fórum do site MP3CAR.com (http://www.mp3car.com/vbulletin/winnt-based/37078-using-ewf-
regular-winxp.html), e testadas com sucesso.

O procedimento fará com que toda a gravação que o WindowsXP costuma fazer no HD seja redirecionada
para um espaço na memória RAM, ou seja, irá enganá-lo fazendo-o pensar que está usando um HD normal.

Para fazer esse esquema são necessários os seguintes arquivos:


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

Esses arquivos são encontrados no pacote do "WindowsXP Embedded", para adquirir uma cópia basta
baixar a versão "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á
existe um que é o original do WindowsXP, então renomeie-o 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 alterações no registro do para ativar o "Ewf". Para que o registro permita fazer
tais alterações é necessário habilitar a permissão de acesso ao registro, para isso abra o editor de registro com o
comando "regedit". Selecione a chave "HKEY_LOCAL_MACHINE" e de um clique com o botão direto sobre ela,
no menu que aparecer clique em Permissions.

Figura 13 – Tela de editor do Registro.


9

Figura 14 – Tela de Permissões.

Agora selecione a opção "Everyone" e marque a caixa "Full Control". Com isso você estará habilitando
para que qualquer pessoa possa fazer alterações nessa chave de registro. Isto é necessário, pois agora irei postar
uma lista de modificações que deverão ser feitas no registro. Para facilitar, copie essa lista para o Bloco de Notas
e salve-a com a extenção ".reg" - para que o Bloco de notas não salve com a extensão txt é só escolher colocar o
nome entre aspas (ex: “alterações.reg”). Depois clique no arquivo salvo e o editor de registro irá adicionar tudo
automaticamente.

Lista de alterações
Windows Registry Editor Version 5.00

mp3car é necessario clicar com o botão 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-BEC7-
08002BE2092F}]
"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 adicioná-lo ao registro, pesquise as chaves mostradas e verifique se
todas foram criadas ou alteradas e se estão com os valores iguais a tabela acima. Caso alguma chave não tenha
sido alterada ou criada, faça isso manualmente usando o "regedit".

Após verificar se tudo ficou correto com o registro, chega a hora de reiniciar o computador para que as
alterações tenham efeito. Depois de reiniciar, iremos 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 descrição
como a mostrada nessa imagem: Nessa janela o que devemos observar as informações "Type" e "State":

Figura 15 – Tela de checagem do filtro EWF.

ƒ Type: informa o tipo de filtro que o "EWF" está aplicando na sua instalação, são 3 tipos possíveis (veja no
site os tipos existentes)

ƒ zState: informa o estado do filtro "Enabled" ou "Disabled", quando está "Enabled" significa que o filtro
está habilitado, e com isso qualquer tipo de gravação no dispositivo será desviada para uma área
na memória RAM.

Se você quiser fazer um teste, abra o Bloco de Notas e salve o documento corrente para o HD, se quiser
também pode renomear algum arquivo ou copiar algum arquivo para a unidade { C: }, depois reinicie o computador
e veja que os arquivos não estarão 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 opções possíveis digite no prompt
"ewfmgr.exe /?" e será mostrado uma lista com as opções disponíveis.

As principais são:
ƒ Enable ( habilita o filtro no próximo boot )
ƒ Disable ( desabilita o filtro no próximo boot)
ƒ Commit ( grava os dados para o disco )
ƒ CommitAndDisable ( grava os dados e desabilita o filtro imediatamente )

Fora isso ainda é possível criar programas ou scripts usando a API do EWF para manipular esse filtro,
para isso veja no site a documentação disponível. Ainda, na documentação você irá encontrar tudo que precisa
para criar um CD, DVD ou pendrive bootavel.
SEGUNDA PARTE

2 - INSTALAÇÃO E CONFIGURAÇÃO DO FRONTEND E DOS EMULADORES


A segunda parte desse tutorial é referente à instalação do frontend e dos emuladores. Serão adicionados
um emulador por vez, como módulos independentes, onde um não afeta o funcionamento do outro ou do frontend,
facilitando a manutenção da multijogos.

O frontend que irei usar é o AdvanceMenu, e os motivos são que ele não precisa de instalação, suporta
qualquer emulador ou programa e por ser o único que reproduz os arquivos de vídeo produzidos pelo mame.

Para ajudar o AdvanceMenu serão usados script´s para cada emulador adicionado. Esses scripts irão
fazer o trabalho de enviar teclas para o emulador e outras tarefas que não são possíveis só com o
AdvanceMenu.

A versão do AdvanceMenu que irei postar por enquanto tem as seguintes alterações:
ƒ Serão usados os seguintes botões do joystick1, caso queira usar um teclado, as teclas continuam as
padrões do AdvanceMenu:
o Botão2 ( troca de emulador )
o Botão3 ( muda o formato da lista, por exemplo de lista para imagens )
o Botão7 ( Ficha, o AdvanceMenu poderá trabalhar de 2 formas, 1º somente permite chamar um
jogo caso haja ficha, 2º modo convencional )
o Botão8 ( Carrega o jogo selecionado )
o Botão9 ( Fecha o AdvanceMenu)
o Botão10 (Abre o menu de opções )
ƒ 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 opção (caso esteja habilitada) que só irá permitir o carregamento do jogo
caso haja uma ficha.
ƒ Todas as fichas depositadas irão para um banco de dados (arquivo .ini), com isso mesmo desligando a
máquina as fichas não jogadas continuarão guardadas
ƒ O AdvanceMenu irá trabalhar de forma transparente tanto com jogos de Habilidade (arcade) quanto
os de Tempo (videogames), ou seja, depois de definido quanto Tempo uma Ficha vale, tanto faz o
jogador depositar uma ficha que ela será válida em qualquer um dos modos. Por exemplo: se ele
depositar uma ficha e chamar um jogo de "VideoGame", 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 então 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 não 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
"VideoGame".

2.1 - Estrutura das Pastas da Multijogos

Aqui iremos começar com a parte de organização das pastas, com isso ficará mais fácil distribuir os
pacotes para serem encaixados um a um. A estrutura será da seguinte forma ( ela pode ser alterada do momento
que você alterar as configurações dos emuladores e scripts ).

ƒ Pasta ARCADE, irá conter todas as outras pastas, ou seja é a pasta raiz.
ƒ Pasta AUXILIAR, irá conter ( por enquanto ) 3 subpastas que irão conter arquivos de som, imagem, fontes.
ƒ Pasta BACKUP, irá conter uma cópia de segurança das principais configurações.
ƒ 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 várias subpastas com as fotos/imagens/videos dos jogos de cada sistema.
ƒ Pasta SCRIPTS, nessa pasta serão colocados os códigos fonte de todos os scripts (AutoIT) utilizados, com
isso será fácil para localizar, modificar, adaptar conforme a necessidade
ƒ Pasta JOYTOKEY, nessa pasta contém o programa joytokey, que permite simular teclas através de
botões de joystick, esse programa foi escolhido porque trabalha muito bem em conjunto com o mame, e irá
facilitar bastante na construção dos scripts.

Figura 15 – Tela de como ficará a estrutura de pastas.

No pacote que irei posta o link logo abaixo, já irá se encarregar de criar uma parte da estrutura
mencionada, bastando escolher uma partição e descompactar. Mas antes disso vou explicar um pouco sobre as
alterações feitas no AdvanceMenu.

Figura 16 – Tela Seleção de Jogos.


ƒ Como já mencionei, a intenção é fazer o AdvanceMenu suportar vários sistemas (emuladores)
diferentes. Para isso, cada sistema terá sua tela de fundo personalizada (no pacote abaixo contém
algumas que eu uso atualmente), e para navegar entre os sistemas é utilizado o Botão2 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.
ƒ Também 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 necessário o uso de um script
para cada emulador, pois eles que irão atualizar os contadores de ficha, as fichas depositadas tanto no
AdvanceMenu quanto nos emuladores serão 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 não usadas não serão perdidas, e para utilizar uma
ficha depositada basta pressionar o botão { 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 não há problemas ).
ƒ Bloqueio - foi adicionado uma opção chamada "BLOQUEADO" dentro do arquivo "advmenu.ini" , que
se modificada para o valor "1" só permitirá o carregamento do jogo caso tenha pelo menos uma ficha
depositada. Essa opção só seria útil em maquinas para uso comercial, mas para nível de curiosidade
resolvi adicioná-la, então caso queira testar basta editar o advmenu.ini, que é um arquivo de texto puro,
e modificar o valor de “0” para “1”.
ƒ Na parte de Videogame ( ainda não estão 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 ao de
uma ficha, você poderá selecionar até um jogo Arcade, caso contrário poderá jogar o tempo restante
somente em um jogo de Videogame. Para isso ser possível, foi adicionado um código que converte o
tempo em ficha e a ficha em tempo, essa configuração pode ser modificada no "advmenu.ini" na opção
"TEMPOPORFICHA" , o padrão dela é "600000" que equivale a 10 minutos, esse tempo é calculado em
milésimos de segundos, essa é mais uma opção que só é útil em maquinas comerciais, só foi adicionada a
nível de curiosidade.
ƒ Sons - ao se depositar uma ficha é tocado um arquivo ".wav" que indicará o depósito da ficha, caso a
opção "BLOQUEADO" esteja ativa será reproduzido uma mensagem de voz pedindo o depósito de uma
ficha, o mesmo se aplica quanto a várias mensagens do sistema.
ƒ O arquivo "advmenu.rc" está todo comentado para facilitar a personalização ( cores, formato da lista,
sons, etc...), como pode ser reparado na imagem acima foram retirados algumas informações que são
mostradas por padrão no AdvanceMenu, foram deixadas apenas as que são vistas na imagem.
ƒ Ainda no AdvanceMenu será criado uma série de scripts ( serão feitos conforme a necessidade ) para
facilitar a manutenção, esses scripts poderão ser acessados através do menu e somente com um teclado.
Observação:
As modificações mencionadas e os scripts disponibilizados só irão funcionar com a versão do
emulador encontrada no pacote ( brmamep.exe v124u2 ), isso porque as versões distribuídas são
compiladas com opções diferentes e elas não irão 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 observação importante é em relação a resolução, 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 resolução é o suficiente, e dependendo da placa de vídeo
utilizada outra resolução torna inviável. Outro ponto é que a imagem de fundo e o menu foram
ajustados para trabalharem com essa resolução, mas mesmo assim nada impede você de alterá-
la, por exemplo: aqui eu deixo em 1024x768 enquanto estou testanto, para alterar a resolução
basta editar o arquivo "advmenu.rc" e alterar a opção "display_size 640" para a resolução
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 contém 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
demonstração e com ele é possível fazer um "BEZEL" padronizado para todos os jogos verticais
de uma forma rápida e automatizada via script, mas caso você tenha paciência os "BEZEL"
original de cada jogo vertical pode ser encontrado na net.

Link: ARCADE(1).RAR (http://www.4shared.com/file/76143378/575ac471/ARCADE_1_.html )

O pacote contém os primeiros arquivos para montagem, para ter a estrutura mencionada anteriormente
basta descompactá-lo em uma partição a seu gosto, com isso será criado uma pasta chamada "ARCADE" com
várias subpastas e os arquivos mencionados. Não esqueça: se for testar coloque uma rom de cada sistema na
pasta correta ou então altere a configuração "rompath" do emulador, o código fonte do script responsável por
controlar o mame está na pasta "SCRIPTS".

Depois de ter mencionado sobre os BEZEL, resolvi fazer um script para facilitar a criação deles, o
script (source-code, executável, outros ) podem ser baixados no link: - http://w14.easy-
share.com/1700234264.html (link off). Fornecendo os parâmetros solicitados pelo script, ele criará um bezel
para cada ROM que você tiver e necessitar do bezel.

Figura 17 – Tela de do jogo 1941 Counter Attack com Bezel.

2.2 - Introdução ao advancemenu.rc, Joytokey e script

Nesse ponto explicarei um pouco sobre as configurações 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 é incentivar o aprendizado, principalmente da linguagem de script AutoIT,
porque se você dominá-la conseguirá fazer muitas coisas de forma rápida e fácil.

Em primeiro lugar, se você editar o arquivo advmenu.rc com o bloco de notas, 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 listarcade/sort name
emulator_attrib "ARCADE" missing exclude
#***********************************************

Explicando linha por linha:


ƒ #emulador mame - toda linha que começar com o caractere [ # ] é tratado como um comentário, ou seja, o
que estiver escrito depois dele será ignorado pelo AdvanceMenu, isso serve para documentar o arquivo
“advmenu.rc”.
ƒ emulator "ARCADE" generic ".\mame\aumame.exe" "%s" - emulator é usada para dar um apelido ao
emulador, repare que o arquivo executável é o aumame.exe, mas ele só é mencionado uma vez e todas
as outras opções usam o apelido "ARCADE" ao invés do nome real do executável; generic informa ao
AdvanceMenu que iremos usar um emulador que ele não conhece e com isso a única coisa que ele deve
fazer é chamar o executável informado e passar o parâmetro indicado; “%s" é uma macro que passa para
o AdvanceMenu o nome do jogo. Assim, para que tudo funcione como o esperado, devemos ter um
emulador na pasta ".\mame" e que se chame "aumame.exe" e, ainda, um arquivo no diretório corrente
com a lista dos jogos, com o mesmo apelido dado ao emulador com a extenção "LST" - no nosso caso é
"ARCADE.LST". Caso não seja encontrado esse arquivo no diretório corrente, o AdvanceMenu irá mostrar
na lista o nome do arquivo .zip da ROM ao invés do nome do jogo.
ƒ emulator_roms "ARCADE" "..\jogos\outros" - esta opção irá informar ao AdvanceMenu onde as roms
estão localizadas. caso não seja informado, ou o caminho esteja incorreto, o AdvanceMenu irá mostrar
uma mensagem informando.
ƒ zemulator_roms_filter "ARCADE" "*.zip" - esta opção fará com que o AdvanceMenu filtre os arquivos que
estiverem na pasta das roms, fazendo com que sejam reconhecidos somente os arquivos com a extensão
".zip", qualquer outro arquivo com uma extensão diferente será ignorado.
ƒ emulator_altss "ARCADE" "..\snap\arcade;..\mng" - esta opção informa ao AdvanceMenu onde estão
localizados as fotos ou vídeos dos jogos.
ƒ ARCADE/preview snap - esta opção informa que o AdvanceMenu deverá mostrar as fotos ou vídeos
informados na opção anterior.
ƒ arcade/mode list - esta opção informa como o AdvanceMenu deverá mostrar a lista de jogos. Existem
vários modos possíveis, mas para esse tutorial deixei somente 2 modos habilitados: o modo normal (lista)
e o modo snap (imagem), onde são mostradas 12 imagens pequenas com o nome do jogo.
ƒ arcade/sort name - esta opção trabalha em conjunto com a anterior. Ela faz com que seja mostrado
somente o nome do jogo.
ƒ emulator_attrib "ARCADE" missing exclude - esta opção informa ao AdvanceMenu que os jogos que não
forem encontrados mesmo estando na lista não devem ser mostrados.
Essas opções são tudo o que se precisa para adicionar qualquer emulador ao AdvanceMenu, bastando
alterar a opção "emulador" para um nome diferente de um já usado, e informando onde se localiza o arquivo
executável do emulador e suas roms.

O joytokey, como já foi mencionado e como o próprio nome sugere, emula teclas a partir de botões de
joystick, no fórum já existe um tutorial a respeito então não vou explicar como ele funciona. Aqui vale apenas
informar como ele está sendo usado. Para isso, basta editar um dos scripts fornecidos e verificar a linha onde o
joytokey está sendo chamado. Se você reparar no script "aumame.au3" notará que é passado para o joytokey o
parâmetro "mame", que significa que ele deve carregar o arquivo de configuração que se encontra na pasta onde
se encontra o o joytokey com o nome "mame.cfg" - esse arquivo contém as configurações de teclas atribuídas a
cada botão do joystick.

E por fim os scripts, essa é a parte principal de todo o projeto, pois são eles que permitem a adição de
qualquer emulador ou programa e controlam como eles devem se comportar junto ao AdvanceMenu. Os scripts
usados no projeto usam a linguagem de script AutoIT. A grande vantagem desses scripts é que eles podem ser
compilados transformando-se em arquivos executáveis sem a necessidade de arquivos extras ( DLLs ), simples de
distribuir e de fácil aprendizado - e o melhor de tudo é grátis. Essa linguagem pode ser encontrada no site dos
autores http://www.autoitscript.com/autoit3/scite/. O AutoIT é o compilador e interpretador em si, e o
SciTE4AutoIt3, que contém uma interface gráfica e um arquivo de ajuda muito bem organizado e com muito
exemplos práticos, é o editor de script para o AutoIT. Fora isto, você pode se cadastrar no fórum onde tem
centenas de exemplos prontos para serem compilados e usados.

2.3 - Adicionando o emulador ZINC ao advanceMENU

O próximo emulador a ser inserido será o ZINC.EXE. Para quem não conhece, é o melhor emulador para
as placas arcades baseadas no playstation 1 (o mame também emula esses jogos mas como ele não usa
aceleração 3D os jogos ficam lentos ou para rodar numa velocidade razoável é necessário um processador muito
potente)
A imagem abaixo mostra alguns jogos emulados por ele:

Figura 18 – Tela do ZINC no AdvanceMame.

O script que irá controlar o ZINC segue a mesma linha do "aumame.au3", com umas pequenas
modificações veja as diferenças:

ƒ Para rodar um jogo no ZINC é necessário passar o número do jogo e não o nome da rom como no
mame.
ƒ Os botões usados pelo ZINC são diferentes dos usados no Mame, assim foi feito um novo CFG
(arquivo de configuração) para o Joytokey simular o modo de botões do Mame no ZINC.
ƒ Alguns jogos do ZINC (por exemplo: Tekken ) precisam do arquivo "pr1data.8k", que deve estar em
"C:\", caso contrário o jogo não rodará. Assim, o script irá se encarregar de verificar e copiar esse
arquivo para o local correto caso precise.
ƒ O som emulado pelo ZINC é muito mais alto que no Mame. Para corrigir esta distorção foi adicionado
uma função que regulará o som conforme o jogo chamado. Para isto, basta editar o arquivo
"auZinc.ini" e na opção "volume" colocar o valor correto para cada jogo (de 1 até 24). Quanto maior o
valor mais baixo será o som, então, para testar abra um jogo no Mame, veja como está o volume do
som. Depois, abra o jogo no ZINC e observe o volume do som: caso o volume esteja muito alto, então
edite o arquivo "auZinc.ini" e aumente o valor da opção "VOLUME". Pelos meus, teste os jogos que
tem uma diferença muito alta em relação ao Mame são os jogos da Capcom (Street fighter EX, etc...),
já os "Tekken" tem volume similar ao Mame, podendo então ficar com a opção "VOLUME=1" e os
"Streets..." com "VOLUME=12" ou mais.

Para quem não está acostumado com o ZINC, ele usa um arquivo de configuração que contém as linhas
de comandos a serem passadas para ele. O uso do scripts facilita bastante, porque as linhas de comandos são
grandes e dessa forma só seá necessário passar ao emulador a localização do arquivo de configuração "--use-
config-file=.\config.cfg".

Esta linha já foi inserida no script, então 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",
então se você editar o arquivo mencionado irá encontrar esse parâmetro, e caso use uma pasta diferente você
deve editar arquivo “config.cfg” e indicar o caminho correto. O mesmo se aplica a resolução de vídeo o arquivo
responsável por controlar é o "renderer.cfg".
Para adicionar ZINC ao AdvanceMenu, insira as seguintes linhas no advmenu.rc:

advancemenu.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 opções são praticamente idênticas ao do Mame, mudando apenas o nome do
executável e o nome das pastas onde se localiza as roms e imagens.

O novo pacote contém a mesma estrutura de pasta do anterior, então basta descompactar na mesma
unidade do pacote anterior e os novos arquivos serão copiados para as pastas corretas ( isso se você estiver
seguindo o esquema de pasta mencionado ), nesse pacote contém somente os novos arquivos:

ƒ Pasta com o emulador zinc.exe e todos os arquivos necessários ( menos as roms )


ƒ Mais um arquivo de configuração para o joytokey ( zinc.cfg )
ƒ Source code do script que controla o zinc "auzinc.au3"

Link do pacote para o emulador zinc: ÁRCADE(2).RAR


http://www.4shared.com/file/76127838/3f418c63/ARCADE_2_.html

Com esse segundo pacote eu creio que ficou mais fácil de se entender como funciona a adição de novos
emuladores no AdvanceMenu, ou seja, basta dar um apelido para o novo emulador e configurar as opções de
localização do executável do novo emulador, localização das roms e localização das fotos e estando no
AdvanceMenu basta usar a tecla [ F6 ] ou o botão2 do joystick para alternar entre os emuladores instalados.

Assim, vou abrir mais um espaço para explicar mais algumas configurações úteis no AdvanceMenu que
ajudará na organização da lista de jogos e facilitar a manutenção.

O advanceMenu trabalha com o esquema de organização dos jogos baseado em "GRUPOS" e "TIPOS",
Ao editar o arquivo "advmenu.rc" poderemos encontrar as seguintes linhas:

group "<MULTIJOGOS>", group "REMOVIDOS", group "BIOS",

Estas linhas informam ao AdvanceMenu que ele deve criar na entrada do "MENU" 3 grupos com os nomes
mencionados entre as aspas, isso servirá para que possamos adicionar ou remover jogos de uma forma rápida e
simples.

O grupo "<MULTIJOGOS>" é criado por padrão e qualquer jogo que não pertencer a esse grupo não será
mostrado na lista. Isto é útil na seguinte situação: na lista de jogos do ZINC irão aparecer alguns nomes que não
são jogos e sim as bios necessárias para o jogo carregar ( atluspsx, cpzn1, cpzn2, etc... ), assim, para que esses
nomes não sejam mostrados na lista junto com os jogos, vamos relacionar os arquivos de bios a um grupo
diferente dos jogos, para isso basta posicionar a seleção em cima do nome da bios na lista de jogos e teclar [ F9 ].
Com isso irá abrir o menu de "GRUPOS" e então selecionar o grupo "BIOS" e teclar [ ENTER ], com isso o jogo
selecionado, ou seja a bios, agora fará parte deste grupo e, como ele está marcado para não ser exibido, o
AdvanceMenu irá retirá-lo da lista de jogos.

Esse método pode ser aplicado para qualquer jogo que você não queira que apareça no menu de seleção
da multijogos. Para efeito de organização, foi criado o grupo "REMOVIDOS" que poder ser utilizado para colocar
os jogos que você queira tirar da lista principal, em resumo a organização dos jogos irão ficar assim:

ƒ Grupo "<MULTIJOGOS>" , todos os jogos que devem aparecer na lista.


ƒ Grupo "BIOS", colocar todas as bios nesse grupo, para que não aparecem na lista.
ƒ Grupo "REMOVIDOS", colocar nesse grupo todos os jogos que você deseja retirar da lista.
Como o objetivo é adicionar vários emuladores ao AdvanceMenu, nada impede você de criar vários outros
grupos para organizar seus jogos. Por exemplo: quando adicionarmos os emuladores de videogames, poderíamos
adicionar um grupo para cada emulador e nesse novo grupo colocar os jogos que não devam ser mostrados na
lista - um exemplo de grupo para um emulador de supernintendo poderia ser "SNES REMOVIDO". Com isso
teríamos os jogos bons no grupo "<MULTIJOGOS>" e os ruins de arcade no grupo "REMOVIDOS" e os ruins de
supernintendo no grupo "SNES REMOVIDOS".

A opção no AdvanceMenu que controla os grupos que devem ser mostrados ou não chama-se
"group_include". Levando-se em conta os exemplos mostrados acima, bastaria ter a seguinte opção no arquivo
"advmenu.rc" para mostrar uma lista com os jogos pertencentes ao grupo "<MULTIJOGOS>":

group_include "<MULTIJOGOS>"

Com isso, todos os jogos pertencentes a outros grupos não serão mostrados, e para fazer ao contrário, ou
seja, pegar um jogo removido e retorná-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 alteração, a linha será algo semelhante há:

game "ZINC3D/cpzn1" "BIOS" "" 670 7 ""

Essa linha é interpretada pelo AdvanceMenu dá seguinte forma:

ƒ game , valor padrão 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 a qual esta rom pertence, como não atribuímos nenhum TIPO para esse jogo
então essas opção fica somente as aspas.
ƒ 670, essa numeração é referente ao tempo que o emulador ficou rodando a rom
ƒ 7, indica a quantidade de vezes que esse jogo foi carregado
ƒ "", as ultimas aspas podem ser usadas para dar um apelido a rom, por exemplo poderíamos dar o
seguinte apelido para essa bios "Bios para da placa ZN1".

Esse é o final da adição de emuladores para arcade, lembrando que você pode adicionar quantos você
quiser e o emulador que mais lhe agradar. Assim, ao invés 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 são 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 não 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 invés do mame, obviamente quanto menos emulador menos trabalho você terá, mas como os scripts
são fáceis de se ajustar conforme as atualizações dos emuladores, 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 tratará as fichas e como um script controlará o tempo,
fazendo com que o emulador seja fechado quando o tempo dessa ficha for atingido.

2.4 - Adicionando o emulador de videogame Zsnesw.exe

Esse é o último emulador que será adicionado nesse tutorial, com isso demonstraremos a capacidade do
AdvanceMenu para tratar uma ficha como tempo e vice-versa.

Com a adição desse emulador, serão mostradas novas funções no script e um parâmetro ainda não
mencionado no "advmenu.rc", mais precisamente falaremos das macros para exibição dos jogos na lista do
AdvanceMenu.

Essa é a imagem obtida:


Figura 19 – Tela do Emulador de Supernintendo no AdvanceMame.

advancemenu.rc
#emulador SUPER NINTENDO
#***********************************************
emulator "SUPERNES" generic ".\Zsnesw\ausnes.exe" "%p"
emulator_roms "SUPERNES" "..\jogos\RomsSnes"
emulator_altss "SUPERNES" "..\snap\SuperNes"
#***********************************************

Nessa configuração a única coisa a se destacar em relação as anteriores é em relação a macro "%P". Se
você revisar as configurações anteriores, irá perceber que em todas foi usada a macro "%S". Essas macros tem o
seguinte significado para o AdvanceMenu:

ƒ "%S" , passa para o script somente o nome da rom, por exemplo kof2002.
ƒ "%F", passa para o script o nome e a extensão da rom, exemplo kof2002.zip.
ƒ "%P", passa para o script o caminho completo mais o nome e a extensão 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 não ter que
configurar o path do emulador e para demonstrar e explicar para que serve essas macros.

Se você obervar a imagem acima, verá o AdvanceMenu mostrando "TEMPO 00:09:02" (nove minutos e
dois segundos) e caso você mude para um emulador “Arcade” o AdvanceMenu mostrará "FICHAS 00", que
significa que o tempo mostrado não é suficiente para uma ficha, porque foi configurado que cada ficha vale 10
minutos (você pode alterar esse valor editando o arquivo "advmenu.ini", alterando o valor do campo
"TEMPOPORFICHA=600000" - lembre-se!!! 1 segundo=1000ms, 1 minuto=60000ms ). Caso seja depositada
mais uma ficha, então no modo “arcade’ será mostrado "FICHAS 01", e se voltar para o modo “VideoGame” será
mostrado "TEMPO 00:19:02". Ainda, se o menu não estiver bloqueado e não tiver nenhuma ficha, o script irá emitir
uma menssagem avisando que o você poderá ver esse jogo por um período de 30 segundos, e caso não deposite
uma ficha nesse período o script fechará o emulador.

Nesse script são demonstradas novas funções que se encarregam de controlar o tempo, avisar ao usuário
quando o tempo está acabando e fechar o emulador caso o tempo da ficha se esgote. Com pequenos ajustes
nesse script será possível adicionar qualquer outro emulador de vídeogame no AdvanceMenu, trabalhando de
forma semelhante ao demonstrado no Zsnesw.
O pacote para esse último emulador segue o mesmo padrão 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 AdvanceMenu que fazia com que
ele não mostra-se o tempo correto no modo vídeogame, então nesse pacote está indo a versão do advmenu.exe
corrigida. Abaixo segue o link do pacote com o advmenu (corrigido), emulador Zsnesw, script, outros arquivos
utilizados. Tamanho: 2MB:

Link do pacote para o emulador zsnesw+advancemenu : ARCADE(3).RAR


http://www.4shared.com/file/76138891/d971e5ab/ARCADE_3_.html

2.5 - Explicação mais detalhada sobre os arquivos .LST

Antes de encerrar essa parte sobre a adição de emuladores, vou explicar sobre o formato da lista de jogos
(arcade.lst, neogeo.lst, etc...), isso será útil caso você queira adicionar músicas ao AdvanceMenu, transformando-o
em uma jukebox ou 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 )

ƒ game ( ...... ), cada entrada nesse formato representa um jogo.


ƒ name pacman, essa opção informa ao AdvanceMenu qual é o nome da rom, ou seja "pacman".
ƒ description "Pac-Man (Midway)", essa opção informa ao AdvanceMenu o nome/descrição que
deverá ser mostra na lista, ao invés de "pacman".
ƒ manufacturer "[Namco] (Midway license)", essa opção serve para o AdvanceMenu mostrar na barra
inferior o nome do fabricante
ƒ year 1980, essa opção tem a mesma função da anterior, só que para mostrar o ano de fabricação do
game.
ƒ cloneof pacman, essa opção informa ao AdvanceMenu que esse jogo é um clone da rom informada
(pacman), e é essa opção que será útil caso queira montar uma jukebox usando o AdvanceMenu,

Nesta lista, os dados obrigatórios são: game, name e description, o restante pode ou não ser
adicionados. Com o exemplo acima poderíamos criar uma lista usando a opção "cloneof", para montar uma
jukebox ou karaokê, e organizar essa lista usando o nome do álbum como destaque e as músicas como sendo
clones desse álbum, então teríamos algo parecido com isso:

Exemplo de um arquivo LST para uma jukebox ou karaokê


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 não contém a palavra "cloneof", dessa forma ele será tratado com
um item principal (nome do álbum), e os 2 itens outros itens com a opção "cloneof 1" indica ao advanceMenu
que esses 2 itens (músicas) são clones do item 1.
Para esse exemplo eu pequei algumas músicas 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:

Figura 20 – Tela exemplo Jukebox no AdvanceMame.

Ou assim:

Figura 21 – Tela exemplo Jukebox no AdvanceMame 2.

Repare que nos dois exemplos de formatação da lista os itens estão agrupados, ou seja, é mostrado o
nome do álbum e em seguida as músicas pertencentes a esse álbum. Para controlar a jukebox. ou o karaokê, 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 próxima etapa do tutorial será voltada a explicar como fazer a imagem ser
mostrada em um monitor arcade ( 15Khz ), mas lembre-se que embora seja importante a parte do monitor e dos
controles, elas não se comparam a parte anterior, principalmente em relação aos scripts, pois como já mencionei o
ideal é você se focar neles e com isso colocar o que desejar em sua montagem.

TERCEIRA PARTE

3 - MONITOR ARCADE, SOM E CONTROLES

3.1 - MONITOR ARCADE

Nessa parte mostrarei os métodos que eu conheço para fazer a imagem da placa de vídeo ser mostrada
em um monitor arcade. Essa sempre foi uma grande barreira, dependendo da placa de vídeo utilizada.

O problema reside no fato da placa de vídeo emitir uma freqüência horizontal de no mínimo 31.5Khz
enquanto um monitor arcade só aceita uma freqüência de aproximadamente 15.7Khz. Ainda, a placa de vídeo usa
dois canais para enviar os sinais de freqüências (horizontal, vertical) e o monitor arcade tem somente uma entrada,
ou seja, os sinais de sincronismos tem que ser compostos. Esse último fato não é tão problemático, pois para
obtermos o sinal composto bastaria unir os dois fios (vertical, horizontal) e teríamos o sinal composto. Embora
funcione, existe um circuito muito simples de se fazer que faz esse serviço de uma forma mais elegante. Esse
circuito é o mesmo usado nas "plaquinhas jammas" 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:

Figura 22 – Esquema Elétrico para sincronismo composto.

Nesse esquema é mostrado uma saída para um conector "SCART" – padrão de conector para TV
europeu, mas para nos monitores arcades só são usadas as saídas que estão conectadas aos pinos (15, 11, 7,
20) do lado direito da imagem. Abaixo é mostrada a imagem desse circuito impresso.
Figura 23 – Desenho da placa para sincronismo composto.

E por fim como ele irá ficar depois de montado:

Figura 24 – Placa para sincronismo composto montada.

Todos os componentes são fáceis de se encontrar e são bem baratos, de uma olhada no site
mencionado acima e veja a lista de componentes.

Além do circuito mostrado acima, que somente faz a junção dos sinais vertical e horizontal, precisaremos
ainda de um meio para reduzir a freqüência horizontal de 31.5KHZ para a freqüência suportada pelo monitor
árcade, que é 15.7KHZ. Para isso existem vários meios e nesse tutorial vou citar apenas dois que abrangerão a
maioria das placas de vídeos usadas e são fáceis de se fazer.
O primeiro trata-se de um software chamado "powerstrip" ( http://www.entechtaiwan.com/ps.htm ) Ele
possui muitas funções, mas a principal - e a que nos interessa, é a parte que permite criar uma resolução que o
monitor arcade consiga trabalhar. Esse software tem uma compatibilidade com centenas de placas de vídeo e
suporte para vários sistemas operacionais (até os 64bits), e com meia dúzia de cliques você já conseguirá uma
freqüência de 15.7KHZ.
Neste tutorial não vou descrever como configurá-lo, porque no site do fabricante já existe um tutorial
explicando com detalhes o processo encontrado na sessão tutorial.
O segundo é dirigido somente para placas de vídeo da NVIDEA. Para essas placas temos dois métodos
de realizar a conversão da freqüência: a primeira é através do próprio software da nvidea que permite isso, para
um tutorial completo de como realizar essa configuração acesse o excelente site do Marcianitos
(http://www.marcianitos.org/tutoriales/VD017.php). O outro método trata-se de um software que faz alterações no
registro do Windows de modo a gerar a freqüência de 15.7 KHZ, e se chama "soft15khz". Esse programa você
também irá encontrar no site do Marcianitos, em http://www.drupal.marcianitos.org/programas/soft15khz. No site
tem toda a descrição de como realizar as configurações - fora que você encontrará mais uma séries de utilitários,
tutoriais e muitas informações.
Como vocês podem ver, não há nada de extraordinário a ser feito em relação a parte de vídeo, a única
dificuldade é caso você tente fazer isso com vídeos onboard. Nesse caso a dificuldade é bem maior porque a
maioria dos softwares não dão suporte a esse tipo de vídeo. Então quando for montar sua máquina dê preferência
sempre por placas de vídeo offboard, sendo as melhores para esse tipo de montagem as da NVIDEA e ATI, na
mesma ordem. Para este tutorial eu utilizei uma nvidea FX5200, e todas métodos mencionados funcionam
perfeitamente com essa placa. Uma outra coisa que você pode dar preferência são para placas de vídeo que
tenham saída para tv, pois assim enquanto você prepara e testa a parte do frontend e os emuladores você poderá
ver o resultado final na tela da TV de forma mais ou menos de como verá na tela do monitor arcade ( geralmente a
qualidade obtida nos monitores arcades são bem melhores).
3.1.1 - Configurando placas Nvidia para gerar imagens compatíveis com o monitor arcade.

Para esse tutorial foi usado a seguinte configuração e hardware:


ƒ Driver de video ForceWare ver 93.71 (outras versões não contém as opções aqui mostradas)
ƒ Placa de video Nvidia FX5200. (podem ser usados outros modelos que sejam suportados pelo driver)

Importante!!!
Verifique se o seu driver atual possui as opções aqui mostradas, caso contrário baixe essa
versão na pagina da Nnvidia ( http://www.nvidia.com/page/home.html ) na sessão de downloads.
Observação: na página de download, em Product Type informe GForce, em Product Series
informe GForce 4 MX Series, em Operation System informe Windows XP e em Language
English (US). Se não fizer assim, somente serão mostrados os drivers mais recentes e esses
não possuem as mesmas opções mostrada nesse tutorial.

A instalação do driver não tem nada de novo, basta seguir os passos e ir confirmando as opções
padrões. Com o driver instalado e funcionando, iremos abrir o painel de controle da Nvidia, esse painel pode ser
acessado pelo Painel de `Controle do Windows, pelo ícone da nvidia que se encontra ao lado do relógio na
barra de tarefa ou ainda clicando com o botão direito do mouse no desktop e selecionando a opção "Nvidia
Control Panel".

Ao abrirmos o " Nvidia Control Panel " pela primeira vez será mostrado a seguinte tela:

Figura 25 – Tela Nvidia Control Panel.

Para termos as opções que precisamos alterar disponíveis é necessário alterar o modo como o " Nvidia
Control Panel" é mostrado. Para isso vá no menu "View" e clique na opção "Use classic NVIDIA control
Panel...", como mostrado na imagem abaixo.
Figura 26 – Alterando o modo de visualização do Nvidia Control Panel.

Feito isso o programa irá perguntar se realmente deseja usar o modo escolhido, basta confirmar
clicando no botão "OK", e ao fazer isso o “Nvidia Control Panel” será fechado. Agora poderemos acessá-lo
pelo ícone de "display/video" no Painel de Controle do Windows.....

Figura 27 – Abrindo o Nvidia Control Panel pelo Painel de Controle.


.....ou clicando com o botão direito do mouse no desktop e selecionando a opção "NVIDIA DISPLAY" - >
"analog display"....

Figura 28 – Abrindo o Nvidia Control Panel clicando com o botão direito no dektop.

... ou ainda no mesmo menu do desktop em "Properties", e depois em "advanced".

Figura 29 – Abrindo o Nvidia Control Panel clicando com o botão direito no dektop 2.

E por fim a aba "Geforce FX5200", ou outro modelo caso não esteja usando o mesmo.
Figura 30 – Nvidia Control Panel GForce FX 5200.

O importante mesmo é chegar e acessar a seguinte janela:

Figura 31 – Nvidia Control Panel.


Ao acessar o "Nvidia Panel Control" de uma das formas mencionadas, ele abrirá uma janela no lado
esquerdo com várias opções de controle de video, como mostrado na imagem acima. A opção que nos interessa
de momento é "Screen Resolutions & Refresh Rates". Ao clicar nessa opção a janela da direita irá mostrar as
opções disponíveis para cada item, no nosso caso o item desejado "Screen Resolutions & Refresh Rates" foi
selecionado e as opções são essas mostradas na imagem acima.

Os dados que são mostrados nessa janela dependerão da resolução atual que você está usando.
Observe que nesse momento estou usando a resolução 1024x768x32 há 60hz, mas isso não tem importância
pois iremos reconfigurar todos os parâmetros para gerar a sincronia de 15Khz.

Na janela a direita iremos clicar no botão "Advanced Timing", ao clicarmos pela primeira vez o "Nvidia
Control Panel" irá mostrar uma janela com várias recomendações, você deverá percorrê-la até o fim para que o
botão "Agree /aceitar" seja habilitado e que, ao clicá-lo, teremos a janela para configurar a freqüência da placa
de video:

Figura 32 – Tela Advance Timing do Nvidia Control Panel.

Agora iremos alterar alguns parâmetros para demonstrar como gerar a freqüência de 15KHZ. Observe
na imagem acima os itens relacionados em vermelho. Eles correspondem à minha configuração atual
(1024x768x32 a 60 KHZ). Vamos alterar todas as opções para que fique igual a imagem abaixo.
Figura 33 – Tela Advance Timing do Nvidia Control Panel com alterações.

Feitas as alterações, você perceberá que o principal foi atingido, ou seja a freqüência horizontal de
15Khz.

Repare que as áreas em vermelhas apontam as alterações ocorridas, para você ver a diferença
desmarque a caixa "interlaced mode" e compare com os valores atuais mostrados, você verá que esses
valores são o dobro, e ao marcar novamente a caixa "interlaced mode" verá que os valores apontados pelas
setas voltaram a ter os sinais de freqüência divididos pela metade - e esse é o sinal que o monitor arcade
reconhece.

ATENÇÃO!!!
Isso foi somente um teste para demonstrar onde e como alterar os parâmetros. Caso você
esteja usando uma resolução maior que 640x480 e fizer essas alterações e clicar em
"Apply/aplicar", funcionará, mas o desktop irá continuar com a resolução anterior e certas
partes do desktop ficarão escondidas e só aparecerão caso você passe o mouse pelas áreas
escondidas (o chamado rolamento de tela). Isso porque o "Nvidia Contro Panel" altera a
resolução selecionada, então caso faça algo errado ou queira retornar a configuração original
você terá que selecioná-la e clicar no botão "Remove".

Agora alteraremos a resolução para que fique no modo correto. O primeiro passo é alterar a resolução
para 640x480x32. Isso é necessário pois como mencionei o " Nvidia Contro Panel " altera a resolução escolhida,
então caso você esteja na janela mostrada acima clique em "Cancel" para retornar à janela anterior:

Nessa janela use o botão deslizante e deixe a resolução como mencionado "640x480x32 60Hertz" e clique
em "apply/aplicar".
Figura 34 –Alterando a Resolução de Vídeo no Nvidia Control Panel.

Com isso o seu desktop irá para a resolução informada e o botão "Advanced Timing" será habilitado
novamente, então clique nele e faça agora as alterações como foram mostradas anteriormente ou seja:

Figura 35 – Tela Advance Timing do Nvidia Control Panel com as alterações para obtermos 15KHZ.
Deixando as opções como são mostrados na imagem acima a placa de vídeo estará pronta para enviar a
imagem correta para o monitor arcade.

Neste ponto abro uma observação muito importante: você terá que estar com o monitor arcade por perto e
pronto para trocar o cabo do "monitor de pc" pelo do "monitor arcade", porque ao pressionar o botão "Apply" o
Windows mostrará uma caixa de mensagem com um botão "Ok" informando que será aplicado a nova resolução e,
ao clicar no botão "Ok" você terá 15 segundos para confirmar se a resolução escolhida está funcionando
corretamente e caso você não confirme a resolução anterior será restaurada, mas esta mensagem só poderá ser
vista no "monitor arcade". No momento em que você clicar no botão "Ok" na caixa de mensagem, a imagem do
seu monitor de pc sumirá, porque a freqüência gerada é muito baixa para ele - um monitor de pc geralmente
precisa de pelo menos os 31Khz para funcionar corretamente.

Siga os seguintes passos:


1º Clique no botão "Apply";
2º Verifique se o foco da caixa de mensagem está no botão “OK” (o botão fica com o contorno diferente) e
caso não esteja, aperte a tecla TAB uma vez para alterar o foco para o botão “OK”;
3º Troque o cabo de vídeo do monitor de PC para o monitor arcade;
4º Aperte a tecla ENTER no teclado

Se os procedimentos foram feitos corretamente então agora você deverá estar vendo o seu desktop no
monitor árcade (que, diferente da TV, nele você tem condições de ler toda a tela, as letras não ficam embaçadas e
ao rodar um jogo ou filme irá ver a qualidade muito superior ao da TV). A imagem abaixo mostra o meu desktop no
monitor arcade (eletrocyan 21 polegadas), com o media player aberto rodando o "Iron Man"- a qualidade da foto
não acompanha a qualidade gerada pelo monitor arcade, mas mesmo assim da pra ter uma idéia só pelas letras
que são totalmente legíveis.

Figura 36 – Desktop exibido no monitor árcade a 15KHZ.

Dica: Ainda no "Nvidia Control Panel" tem outras opções que você pode usar para centralizar a imagem
caso ela não fique centralizada no monitor e uma que eu costumo habilitar (não sei se é impressão minha mas
melhora ainda mais a imagem) a opção "Enable doublescan for lower resolution mode". Esta opção está no
menu "Display mode Timing", veja a opção na imagem abaixo:
Figura 37 – Habilitando a opçãp "Enable doublescan for lower resolution mode.

E para ajustar o posicionamento da tela, use a opção "Screen Adjustment" e clique nas setinhas verdes
para posicionar o desktop:

Figura 38 – Ajustando a posição da tela.


Para encerrar essa parte, vou mencionar o porque desta resolução de vídeo, embora seja possível criar
configurações com maior resolução, como por exemplo 800x600. Ela foi escolhida pois é a que mais se aproxima
de uma resolução de TV ou arcade. Um arcade, ou uma TV, tem em media 525/625 linhas na horizontal e 262/312
na vertical e cada imagem gerada tem uma faixa de atualização de 25/30 quadros por segundo, e praticamente
todos os jogos e emuladores tem suporte a essa resolução.

Se você executar algum programa que mude a resolução atual, o monitor arcade perderá o sincronismo,
assim, garanta que os programas que serão executados na multijogos não alterem a resolução do monitor. Como o
objetivo principal será rodar os jogos arcades, de videogame, de pc ou assistir um vídeo, isso não será problema,
pois geralmente todos eles têm suporte a essa resolução.

Dois outros programas que permitem fazer esses mesmos ajustes são o "powerstrip" e o "soft15khz",
sendo o primeiro pago (comercial) e o segundo gratuito. O “powerstrip” é muito poderoso quando se trata de
manipular as freqüências de vídeo, entre outras funcionalidades, tendo suporte a uma infinidade de placas e
modelos, o único inconveniente é que ele pode gerar problemas quando uma aplicação usa a aceleração de
hardware (Directx). O "soft15khz", por outro lado, também é perfeito para fazer essa modificação e além de fazer
o que foi mostrado, ele permite de uma forma mais fácil adicionar novas resoluções com a freqüência de 15khz. O
soft15khz, diferente do powerstrip, trabalha com poucas placas de vídeo tendo um suporte bom para Nvidia, Ati e
Matrox.

3.1.2 - Tutorial PowerStrip para Monitor Arcade

Esse tutorial foi baseado nas informações e dicas do site http://www.marcianitos.org, sendo deles todos
os méritos pelas informações aqui descritas e por esse excelente software que permite tal façanha, que pode ser
encontrado no site http://entechtaiwan.net.

Embora testado não me responsabilizo por qualquer dano que possa ocorrer, então antes de começar leia
todo o tutorial, visite os sites citados, participe dos fóruns que falam sobre o assunto e tire todas as
duvidas antes de por em pratica. (outro ponto é não leve em consideração o assassinato do português:)

Este tutorial aplica-se as placas de vídeo ATI e NVIDIA, podendo funcionar em outras que não sejam
onboard. O PowerStrip não dá suporte para placas onboard (pelo menos até onde eu já tenha testado), para
qualquer duvida visite o site http://www.marcianitos.org e tiras as dúvidas.

Maquina testada com a configuração aqui demonstradas:


Placa de Vídeo: Ati Radeon 9250, com seus últimos drivers devidamente instalados.
Sistema Operacional: Windows XP pro, mas pode ser usado no win98 sem problemas.
PowerStrip : Versão 3.63.540

O começo desse tutorial, leva em conta que você já tenha instalado PowerStrip seguindo as opções
padrões de instalação, se isso foi feito, após ter terminado a instalação o PowerStrip perguntará se deseja reiniciar
o PC e em caso afirmativo, na próxima vez que o sistema operacional iniciar será mostrado a seguinte mensagem:

Figura 39 – Tela inicial do PowrStrip.

Então é só clicar em “OK”, e irá aparecer a tela de Quick setup.


Figura 40 – Tela Quick setup do PowrStrip.

Mais uma vez basta clicar em “OK”. A próxima tela a ser exibida será a de “tips”, ou seja, dicas.

Figura 41 – Tela de “dicas” do PowrStrip.


Se a versão usada estiver devidamente registrada, você pode desmarcar “Show tips at startup”, que essa
tela não irá mais aparecer na inicialização do programa.

Agora vamos começar a configuração. Para isso, clique com o botão direito do mouse no ícone do
PowerStrip, que se encontra no “system tray”, no canto inferior a direita perto do relógio do Windows. O símbolo
dele é um monitor com um arco-íris:

Figura 42 – Ícone do PowerStrip no system tray.


Com isso irá abrir a seguinte janela:

Figura 43 – Menu de contexto do PowerStrip.

Navegue nesse menu e escolha “Display profiles” e na janela ao lado clique em “Configure...”, isso abrirá
uma janela mostrando as configurações da placa de vídeo e monitor assim:

Figura 44 – Tela Display profiles.

As informações mostradas nessa janela irão variar dependendo do monitor e placa de vídeo a ser usada,
mas isso não tem importância.

Nesse momento vou abrir um espaço, para mostrar como salvar as configurações, ou melhor, os tais
“Profiles”. Isto será de extrema importância, pois com eles você poderá alterar as configurações de vídeo usando
combinação de teclas, facilitando alterarar de um monitor de PC para o monitor árcade. Então vamos lá:

Com a janela “Display Profiles”aberta, clique em “Save as...” e irá abrir uma nova janela para ser digitado
o nome para esse “Profile”.

Figura 45 – Tela para salvar o profile.


Eu usei nomes sugestivos para facilitar o entendimento do tutorial, mas você pode usar qualquer nome,
Após digitar o nome desejado para o “Profile” clique em “OK” e a janela será fechada. Clicando na caixa de
rolagem onde está escrito “current settings” você perceberá que o nome do “profile” salvo no passo anterior
aparecerá na lista.

<-Profile criado no passo anterior.


Figura 46 – Tela com relação de profiles.

O próximo passo será atribuir uma seqüência de teclas para ativar essa resolução, que são chamadas de
“Hot Keys”. Com isso você poderá alternar entre várias resoluções com um simples apertar de teclas. Para isso,
clique na imagem do botão “Hotkey Mannager” que fica entre a caixa de rolagem e o botão “Save as...”, com isso
irá abrir essa janela:

Figura 47 – Tela de configuração de HotKeys.

Para atribuirmos as teclas de atalho para nosso “Profile”, basta clicar na caixa de rolagem onde está
escrito “Functions and profiles”, e localizar nosso profile criado (obs: os profiles recentemente criados geralmente
ficam no final da lista). Com nosso profile selecionado, basta selecionar agora a seqüência de teclas que irá ativá-
lo. Repare que eu usei “CTRL+ALT+F3”, para ativar o profile “Monitor PC 800x600x32”. Agora clique em “Add
binding” e o nosso “HotKey” estará pronto para ser usado. Clique em “Close” para fechar essa janela.

OBS: grave bem os passos acima, pois serão utilizados posteriormente para criarmos um novo “Profile” e
um novo “Hotkey” para a resolução “Monitor Arcade”, e podem ser utilizado também para adicionar qualquer outra
resolução que desejar (veja na lista que eu criei 3 resoluções diferentes 2 para monitor de pc e uma para o monitor
arcade).

Agora que já sabemos como criar nossos “Profiles” e “Hotkeys”, vamos ao que interessa: criar uma
resolução para funcionar no monitor arcade. Para isso, na janela “Display Profiles” clique no botão “Advanced
timing options...”, deverá abrir a seguinte janela:
Figura 48 – Tela Advance timing options.

Agora clique no botão “Custom resolutions”, e deverá aparecer essa nova janela:

Na caixa de rolagem à esquerda, selecione a resolução “640x480i (Arcade)” (geralmente é a ultima opção
na caixa de rolagem). Agora teremos outro passo muito importante, pois a maioria se enrola nesse ponto: repare
como essa janela irá ficar após ter selecionado a resolução “640x480i (Arcade)”.

Figura 49 – Tela de seleção de profiles.


Agora o passo importante!!!! Veja nessa outra imagem (local marcado em vermelho) o local onde você
deve dar um “DUPLO CLIQUE”, ou seja, bem em cima de onde está escrito “New resolution”.

Figura 50 – Faça um duplo clique na área em vermelho.

Feito isso aparecerá a caixa de mensagem abaixo, perguntando se você deseja desativar o “Tiling”, então
clique em “Yes”.

Figura 50 – Tela para desativar o Tiling.

Agora aparecerá uma mensagem perguntando se deseja reiniciar o computador. Responda “Yes” e deixe o
PC reiniciar. Quando o PowerStrip for iniciado novamente ele poderá usar o tal “Tiling”, que permite o
entrelaçamento da imagem - essa opção que permite que o PowerStrip sincronizar a resolução 640x480 a 15Khz
para o nosso monitor arcade.

Agora vamos adicionar a resolução para o monitor “ARCADE”. Powerstrip carregado clique com o botão
direito no ícone que se encontra no “system tray”:

Figura 51 – ícone do PowerStrip.

Navegue até a opção “Display Profiles” e na janela ao lado clique em “Configure...”, agora na janela
“Display Profiles
Figura 52 – Tela Display profiles.
Nessa janela clique em “Advanced timing options”, e a próxima janela se abrirá.

Figura 53 – Tela Advanced timing options.

Clique em “Custom resolutions...” e na próxima janela selecione a resolução “640x480i(Arcade)” que está
no final da caixa de lista.
Figura 54 – Tela custom resolutions.

Feito isso clique em “Add new resolution”, o monitor irá dar uma piscada e aparecera uma caixa
mensagem informando que a placa de vídeo aceitou a configuração e se você deseja testá-la.

ATENÇÃO
Ao clicar em “Yes” para confirmar, o Powerstrip aplicará essa resolução, fazendo com que o
monitor de PC seja desligado. Nesse momento você deve conectar o cabo de vídeo do monitor
arcade, pois o PowerStrip aguardará em torno de 10 segundos. para que você confirme se a
resolução escolhida está funcionando corretamente e caso você não confirme a resolução
anterior será restaurada, mas esta mensagem só poderá ser vista no "monitor árcade, pois a a
freqüência gerada é muito baixa para o monitor de PC - um monitor de PC geralmente precisa
de pelo menos os 31Khz para funcionar corretamente.

Siga os seguintes passos:

1º Verifique se o foco da caixa de mensagem está no botão “OK” (o botão fica com o contorno diferente) e
caso não esteja, aperte a tecla TAB uma vez para alterar o foco para o botão “OK”;
2º Troque o cabo de vídeo do monitor de PC para o monitor arcade;
3º Aperte a tecla ENTER no teclado

Se os passos foram seguidos corretamente, então agora você deve estar vendo o seu desktop no monitor
arcade. Se a imagem ficar tremida utilize a janela “Advanced timing options” para fazer ajustes mais precisos
(observação: geralmente só é nescessário dar um pequeno ajuste no “Refresh rate” deixando ele em torno de
29.000 hz).

Feito isso basta clicar em “OK” para salvar essa resolução.

Agora basta criarmos um novo profile para resolução arcade. Na janela “Display Profiles”, clique em “Save
as...” e salve esse “profile’ com o nome de “Monitor Arcade” assim:
Figura 55 – Tela para salvar profile.

Como já foi explicado antes, agora clique no botão “HotKey Mannager”, navegue na caixa de rolagem e
selecione o profile que acabamos de criar “Monitor Arcade”, e com ele selecionado escolha as teclas para o hotkey
(eu usei CRTL+ALT+F5), agora é só confirmar clicando em “Add binding”, a janela deve ficar parecida com essa:

Figura 56 – Tela Hot Keys.

Se tudo ocorreu bem, agora você terá duas seqüências de teclas para alternar entre o monitor de PC e o
de árcade, que são:
CTRL+ALT+F3 = MONITOR PC.
CTRL+ALT+F5 = MONITOR ARCADE.

Sequindo os passos descritos em “Profiles” e “Hotkeys”, você pode adicionar quantas resoluções achar
necessárias.

3.2 - AMPLIFICAÇÃO DO SOM

Essa é outra parte muito simples. Na internet você irá encontrar vários 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 também é usado em muitas "plaquinhas jammas", o
esquema mostrado abaixo pode ser encontrado no site "http://www.mameworld.net/pc2jamma/hardware.html".
Figura 57 – Desenho da placa para sincronismo composto.

3.3 - CONTROLE ( JOYSTICK OU TECLADO ??? )

Quando visitamos sites relacionados ao assunto o que mais vemos são dúvidas em relação a qual seria o
melhor tipo de controle a ser usado, visto existirem vários métodos que podem ser utilizados. Na minha opinião, o
mais fácil, rápido e barato é o uso de joysticks que podem ser tanto os adaptados a porta paralela quanto os USB.

Segundo um artigo que eu li, os USB levam uma vantagem em relação aos adaptados para a porta
paralela porque possuem o seu próprio controlador e os adaptados necessitam que o processador faça o trabalho.
Embora concorde com esse artigo, eu já fiz uns testes e não notei diferença alguma, mas fica ai um alerta.

A "plaquinha jamma" que aparece no inicio do tutorial é a que eu uso. Ela simula até 4 controles de
supernintendo, é adaptada a porta paralela e funciona perfeitamente sem delays – atraso entre o apertar a tecla e
a execução do comando. O esquema de montagem desse tipo de controle pode ser encontrado no fórum, na
sessão tutoriais. Mas a forma mais fácil de se fazer os controles é desmontando um joystick de playstation e
soldando os fios diretamente nos micros dos botões árcade. Este método é super simples, rápido e muito barato -
aqui em São Paulo esses controles são encontrados a um preço que vária de R$ 5,00 á R$ 10 no máximo. Então
caso algum venha a queimar a manutenção será rápida e barata.

Como você deve ter observado, para todos os emuladores eu usei o "joytokey" para simular teclas através
do joystick, e com isso não foi percebido nenhum tipo de incompatibilidade, esse esquema 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 tão falada "placa jamma" se encaixa nessa história ? em
primeiro lugar, "jamma" é um padrão inventado pelos japoneses para facilitar e padronizar as placas de jogos,
com isso a cada nova placa de jogo que saia o dono dá máquina não precisa de manuais para saber onde cada
fio deveria ser encaixado.
Figura 58 – Definição dos pinos da placa jamma.

Como você pode observar, o padrão jamma é composto de 56 pinos.

Figura 59 – Conectores da placa jamma.


A figura acima mostra os conectores jammas encontrados nas maquinas arcades, e depois de montados
temos o que chamamos de “chicote”.
Figura 60 – “Chicote” da placa jamma.

Em resumo, uma "plaquinha jamma" para multijogos simplesmente reúne os 3 circuitos mencionados
(junção de sincronismo, joystick, amplificador de som) e os disponibiliza no padrão jamma, ou seja, você pega a
"plaquinha jamma" e encaixa no chicote da maquina, isso serve somente para nível de organização e aparência,
e como já foi mencionado a "plaquinha jamma" é totalmente dispensável podendo tudo ser encaixado diretamente
na máquina.

Bom, isso é quase tudo!!! Falta agora somente fazer uns scripts que serão usados para fazer a manutenção
de uma forma automatizada, e um outro script que será usado para manipular as configurações de fichas, tempo,
bloqueio do menu, contador de fichas e iniciar o AdvanceMenu, que será colocado no lugar do "Explorer" para que
inicie junto com Windows.

3.4 - SCRIPT PARA MODIFICAR AS CONFIGURAÇÕES DE FICHAS.

Esse novo script tem a seguinte tela:

Figura 61 – Tela do script de configuração de tela.

Este script poderá ser utilizado no lugar do Explorer (recomendado) ou no "menu iniciar". Com isso, assim
que o Windows terminar a inicialização, o script será executado e dependendo da escolha carregará o
AdvanceMenu automaticamente.

Para adicionar esse script no "menu iniciar", basta criar um link e apontar o local onde se encontra o script
ou então adicionar uma entrada direto no registro do Windows – mais abaixo contém as entradas para realizar
essa tarefa. A melhor opção, ao meu ver, é usar o script no lugar do "exeplorer.exe", pois as vantagens são
enormes,: primeiro, será a economia de memória; segundo você terá um desktop "limpo" sem nenhum ícone
visível, 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 é possível acessar tudo.

Essas são as entradas de registro que poderão ser alteradas ou adicionadas - se quiser testar basta
copiar o conteúdo desse bloco e colar no "notepad" e depois salvar esse arquivo com a extensão ".reg" e depois
dar um duplo clique no arquivo ".reg" criado 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 então corrija para o caminho correto onde se encontra o script "BRarcade.exe".

Assim que o script iniciar será mostrado um contador em contagem regressiva, iniciando em "5", e quando
o contador zerar o AdvanceMenu será inicializado. Caso você pressione o "botão10" do joystick antes do contador
terminar será mostrada a janela de configuração, que permite alterar os valores de fichas, zerar fichas, zerar
contador, bloquear ou desbloquear o menu. Para navegar pelas configurações usa-se o direcional do joystick
(cima = aumenta o valor; baixo = diminuí o valor; direita = vai para o próximo item; botão1 = aciona o botão
selecionado ( ZERAR, SALVAR ou SAIR ), ao selecionar o botão [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 são mostrados várias funções novas que podem ser exploradas para que
tenha um visual diferente, toque música ou exiba um logo-tipo na inicialização, isso só irá depender da sua
criatividade.

Link para download do pacote com o novo script, source code, etc... ARCADE(4).RAR
http://www.4shared.com/file/76112172/c4571114/ARCADE_4_.html

Você também pode gostar