• Nenhum resultado encontrado

multijogos_caseira_brbranco p~kjlm jbk. kljhkljblkjblkj nmknbk.mnljnlmn

N/A
N/A
Protected

Academic year: 2021

Share "multijogos_caseira_brbranco p~kjlm jbk. kljhkljblkjblkj nmknbk.mnljnlmn"

Copied!
49
0
0

Texto

(1)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 )..

(2) 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:.

(3) 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.

(4) 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..

(5) Agora clique no ícone com duas engrenagens exibido essa nova janela:. para entrar na tela de configuração, com isso será. 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..

(6) 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 formando um circulo) e será mostrada uma lista com as configurações salvas.. (setas. 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)..

(7) 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..

(8) 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"="".

(9) 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.

(10) 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.

(11) 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-ewfregular-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..

(12) 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-BEC708002BE2092F}].

(13) "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.

(14) 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..

(15) 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.

(16) 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..

(17) ƒ. 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.

(18) 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.easyshare.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:.

(19) ƒ. #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).

(20) 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 "--useconfig-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"..

(21) 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..

(22) 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:.

(23) 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..

(24) 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..

(25) 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"..

(26) 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..

(27) 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..

(28) 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..

(29) 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..

(30) .....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..

(31) Figura 30 – Nvidia Control Panel GForce FX 5200.. O importante mesmo é chegar e acessar a seguinte janela:. Figura 31 – Nvidia Control Panel..

Referências

Documentos relacionados

que a população tem direito, como Transportes da Secretaria de Saúde o Ambulâncias Novas, UTI Móvel, Veículos senhor Francisco Belinho de Almeida, o para o Transporte de

NASF (Núcleo de Apoio à Saúde da Família)  Os NASF fazem parte da atenção básica, mas não se constituem como serviços com unidades físicas independentes ou especiais, e não

Para isso trabalhamos a subjetividade com nosso publico alvo associando a temática do programa a sua vida pessoal, através da enquete no facebook em que o

Efeito de distúrbios antrópicos no sucesso de forrageio de ambas as espécies A presença de pescadores e animais domésticos durante o forrageio de cada espécie nos

Enfim, de modo nada romântico, o narrador conclui essa discussão entre a consciência e a fome submetendo a sabedoria, a razão e o sublime Logos ao estômago, para não

Nos últimos 30 dias, quantas vezes você ajudou, lembrou ou insistiu com (Nome) para ele(a) se ocupar com alguma coisa, não ficar à toa, usar o seu tempo para fazer alguma coisa,

e temática de uma carta topográfica produzida/publicada há mais de quarenta anos, é possível concluir que não é prudente utilizar material antigo como fonte de

MATEUS VALÉRIO DA COSTA JOÃO PAULO SOUZA MADEIROS DANIEL DE SOUZA MEDEIROS RITA DE CÁSSIA SILVA OLIVEIRA DANIELA YASMIM MORAIS COSTA DALIELMA VANESSA DA SILVA JOÃO VITOR