sábado, 26 de março de 2011

Transformando um antigo computador em um videogame

Nossa geração, o pessoal dos trinta, já viu passar os 386, 486, os primeiros Pentiums, os MMX, os pentium II, III IV e agora vê os dual e quad core dominarem o mercado. É bastante evolução para apenas 15 a 20 anos de computador pessoal.

Em todo este tempo, na maioria das vezes em que eu fazia um upgrade, ou seja, comprava um novo computador, o meu antigo ia para alguém que ainda não tinha um PC. Nunca consegui vender um computador usado mesmo a qualquer preço. A tecnologia faz tudo virar lixo eletrônico em um click de mouse.

Por causa do aumento no números de pessoas que possui computador, e da relativa diminuição de preço do produto, minhas últimas três gerações de PC estão aqui em casa mesmo, sendo que um está acumulando poeira e não serve para nada. Vender ou mesmo doar esta máquina está fora de cogitação, não roda nem o windows XP direito! Que dirá se for instalado algo mais moderno para as necessidades de hoje.

Resta então usar este computador para fazer estripulias usando linux, apenas para testes sem qualquer aplicação prática. Dentre estas peregrinações tive a idéia de transformar um PC antigo, um Celeron 2.66GHz, em um múltiplo videogame.

A máquina encostada possui grande poder de processamento, e embora não funcione bem com o XP Service Pack 3, pode-se rodar com folga todos os emuladores até o Playstation 1, bastando para isso possuir alguma aceleração 3D.

Colocando uma placa de vídeo RADEON 9200, que estava encostada aqui em casa, cumpri este requisito, e agora basta correr atrás de algum software que faça o "Front End" para os emuladores, ou seja, que crie uma interface fácil de usar para carregar os programas e os jogos.

Como inicialmente eu já estava inclinado a instalar um linux, tentei logo uma versão que vem com os emuladores incluídos, chamada Puppy Arcade. Abaixo há um vídeo encontrado no youtube que mostra a interface gráfica desta distribuição.


O Puppy já está na versão 10, sendo bastante fácil instalá-lo. Na verdade, você não precisa nem particionar o HD para testar, pois assim como várias distribuições de linux há um CD LIVE que pode ser baixado. O computador dá o boot direto pelo CD e carrega a interface gráfica para que você possa usar os emuladores.

Lógico que você ainda precisa baixar as ROMs, ou seja, cópias dos chips, cartuchos, CDs ou DVDs dos jogos originais. Existem muitos sites em que você pode fazer isso, entre eles o mameroms.co.cc, segaroms.co.cc, supernesroms.co.ccemulabr.com.brromhustler.netwww.rom-world.com e outros.

Com o HD, DVD ou Pendrive lotado dessas ROMs, o Puppy linux monta a unidade e você carrega os jogos clicando nos ícones na parte inferior da tela. Você pode jogar Arcade (fliperama) com o MAME, jogos de Mega Drive com o Picodrive, de Super Nintendo com o Snes9x, de Nintendo 64 com o Muppen e até mesmo arranhar games da década passada com o emulador Epsxe de Playstation 1.

O grande problema do Puppy é o mesmo de todo linux, peca na interface, na praticidade, na facilidade de configuração e na instalação de novos softwares. Depois de muito tempo consegui ajustar o sistema para ficar controlável usando-se apenas o Joystick, aspecto primordial em qualquer sistema que se propõe a ser um videogame. Mesmo assim não ficou como eu queria.

Alguns emuladores, dentre eles o muppen e o picodrive, não funcionaram muito bem no Puppy, travando e deixando a desejar em diversos momentos. Tentei buscar novas versões deles, mas sempre esbarrava na falta de desenvolvimento para linux. No final eu mesmo tinha que baixar os arquivos fontes para compilar o emulador na minha máquina, coisa que estoura a paciência de qualquer um.

Além disso, a saída de vídeo composto, necessário para ligar o computador-videogame à televisão, só funcionou depois que eu encontrei em um fórum do Ubuntu a idéia de editar um arquivo perdido no /etc/conf/. A falta de ajuda na internet para instalar ou configurar linux já é bem grande, imagina para uma versão não usual como este Puppy.

Depois de algumas semanas tentando configurar o muppen para jogar Mario64 direito, desisti do linux e resolvi instalar um windows XP antigo, sem service packs, que roda até muito bem no desgastado idoso Celeron. Já estava até pensando em fazer uma adaptação para transformar o Joystick em mouse, passando a carregar os jogos em ícones do desktop. Foi aí que eu esbarrei no software Maximus Arcade.


O Maximus não é um emulador, mas sim o chamado "Front End", um software capaz de criar uma interface gráfica para os programas emuladores. Aí é só criar um diretório para cada emulador que você quiser baixar, usando os links que eu passei anteriormente. No windows existem mais opções para emuladores, sendo o que o melhor para nintendo64 passa a ser o project64 e o melhor para Mega Drive passa a ser Fusion. Todos os outros funcionam da mesma forma, bastando para tal instalar a versão windows.

O Maximus tem uma tela de configuração onde se indica o diretório e arquivo executável de cada emulador, além da pasta onde estão as roms. A partir daí você passa a controlar toda a interface com o o Joystick, incluindo escolher o jogo, rodar o emulador, sair do jogo e desligar o computador. Um exemplo de configuração para o emulador de Mega-drive é mostrado abaixo:


Para funcionar corretamente, deve-se configurar o Joystick em cada emulador por fora do FrontEnd, e no Maximus deve-se indicar uma combinação de botões para sair do jogo e voltar à interface. Aqui no meu Joystick tipo PS2, eu ajustei para isso acontecer apertando-se as teclas SELECT+START por dois segundos. Ainda configurei para dar Shutdown no computador apertando L1+R1+L2+R2 por quatro segundos, assim eu não preciso de teclado ou mouse no PC. Tudo isso deve ser feito na tela "Controller Mapping" do Maximus, mostrada abaixo (setup 1 e 2).


Para facilitar o processo, fiz todas as configurações do MAXIMUS e dos emuladores usando meu PC principal e depois copiei todos os arquivos usando a rede para o computador a ser transformado em videogame. Fazer isso funcionar direito entre dois windows é barbada, muito mais fácil do que configurar qualquer distribuição linux. Depois foi só esperar algumas horas para transferir uns 30Gb de roms que eu arrumei e passar a ter milhões de joguinhos antigos, desde aqueles da década de 80 até os mais "novos" de 2000 e pouco.

O grande Enduro do ATARI e um joginho fraquinho de PS1. (O Enduro está na esquerda!).

Colocando o computador velho atrás da minha TV de tubo tenho disponível ao clique do Joystick praticamente todos os jogos de clássicos e mais qualquer coisa que eu ainda queira adicionar. O Maximus suporta uma lista gigante de videogames e emuladores facilmente baixáveis, como 3DO, Atari 2600, 5200, 7800, 800/800XL, Atari Jaguar, Lynx, CPS3, ColecoVision, Commodore 64, DOSBox, FinalBurn, Kawaks, Odyssey, MAME, MSX, NES, Super NES, Nintendo 64, Gameboy, Dreamcast, Master System, ZX Spectrum, Neo-Geo, PS1, PS2 e muitos outros. Lógico, tudo dependendo de quanto espaço e capacidade sua máquina antiga tiver.

No meu Celeron tudo funcionou menos o emulador de PS2. Embora o Maximus dê um pouco de trabalho para configurar, foi bastante fácil considerando as cabeçadas que eu dei no puppy. No final valeu a pena todo o trabalho, que só gerou um grande inconveniente. De tanto "testar" o novo videogame eu acabei viciado em MarioKart64, que eu vou jogar assim que terminar este texto. Here we go-oo!

6 comentários:

Sergio Telles disse...

Dá pra fazer um artigo científico com isso...

Flávio Quintella disse...

Porque não comentou do 286 e XT, já que estamos falando da nossa geração......rsrsr...abraço

Diego Felipe disse...

Adorei a idéia que voce teve de trasformar em um Vídeo-Game. Existe na deal extreme um adaptador USB/cartuchoSNES ou MDRIVE que cairia bem junto ao projeto, podendo utilizar as fitas guardadas na gaveta, dando uma nova vida àquele jogo antigo.

ROGEL DE SOUZA SAMUEL disse...

excelente blog, o seu
um grande abraço

Anônimo disse...

Cara, curti muito o teu blog. Tenho um pc velho que transformei em game, mas quero ir mais além, quero transformar o gabinete em um console! tens alguma dica de como eu posso faze-lo?
olivernew2010@hotmail.com

Unknown disse...

otimo o seu trabalho,estopu tentando fazer isso mas numca imaginei que fosse possivel assim.