terça-feira, 23 de abril de 2013

Faça um video-game com o Raspberry PI

tempo total de escrita desse post - 4 horas e 15 minutos (21/04/2013 -- 23/04/2013)

Salve nerdaiada !!!


A algumas semanas estava pensando o que mais poderia fazer com o Raspberry PI que está "sobrando" em casa e resolvi instalar o Raspbian, que nada mais é do que um desktop baseado no debian para rodar no RPI. 
Depois de instalado, achei ele legalzinho para se ter um "desktop" ambulante em qualquer lugar, tendo que ter apenas um teclado + mouse + TV/monitor + internet emprestado para acessar a internet de qualquer lugar, usar uma VPN para o trabalho, ou qualquer coisa do tipo sem precisar usar um PC que você não conhece, na casa de uma tia por exemplo. Eu sei, eu sei... alguns vão pensar "smartphone e tablet existem para isso seu nerd gordo", mas e se eu não QUERÊ USÁ um smartphone ou um tablet ?

Mas pensando bem, era uma ideia idiota mesmo, ter um RPI na mochila para fazer o que falei no paragrafo acima. Tenho um tablet e smartphone pra quê ? :D Ai tive uma epifania, uma ideia espetacular, uma ideia genial, uma ideia... pensando bem, foi só uma ideia mesmo... "E se eu instalar alguns EMULADORES no RPI ?"

Todos sabem o quanto eu gosto de jogar video-game e o quanto eu gostaria de jogar MAIS video-game (isso nao vem ao caso agora). Deixa abrir um colchete aqui e explicar rapidinho.

[ A 1 ano e alguma coisa atrás comprei um WII apenas para jogar super-nintendo e mega-drive emulado, mas ter mais um vide-game no rack, ocupando mais um espaço e tendo que ouvir "para que tanto cabo ? para que tanto video-game?" resolvi dar o WII para meu pai e fazer um velhinho tatuado feliz :D e assim minha vontade de jogar os video-games da minha infância tinham ido para o beleléu. ]

Mas chega de lenga-lenga e vamos ao que interessa. Achei um projeto chamado RetroPI - http://retropi.of.je/ - que nada mais é do que um projeto para unir praticamente todos os emuladores de video-games antigos em um único lugar. Pensei: perfeito para mim, vou instalar o cara e foi o que fiz nesse final de semana e resolvi compartilhar com vocês como instalar o RetroPI.


Coisas que você vai precisar para esse "projeto":

- 1 RaspberryPi
- 1 Cartão SD de pelo menos 4GB
- Teclado USB
- Joystick USB (aqueles iguais do Pristeichon)
- 1 ISO do raspbian
- Paciencia, muita paciencia.

Passo 1 - Baixando e instalando o raspbian

Os passos serão feitos no linux OK ? para instalação via Windows, consultem o post anterior de como fazer a instalação pelo Windows clicando AQUI


Bom, tive alguns problemas com a instalação do raspbian, porque pensei que era apenas jogar a ISO para dentro do cartão SD e correr para o abraço. É basicamente isso, mas tem um pulo do gato nesse processo.

Geralmente faria assim a cópia da ISO para o cartão SD


dd if=2013-02-09-wheezy-raspbian.img of=/dev/sdd



Tentei isso 3x e o RPI não dava boot nem a pau, ai vi que no manual do DD é possivel limitar a quantidade de dados que são escritos por segundo na copia. Cheguei a segunte linha para copia da ISO sem ter problemas no boot:


dd bs=4M if=2013-02-09-wheezy-raspbian.img of=/dev/sdd




Após a cópia, coloque o cartão no RPI, dê um boot no menino e quando aparecer o menu do Raspi-config entre no item expand_rootfs para expandir a instalação do raspbian para o tamanho total do seu cartão. Feito isso, saia da tela de config. Obrigatoriamente o RPI vai rebootar e quando ele voltar vamos começar a instalação do RetroPI.

O usuario e senha padrão do Raspbian é pi / raspberry

Agora basta seguir os comandos abaixo e esperar a instalação inicial.


Passo 2 - Atualizando o raspbian e instalando o RetroPI e o EmulationStation

A primeira coisa é fazer um update nos repositorios do raspbian.


sudo apt-get update


sudo apt-get upgrade -y
O proximo passo é instalar o git e o dialog via apt-get

 sudo apt-get install -y git dialog
Aguarde a instalação dos 2 pacotes e baixe o RetroPI pelo git e inicie a instalação


git clone --depth=0 git://github.com/petrockblog/RetroPie-Setup.git
cd RetroPie-Setup
chmod +x retropie_setup.sh
sudo ./retropie_setup.sh


Na tela de instalação do retropi, existem algumas opções, vamos direto para a segunda opção - Source Based Installation - e pressione enter.

Aparecerão todos os emuladores disponiveis no retropi: AMIGA, AMIGA2 MSX, NEO-GEO, MEGA-DRIVE, MASTER SYSTEM, NES, SNES, MAME, PLAYSTATION, DOS, SCUMMVM, WOLFEINSTEN 3D, DUKE NUKEM, DOOM e mais alguns.

Eu fiz um teste em casa selecionando todos os emuladores... lembra que falei que um dos itens que precisava para a instalação era a paciencia ? Então, demorou 19 horas para compilar tudo no RPI. Então sejam inteligentes, selecionem apenas o que vocês realmente querem emular (vou refazer o meu nesse final de semana).

Iniciando a instalação abandone o RPI, porque realmente o treco demora. Quando finalizar, a instalação vai voltar para a tela inicial do setup. Agora, entre novamente na segunda opção e em seguida na quinta opção - Start EmulationStation on boot” - e pressione enter. Isso irá configurar o raspbian a entrar automaticamente no EmulationStation no boot.

Saia do menu de setup e o RetroPI está praticamente pronto para ser usado. Antes do boot, veja qual IP o RPI pegou, caso você não tenha fixado o IP nas configurações. Isso vai ser necessario para jogar as ROMS no diretorio para você começar a jogar.

Passo 3 - Considerações finais

para inciar um jogo ou fechar é auto-explicativo na tela, basicamente é tudo feito pela tecla F4 ou F6 do teclado (ou bind de teclas configuradas no joystick)

ROMS: 

Você tem que copiar as ROMs via scp/winscp para o diretorio do emulador correspondente dentro de ~/RetroPie/

Não vou colocar aqui endereço para nenhum site de ROM, google tá ai e ele é seu amigo. O que você precisa saber é que deverá colocar os ROMS em seus respectivos diretorios, descompactadas. ROM de SNES no diretorio SNES


Joystick:

Teste usando um joystick generio USB de playstation e funcionou sem problemas apos o boot do RPI. Vou testar usando também o joystick do PS3 via USB e o do XBOX360 conectado via cabo para ver se funciona. Se funcionar, atualizo o post.

para configurar o seu joystick, rode o seguinte comando:


cd RetroPie/emulators/RetroArch/tools
./retroarch-joyconfig >> ~/RetroPie/configs/all/retroarch.cfg

Siga as instruções do site do desenvolvedor, está muito bem explicado como configurar os controles - RetroPi Setup - Joystick

Se você quiser, pode comprar também um joystick original do video-game e usar um adapador para USB. No site RetroUSB tem alguns modelos que funcionam no RPI.

Links relacionados:
Raspbian - http://www.raspbian.org/
RetroPI - http://retropi.of.je/
FarnelBrasil - http://www.farnellnewark.com.br/