Como fazer um console retrô com Raspberry Pi

O Raspberry Pi pra quem não conhece, é um mini pc que cabe na palma da sua mão. Apesar do tamanho, ele tem todas as funções de um desktop comum e é utilizado da mesma maneira, com teclado, mouse e conectado a um monitor ou TV. O bichinho é tão poderoso que tem até mesmo saída HDMI.

Existe um projeto chamado RetroPi. Basicamente é uma imagem que você grava num cartão microSD (o Raspberry Pi tem um slot para esse cartão) que transforma seu Raspberry em uma central de emuladores com dezenas de consoles. Tudo já prontinho, você só vai ter o trabalho de jogar. Quer dizer, quase isso. Você ainda terá que configurar algumas coisas e baixar as Roms, depois copiá-las para o dispositivo.

Ingredientes

  • 01 Raspberry Pi (recomendo a versão 2);
  • 01 teclado USB;
  • 01 cabo de rede;
  • 01 cartão microSD de boa qualidade (ideal pelo menos 8GB);
  • 01 cabo micro USB (igual ao do carregador de qualquer celular Android);
  • 01 adaptador de microSD para SD;
  • 01 PC com slot para cartão SD (esse tutorial é direcionado para PC com Windows);
  • ISO do RetroPie;
  • Programa SDFormatter;
  • Programa Win32DiskImager;
  • 01 Joystick (recomendo o do Xbox 360 com fio);

Custo: aproximadamente 400,00 reais.

