Este não é o primeiro ou o último console do mundo no RetroPie, mas entre os muitos similares, o design Instructables proposto sob o apelido under se destaca em miniatura: as dimensões são aproximadamente as mesmas do console mais minimalista do Arduboy.
O dispositivo é baseado na placa Raspberry Pi Zero, a opção é adequada com WiFi e sem. O primeiro é mais conveniente, o segundo é mais eficiente em termos energéticos. O mestre colocou um Waveshare LCD HAT nele. É importante escolher uma versão mais recente do "chapéu" - com uma tela de 1,3 polegadas com resolução de 240x240. Sim, um quadrado, mas o Instagram e a Polaroid não têm nada a ver com isso. Neste "chapéu", além da tela, há um joystick e botões. O Raspberry Pi Zero não inclui um pente. Se você precisar, é necessário soldá-lo. Para o console não ficou muito grosso, você precisa de um pente com pinos de 8 mm. Eu não encontrei um mestre e encurtou os 12 mm. Consiste em duas linhas de 20 pinos cada. No espaço entre as placas, instale uma bateria LiPo de 45x23x5 mm com um circuito de proteção embutido. A capacidade não está indicada nela. Ele adicionou a ele um controlador de carregamento muito miniatura, medindo 10x10 mm, o que é bom para todos, mas só pode carregar a bateria no modo lento com uma corrente de apenas 50 mA. O LED de duas cores mostrado a seguir é opcional. Dos componentes adicionais necessários: um interruptor mecânico, uma cinta, quatro parafusos de cabeça escareada com uma rosca M2.5 de 14 mm de comprimento.
A caixa e os botões são impressos em 3D, o mestre colocou todos os arquivos necessários para a repetição no thingiverse. Você pode imprimi-los em uma ou em cores diferentes. Na versão do autor, são os seguintes: Layer123.stl - preto fosco, Layer4.stl - amarelo transparente, Layer5.stl - laranja transparente, Layer678.stl - vermelho transparente, ButtonHead.stl - vermelho transparente, azul e verde (três botões), CrossButtonHead.stl - vermelho escuro (e este é um D-pad).
O estabilizador PAM2306 no Raspberry Pi Zero pode funcionar com uma pequena queda de tensão; ele gera 3,3 V na saída, mesmo quando a tensão de entrada cai para 3,5 V. O console consome uma carga de bateria, consumindo 100 a 200 mA quando o WiFi é desconectado. Funciona por cerca de 90 minutos, enquanto consome cerca de 90% da capacidade da bateria. Uma placa na qual o WiFi não está disponível no hardware funcionará ainda mais.
O mestre conecta a “framboesa” e o “chapéu” entre si com um pente com pinos de 12 mm, mas até agora não o solda:
Ele morde o excesso e os pinos se tornam 8 mm:
Solde o pente para uma prancha e a contraparte para outra:
Conecta-se a outros componentes:
De acordo com este esquema, composto em forma de texto:
Nota: no “chapéu” o pente está localizado na parte de trás, portanto, a numeração de suas conclusões é invertida.
Tudo, exceto o Raspberry Pi, é colocado nos detalhes do caso impressos no arquivo Layer4.stl, abaixo da opção há uma pegada:
Na parte superior, define a peça impressa no arquivo Layer5.stl:
Então - Raspberry Pi:
E a parede traseira é o arquivo Layer678.stl:
Coloque os parafusos no lugar:
Inverte toda a construção, coloca os botões impressos no arquivo ButtonHead.stl, mas ainda não o D-pad:
Fecha com o painel frontal impresso a partir do arquivo Layer123.stl:
Gira e aperta os parafusos:
Instala o D-pad no eixo do joystick, impresso no arquivo CrossButtonHead.stl:
Shakes Retropieselecionando a opção Raspberry Pi 0/1 e jogos de homebrew. Download de arquivos adicionais: mk_arcade_joystick_rpi e rpi-fbcpselecionando a opção de download no arquivo ZIP.
Grava a imagem RetroPie baixada no cartão de memória. Apenas copiar o arquivo não funcionará. Você precisa usar um dos métodos, dependendo do sistema operacional existente na área de trabalho.
Método para Linux
Caminho para MacOS
Caminho para Windows
Em todos os casos, o nome do arquivo de imagem no exemplo deve ser substituído pelo nome do arquivo que você baixou.
Coloque os arquivos mk_arcade_joystick_rpi-master.zip e rpi-fbcp-master.zip no cartão de memória.
No final do arquivo config.txt no cartão de memória, coloca a linha:
dtoverlay = dwc2
No arquivo codlin.txt após a palavra-chave rootwait coloca: modules-load = dwc2, g_ether
Acontece:
dwc_otg.lpm_enable = 0 console = serial0,115200 console = tty1 root = PARTUUID
Ele cria um arquivo ssh vazio no cartão de memória; no MacOS, o assistente possui o seguinte comando:
toque / volumes / boot / ssh
O estojo impresso em 3D já possui recessos para um conector USB e um slot para um cartão de memória, portanto, instalar um cartão e conectar o cabo não é mais difícil do que em um player, por exemplo:
Logo após o carregamento do RetroPie, o console do sistema operacional do computador reconhece a placa de rede virtual. Assim que isso acontece, o assistente digita o comando:
ssh pi@retropie.local
A senha padrão é raspberry, e muda imediatamente com o comando passwd.
No final do arquivo / etc / modules, ele adiciona:
spi-bcm2835
flexfb
fbtft_device
Cria um arquivo /etc/modprobe.d/fbtft.conf com o seguinte conteúdo:
opções flexfb setaddrwin = 0 width = 240 height = 240 init = -1,0x11, -2,120, -1,0x36,0x70, -1,0x3A, 0x05, -1,0xB2,0x0C, 0x0C, 0x00,0x33,0x33, -1.0xB7.0x35, -1.0xBB, 0x1A, -1.0xC0.0x2C, -1.0xC2.0x01, -1.0xC3.0x0B, -1.0xC4.0x20, -1.0xC6.0x0F, - 1,0xD0,0xA4,0xA1, -1,0x21, -1,0xE0,0x00,0x19,0x1E, 0x0A, 0x09,0x15,0x3D, 0x44,0x51,0x12,0x03,0x00,0x3F, 0x3F, -1,0xE1 , 0x00.0x18.0x1E, 0x0A, 0x09.0x25.0x3F, 0x43.0x52.0x33.0x03.0x00.0x3F, 0x3F, -1.0x29, -3
opções fbtft_device name = flexfb gpios = reset: 27, dc: 25, cs: 8, led: 24 speed = 125000000 bgr = 1 fps = 60 customizado = 1 height = 240 width = 240
Extrai arquivos de um dos dois arquivos anteriormente copiados para o cartão (veja acima):
descompacte /boot/rpi-fbcp-master.zip
Compila e instala:
cd rpi-fbcp-master /
compilação mkdir
cd build
fazer ..
fazer
sudo instala fbcp / usr / local / bin / fbcp
Executa:
/ usr / local / bin / fbcp &
No final do arquivo, /boot/config.txt adiciona:
disable_overscan = 1
hdmi_force_hotplug = 1
hdmi_group = 2
hdmi_mode = 87
hdmi_cvt = 240 240 60 1 0 0 0
dtparam = spi = ativado
Descompacta outro arquivo:
descompacte /boot/mk_arcade_joystick_rpi-master.zip
Inicia o editor e abre o arquivo de configuração do gamepad:
cd mk_arcade_joystick_rpi-master /
vi mk_arcade_joystick_rpi.c
Localiza a string static const int mk_arcade_gpio_maps [] e faz com que fique assim:
static const int mk_arcade_gpio_maps [] = {6,19,5,26,13,21,16,20,0,0,0,0};
Salva o arquivo, compila e instala o módulo:
sudo mkdir /usr/src/mk_arcade_joystick_rpi-0.1.5/
sudo cp -a * /usr/src/mk_arcade_joystick_rpi-0.1.5/
exportar MKVERSION = 0.1.5
sudo -E dkms build -m mk_arcade_joystick_rpi -v 0.1.5
sudo -E dkms install -m mk_arcade_joystick_rpi -v 0.1.5
Verifica os botões:
sudo modprobe mk_arcade_joystick_rpi map = 1
jstest / dev / input / js0
No final do arquivo, o / etc / modules adiciona:
mk_arcade_joystick_rpi
Cria um arquivo /etc/modprobe.d/joystick.conf com o seguinte conteúdo:
opções mk_arcade_joystick_rpi map = 1
Os arquivos baixados (veja acima) com jogos de homebrew estão espalhados da pasta / boot para as pastas ~ / RetroPie / roms / $ CONSOLE, onde $ CONSOLE é o nome da plataforma para a qual eles se destinam.
Execute raspi-config:
sudo raspi-config
Configura:
Seleciona uma rede Wi-Fi (apenas para a placa onde está): 2 Opções de rede -> N2 Wi-fi -> insira dados sobre sua rede
Certifique-se de que o download não pare para a rede aparecer: 3 Opções de inicialização -> B2 Aguarde pela rede na inicialização -> Não -> OK
Indica o fuso horário: 4 Opções de localização -> I2 Alterar fuso horário -> seleciona seu fuso horário
Desativa a porta serial: 5 Opções de interface -> P6 Serial -> Não -> Não -> OK
Executa o script de configuração RetroPie:
sudo ~ / Configuração do Retroie / retropie_setup.sh
Otimiza a resolução para uma tela de 1,3 polegadas: C Configuração / Ferramentas -> 805 configedit -> 1 -> 0 -> 2 Resolução de renderização -> O Resolução de saída de vídeo -> OK -> Cancelar -> Cancelar -> Cancelar -> Cancelar
Altera o tema para um adequado para esse monitor (é necessário conectar o WiFi): 812 esthemes -> 14 Pixel-tft -> OK -> 1 carbono -> 2 Desinstalar
O "chapéu" possui apenas três botões separados, mais um embutido diretamente no D-pad. E a resolução da tela é 240x240. O mestre prefere a plataforma NES, onde a resolução é 256 x 240. Para que a imagem não fique distorcida, ele decidiu cortá-la. Para os leitores que desejam jogar apenas com NES, ele recomenda adicionar linhas ao final do arquivo /opt/retropie/configs/nes/retroarch.cfg:
video_fullscreen_x = "0"
video_fullscreen_y = "0"
video_scale_integer = true
E no final do arquivo /opt/retropie/configs/all/retroarch-core-options.cfg - a linha:
quicknes_use_overscan_h = "desativado"
Os botões do gamepad emulado pelo NES estão espalhados pelos botões do console de acordo com a figura:
Usuários acostumados com os botões Turbo terão que desmamar. O assistente inicia o editor e abre o arquivo de configurações do EmulationStation:
Lá coloca o texto:
& lt ;? xml version = "1.0"? & gt;
/opt/retropie/supplementary/emulationstation/scripts/inputconfiguration.sh
Após salvar o arquivo e fechar o editor, ele será iniciado novamente, mas com o arquivo de configurações do RetroArch:
vi / opt / retropie / configs / all / retroarch / autoconfig / GPIO \ Controller \ 1.cfg
E aí coloca o texto:
input_device = "GPIO Controller 1"
input_driver = "udev"
input_start_btn = "11"
input_exit_emulator_btn = "11"
input_down_axis = "+1"
input_right_axis = "+0"
input_state_slot_increase_axis = "+0"
input_select_btn = "10"
input_left_axis = "-0"
input_state_slot_decrease_axis = "-0"
input_up_axis = "-1"
input_a_btn = "0"
input_b_btn = "1"
input_reset_btn = "1"
input_enable_hotkey_btn = "10"
Também salva e fecha, acelera o carregamento por entrada sequencial de comandos:
sudo systemctl desativar asplashscreen
sudo systemctl desativar dphys-swapfile
sudo systemctl desativar hciuart
sudo systemctl desativar configuração do teclado
sudo systemctl disable nmbd
sudo systemctl desativar raspi-config
sudo systemctl desativar smbd
sudo systemctl desativar nfs-config
O que a troca desativa, faz a coisa certa, ele não quer que o cartão de memória se dobre rapidamente.
No arquivo /boot/cmdline.txt define os parâmetros assim:
dwc_otg.lpm_enable = 0 console = tty1 root = PARTUUID = 14a75fe9-02 rootfstype = ext4 lift = prazo fsck.repair = yes rootwait loglevel = 3 consoleblank = 0 plymouth.enable = 0 logo.nologo fastboot quiet
E essa linha se transforma em comentário, colocando uma grade na frente:
# dtoverlay = dwc2
Reinicia o dispositivo. Desativa com o comando:
sudo halt
Desconecta o cabo, liga o switch e ele já carrega sem um PC. Cerca de um minuto depois, quando o download é concluído, ele configura, seleciona o emulador e o jogo.
Como o leitor já adivinhou, ao ler os arquivos de configuração acima, a tecla Iniciar corresponde ao clique no D-pad no meio. Ao mesmo tempo, quando o jogo não está rodando, você pode acessar o menu de configurações. Lá, o assistente seleciona os seguintes itens:
CONFIGURAÇÕES DA UI - & gt; CONFIGURAÇÕES DO SCREENSAVER - & gt; SCREENSAVER APÓS - & gt; 1 minuto
OUTRAS CONFIGURAÇÕES - & gt; MODOS DE POUPANÇA DE ENERGIA - & gt; INSTANTÂNEO
Coloca a alça no “ouvido” designado:
Feito, você pode usar:
Abaixo estão as cores diferentes para o console: