Pages

sexta-feira, abril 03, 2009

Epsxe controle e emulador de playstation no linux

Como você deve ter percebido, ultimamente tenho dedicado algumas matérias aos jogos disponíveis no Linux. Embora o número de títulos que rodam nativamente no Linux ainda estar muito longe de alcançar algo próximo do que temos disponível no Windows, é interessante perceber que juntando os jogos comerciais com alguns títulos open source como o Cube (que acabou se tornando um dos meus games preferidos... :) até mesmo um gamer pode sobreviver usando apenas o Linux.

Aproveitando o embalo, vou continuar a série falando um pouco sobre o Epsxe, que permite que você rode aquela pilha de CDs de playstation que você deve ter encostada em algum lugar. Este artigo foi escrito com a ajuda do Megatron, que disponibilizou o arquivo do epsxe e deu a dica de como ativar o joystick no fórum do Kurumin :)

Em primeiro lugar você precisa instalar o Epsxe. A página oficial é a http://www.epsxe.com/, onde você vai encontrar os downloads para Linux e também para Windows. Mas, o jeito mais fácil é baixar o arquivo disponibilizado pelo Megatron, ele já vem pronto para rodar, basta descompactar o arquivo (em qualquer lugar) e rodar o comando "./epsxe":



Na primeira tentativa você notará duas coisas: é realmente muito ruim jogar com o teclado e possivelmente o jogo vai estar rodando mais lento do que você gostaria. Vamos então aos ajustes :)

O primeiro passo é arrumar um joystick de playstation adaptado para ser ligado na porta paralela do micro. Você já deve ter visto destes pra vender nos sites de leilão e até mesmo em algumas lojas de informática. Eles não são caros, em média uns 20 reais. Se você tiver um ferro de solda por aí, pode até mesmo tentar fazer o seu, seguindo as instruções desta página: http://www.emulatronia.com/reportajes/directpad/psx/index.htm



O próximo passo é ativar os módulos que dão suporte ao joystick. São apenas dois módulos, o joydev e o gamecon que geralmente já vem nas distribuições. Antes de carregá-los você deve verificar também se os dispositivos do joystick já estão criados dentro do diretório /dev. A lista completa dos comandos é um pouco extensa então eu recomendo que você simplesmente faça um shell script e execute quando precisar.

É bem simples, crie um arquivo de texto e cole os comandos dentro dele. Depois de salvar marque a permissão de execução nas propriedades do arquivo ou use o comando "chmod +x arquivo". A partir daí é só chamá-lo com o comando "./arquivo" para que todos os comandos sejam executados de uma vez só.

# Algumas verificações diversas:
cd /dev
rm js*
mkdir input
mknod input/js0 c 13 0
mknod input/js1 c 13 1
ln -s input/js0 js0
ln -s input/js1 js1
mknod input/event0 c 13 64
mknod input/event1 c 13 65

# E o principal:

rmmod lp
sudo modprobe joydev
sudo modprobe gamecon gc=0,7

O próximo passo é instalar o Xjoypad, um programinha que converte os sinais recebidos do joystick em teclas do teclado. Quando você pressionar o botão "X" do controle o sistema acha que você pressionou a tecla 3 por exemplo. Ele é interessante pois pode ser usado não apenas no Epsxe mas também em outros emuladores ou em qualquer game que utilize o teclado. Basta configurá-los para usar as teclas emuladas pelo controle.

Você pode baixar essa pequena maravinha no: http://downloads-guiadohardware.net/xjoypad.zip

Descompacte o arquivo (use o comando unzip se quiser fazer via terminal), acesse a nova pasta que será criada e copie o arquivo "xjoypad" para a pasta /usr/local/bin, assim ele se transformará num comando do sistema e você terá mais facilidade para chama-lo:

cp xjoypad /usr/local/bin

Feito isso você só preciso deixar o comando residente. Adicione mais este comando no seu script:

xjoypad -device /dev/js0 &

Agora, se você for em Config > Game Pad > Pad 1 no Epsxe, poderá configurar os botões do joystick, inclusive trocando as funções do botões se quiser:



Agora que o problema do joystick está resolvido, vamos dar uma arrumada no quesito desempenho.

Como era de se imaginar, as configurações do vídeo são as principais responsáveis por ele. O Epsxe inclui várias opções para melhorar a qualidade de imagem, indo bem além do que um simples playstation faz. Mas, estas opções afetam o desempenho então você vai preferir passar sem elas na maior parte do tempo.



O default é utilizar o driver MesaGL, que é o mais rápido mas exige que você tenha uma placa 3D instalada. O ideal é ter uma placa nVidia ou uma ATI Radeon com os drivers 3D oficiais, mas se você estiver utilizando uma distribuição que já venha com o Xfree 4.3 você vai conseguir se virar com algumas placas SiS e as onboard dos chipsets Intel.

Testei tanto com uma TnT2 quanto com uma GeForce 4 MX SDR num Celeron 600@900 (usando os drivers da nVidia) e com ambas o desempenho foi visualmente muito parecido. Aparentemente não é preciso uma placa 3D tão poderosa assim, desde que o 3D realmente esteja realmente habilitado.

Se você não possui uma placa 3D, existe a opção de utilizar o driver SoftX, onde toda a renderização é feita via software. Como era de se esperar ele é mais lento, se você tiver menos que um Athlon 1600+ provavelmente só conseguirá jogar a 320x240.



Existem muitas opções dentro da configuração de cada um dos dois drivers, você pode ir testando várias combinações até encontrar a melhor relação entre qualidade de imagem e performance no seu micro. A configuração que deu melhores resultados no meu Celeron 600@900 + drivers da nVidia foi:



A opção "fullscreen" não funciona corretamente em todos os casos. Depende do driver de vídeo que estiver sendo usado. Com os drivers da nVidia o emulador conseguia entrar e sair do fullscreen normalmente, mas utilizando o drivers genéricos como o fbdev ou o vesa a imagem virava um quadradinho no topo da tela. Existe um truque você pode usar neste caso: pressionando Ctrl+Alt+ - (a tecla menos do teclado numérico) você vai mudar a resolução de tela. Isso não vem ativado em todas as distribuições.

Aqui está um screenshot do Resident Evil Nemesis utilizando as configurações de vídeo da janela acima:



Este game ainda ficou um pouco abaixo da velocidade normal no meu Celeron ao rodar a 640x480, algo perto de uns 10 ou 20% que até ajudam na hora de enfrentar o Nemesis... :) Consegui ganhar mais um pouco de desempenho mexendo também nas configurações do som, deixando ele próximo do desempenho normal. O joystick prejudica um pouco o desempenho, sem ele consegui rodar na velocidade normal mesmo ativando vários dos efeitos visuais, mas acho que não vale à pena tentar passar sem ele... :)



Veja que entre as opções do vídeo existe uma opção chamada "Frame Skiping". Como o nome sugere, esta opção faz com que o sistema renderize apenas metade dos frames. A movimentação perde um pouco da qualidade, mas em compensação o emulador passa a utilizar muito menos processamento, em torno de 60% do que seria necessário sem ele. Ele é a melhor solução para poder rodar a 640x480 em micros mais lentos.

A configuração mínima para jogar com joystick, a 640x480 e sem ativar o frame skiping seria aproximadamente um Pentium III ou Duron de 1.0 GHz com uma placa 3D. Com um micro mais lento você escolhe entre ativar o frame skiping, desativar o joystick, baixar a resolução ou as tres coisas ao mesmo tempo, dependendo do que tiver em mãos.

Outra coisa interessante é que se você tiver uma máquina razoavelmente rápida e desativar a opção "Enable FPS Limit" ao mesmo tempo em que habilita o frame-skiping vai fazer o game ficar mais rápido que o normal. Ideal para treinar os reflexos ou jogar RPGs... :-)

Este teste foi feito no Kurumin, mas as instruções servem para qualquer distribuição. Aproveitei para incluir um ícone mágico no Kurumin, se você atualizar os scripts de instalação vai ter acesso ao script mais atual, que já instala e ativa o suporte ao joystick.

Depois de tudo isso, chegamos à velha pergunta. Será que não é melhor comprar logo um playstation? Bem, como vimos, existem algumas vantagens em usar o emulador. Se você tiver uma placa nVidia e um processador razoavelmente rápido, você terá uma qualidade muito melhor com o emulador do que com a televisão. Eu sempre achei a imagem do playstation muito ruim comparada com a dos jogos pra PC, mas depois de ver os gráficos no monitor vi que boa parte se devia à TV :)

Outro ponto a considerar é que com o dinheiro de um playstation novo você pode comprar uma GeForce 4MX SDR (US$ 60 em média) e mais um pente de memória ou quem sabe um processador um pouco mais rápido. Com isso você já vai ter o suficiente para rodar o emulador com qualidade e ao mesmo tempo terá um PC melhor no resto do tempo.

A menos claro que você esteja pensando num PS 2, este anda vai demorar um pouquinho para ser emulado com qualidade no PC. Embora um micro atual, um Athlon com uma GeForce 4 por exemplo tenha uma capacidade de processamento bem superior à de um PS/2, emular instruções sempre é uma tarefa cara, tanto que você precisa de um Pentium para emular um Mega Drive, um console que na melhor das hipóteses equivale a um 286 com uma placa Hercules. Nesta escala o PlayStation 1 equivaleria mais ou menos a um 486 com uma placa Voodoo1.

A emulação funciona bem com consoles relativamente antigos, que já possuem um hardware ultrapassado. Sempre demora vários anos até que exista hardware poderoso o suficiente para dar conta dos emuladores para novos consoles. A corrida continua.

Nenhum comentário:

free counters

Divulgue seu produto ou serviço de maneira rápida, objetiva e eficiente no BLOG do FELIPE.


Publique seu anuncio, produto,serviço etc... em nosso BLOG que está tendo mais de 500 visitas por dia entre em contato com o
BLOG DO FELIPE.

È necessário uma conta no pagseguro para efetuar o pagamento ou por deposito bancario.

segue dados aqui:



Banco - 237
(Bradesco)
Agência - 0325
Conta Poupança - 0113585- 6


Itaú

Agência- 8237

Conta- 1539 - 0

Nome - Andre Felipe Idiarte


o valor é R$ 5,00 Reais cada semana, se alguem estiver interessado entre em contato com meu e-mail :

john18lennon@gmail.com

Contribua você Também... Ajude o blog a Permanecer Online!!

PEQUISAR

MURAL de RECADOS

FELIPE CULT Headline Animator