Começando

  1. Baixe a ISO do RetroPie, no site oficial. A versão atual é a 2.6. A 3.0 está em beta, não recomendo usar. Salve no seu PC;
  2. Abra o programa SDFormatter e formate o microSD que você pretende usar (ao abrir, ele já aponta direto pro microSD, mas tome cuidado pra não formatar o cartão errado);
  3. Abra o Win32DiskImager e grave no microSD a ISO do RetroPie que você baixou (observe a letra da unidade onde está o microSD, assim como no passo anterior);
  4. Insira o microSD na entrada correspondente no Raspberry Pi;
  5. Ligue o Raspberry Pi com tudo já conectado: teclado USB, Joystick, Cabo HDMI, etc;
  6. Nesse momento, o raspberry já encontra-se funcionando e o RetroPie vai carregar imediatamente, com tudo pronto, exceto as configurações que faremos depois;
  7. Na tela principal do EmulationStation, irá aparecer a mensagem de um Joystick detectado. Segure o botão A por uns segundos, depois configure os botões conforme a tela indica. O mesmo vale para o teclado, caso você não tenha conectado um joystick;
  8. Ainda na tela principal, aperte F4 no teclado. Você será direcionado ao prompt do Linux. Nesse início ter um teclado conectado é fundamental, sem ele não será possível configurar os passos seguintes;
  9. Digite “sudo raspi-config” (sem as aspas) e aperte enter. Lembre-se que comandos e nome de pastas no Linux são case sensitive;
  10. No menu seguinte, dê enter na opção 1 para expandir o sistema de arquivos. Isso fará o Raspberry usufruir de todo o espaço do seu microSD. O procedimento é rápido e logo depois o sistema voltará pra mesma tela que estava;
  11. Algumas pessoas gostam de ir na opção 7 (overclock) para aumentar o desempenho do Raspberry. Não fiz e não recomendo. Se quiser, arrisque-se;
  12. Também recomandam ir na opção 8 (advanced) depois na opção 1 (overscan). Essa opção normalmente é desabilitada pra que isso seja gerenciado pela TV;
  13. Saia dos menus (seta pra direita, depois cancel) e o Raspberry vai pedir pra dar reboot. Dê ok e reinicie;
  14. Quando o EmulationStation abrir de novo, aperte F4 e volte novamente para o prompt do Linux. Em seguida, digite “cd RetroPie-Setup/” (sem aspas). Lembre-se que os comandos são case sensitive. Tem que digitar as maíusculas e minúsculas certinho, senão dará erro.
  15. Digite “sudo ./retropie-setup.sh” (sem aspas). No menu que aparecer, vá para a opção 3 (setup).
  16. Vá para a opção 317 para configurar o seu joystick. Com o seu controle CONECTADO, aperte ENTER e o sistema irá pedir pra você apertar ENTER novamente quando estiver com o controle conectado e você estiver preparado para configurar os botões. Esse procedimento é chato, porém rápido. Você certamente vai errar no começo, porque são poucos segundos pra configurar um botão, caso você não aperte nada ele passa ao próximo. Mas não se preocupe, caso você erre, basta fazer de novo até ficar tudo certinho. Observe a parte dos analógicos, caso o seu controle seja um de Xbox ou um Dualshock. Essa parte confunde bastante. Quando terminar, aperte enter e ele volta ao menu anterior.
  17. Aperte pra direita no teclado e dê ENTER em CANCEL. Novamente seta pra direita, ENTER e CANCEL e estaremos de volta ao prompt do Linux caso tudo tenha corrido bem.
  18. Digite o comando “/jstest /dev/input/js0” (sem as aspas) pra fazer um teste dos botões que você acabou de configurar. Isso é MUITO importante. Observe e memorize ou anote bem cada número (A = 1, B = 2, X = 3, etc.) pois você precisará disso adiante. Após finalizar os testes, basta digitar ctrl+c e voltar ao prompt do Linux. Caso aconteça algum erro e um monte de caracteres fique piscando na tela, significa que seu controle não foi detectado. Utilize O MESMO COMANDO citado anteriormente, apenas trocando js0 por js1 ou js2 até encontrar em que porta está o seu joystick.
  19. Digite “sudo nano /opt/retropie/configs/all/retroarch.cfg” (sem aspas). Você irá configurar uma combinação de botõespara sair de um emulador caso queira voltar para a home do EmulationStation. Eu usei select+start, mas pode ser qualquer combinação.
  20. No arquivo de texto que vai abrir, digite ctrl+w pra fazer uma procura por palavras e busque por “two analog sticks” (sem aspas). Você será deslocado para um grupo de comandos que começa com “# Two Analog Sticks (Dualshock-esque)”. Desça para depois da última linha desse bloco e digite “input_enable_hotkey_btn = X” (sem aspas). Depois, abaixo da que você acabou de digitar, coloque “input_exit_emulator_btn = Y” (sem aspas). Nesse caso, X e Y são os números dos botões que você quer usar para sair de um emulador. Lembra do passo 18? No meu caso, Start e Select eram os botões 6 e 7. Basta você ver os números de que botões você quer usar e colocar no final do comando que você digitou.
  21. Siga para a linha de baixo e digite o comando “input_save_state_btn = W” (sem aspas). O W é o número do botão que você quer usar para dar um “save state” no jogo que estiver jogando no momento, afim de voltar para o mesmo ponto caso queira continuar depois. Siga o MESMO procedimento do passo 18 para escolher o botão do save state. Procure botões que não são usados normalmente, principalmente nos emuladores mais antigos como SNes e MegaDrive (que não tinham analógicos ou gatilhos).
  22. Siga para a linha de baixo e digite o comando “input_load_state_btn = Z” (sem aspas). O Z é o número do botão que você quer usar para dar um “load state” no jogo que tiver salvo um save state, afim de voltar para o mesmo ponto caso queira continuar onde estava. Siga o MESMO procedimento do passo 18 para escolher o botão do load state. Procure botões que não são usados normalmente, principalmente nos emuladores mais antigos como SNes e MegaDrive (que não tinham analógicos ou gatilhos). OBS.: esses comandos são ativados com a função HOTKEY, que é o primeiro comando que você digitou nessa fase da configuração (o input_enable_hotkey). Para salvar um estado do jogo, segure o botão de hotkey e depois o botão que você definiu como save state. O mesmo vale para load state.
  23. Após digitar as 4 linhas, tecle ctrl+x para salvar o arquivo. Aperte Y para gravar as alterações e tecle ENTER para finalizar e voltar ao prompt do Linux.
  24. Digite o comando “ifconfig” (sem aspas) ou “hostname -I” (sem aspas, com o I maiúsculo). Isso vai lhe mostrar qual é o IP do seu Raspberry, assumindo que você conectou um cabo na placa de rede dele. É possível usar uma rede Wi-Fi USB, mas nesse tutorial não irei abordar esse método. Anote o IP do seu Raspberry (que será fornecido pelo seu modem da Internet ou roteador sem fio, caso você tenha conectado a outra ponta do cabo num deles) para usar no próximo passo.
  25. No prompt do Linux, digite “EmulationStation” (sem aspas) e o Raspberry irá carregar a interface inicial com os emuladores. Agora é a hora de testar e jogar, mas pra isso precisamos colocar os jogos nele.
  26. Com o programa WinSCP instalado, abra-o e digite o IP do seu Raspberry em hostname. O usuário é pi e a senha é raspberry. Caso o programa peça pra digitar a senha de novo, digite. Isso fará você navegar pelas pastas do sistema. A pasta que você precisa acessar é “/home/pi/RetroPie/roms”. Dentro da pasta ROMS, estarão todos os emuladores pré configurados no RetroPie. Basta acessar a pasta correspondente ao emulador que você quiser copiar os jogos e arrastar as roms pra lá. Feito isso, está tudo pronto. OBS.: pras roms que você acabou de copiar aparecerem, de um reboot no RetroPie. Na própria interface do EmulationStation você pode fazer isso com o joystick, é só olhar lá as opções na tela.
  27. Divirta-se!

Links que certamente lhe serão úteis:

http://nickbartlett.com/retropie-emulationstation-not-saving-game-progress/

Basicamente, é isso. Parece muita coisa, mas com uns 15 minutos você resolve tudo e já começa a jogar. Caso tenha alguma dúvida, comente aí. Se o tutorial lhe foi útil, compartilhe. ;)

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.