Adicionando ROMs
Onde ficam os jogos e arquivos de BIOS, sistemas suportados
Os jogos ficam em /storage/roms, uma pasta por sistema. O EmulationStation só mostra um sistema depois que a pasta dele tem pelo menos um arquivo com uma extensão que aquele sistema aceita.
Como o cartão é dividido
A imagem grava três partições em uma tabela MBR:
| Rótulo | Sistema de arquivos | O que guarda |
|---|---|---|
ARCHR | FAT32, 256 MB | Kernel, device trees, configuração de boot |
ARCHR_ROOT | ext4, 4,5 GB | A imagem do sistema |
STORAGE | ext4, o resto do cartão | Seus dados: roms/, configurações, saves |
A STORAGE tem apenas 32 MB dentro da imagem baixada e cresce até ocupar o cartão no primeiro boot. A ARCHR_ROOT é marcada com o tipo de partição 0xDA para que gerenciadores de arquivos de desktop não ofereçam montá-la.
Três formas de copiar ROMs
1. Colocar o cartão em um computador
A partição que você quer é a STORAGE, e a pasta é roms/. O Linux monta ext4 diretamente. Windows e macOS não montam, então é preciso usar o Linux File Systems for Windows da Paragon, o WSL com --mount ou um driver equivalente de terceiros.
2. SSH e SCP
Mais rápido do que ficar tirando e recolocando o cartão. Veja acesso SSH.
scp ~/roms/snes/*.sfc root@<ip-do-aparelho>:/storage/roms/snes/3. Samba
O Samba vem desligado. Ligue no EmulationStation em Network Settings → Network Services → Enable Samba. O compartilhamento das ROMs se chama games-roms e aponta para /storage/roms:
- Windows: abra o Explorer e digite
\\archr\games-roms, ou use o endereço IP. - macOS: Finder,
Cmd-K,smb://archr.local/games-roms. - Linux: "Conectar ao servidor" no gerenciador de arquivos,
smb://archr.local/games-roms.
O compartilhamento aceita convidados sem senha, então só ligue em uma rede em que você confia. Mais detalhes em Samba.
Um segundo cartão
Se o seu console tem um segundo slot, o ArchR monta o cartão em /storage/games-external. A chave fica em System Settings → Storage → Autodetect games card, ligada por padrão.
O que acontece depois depende do cartão:
- Se ele tem uma pasta
roms/, essa pasta é montada por bind sobre/storage/romse o EmulationStation lê o segundo cartão no lugar do interno. A biblioteca interna fica escondida enquanto o cartão estiver inserido e volta quando você o retira. - Se você ligar Enable merged storage, as duas bibliotecas são combinadas com overlayfs e você vê as duas ao mesmo tempo. Isso exige que o segundo cartão seja ext4 ou btrfs, então cartões FAT32, exFAT e NTFS caem no bind mount. O modo mesclado vem desligado.
- Merged storage primary card decide qual dos dois lados recebe os arquivos novos.
Eject microSD card, no mesmo menu, desmonta tudo com segurança antes de você retirar o cartão.
Pastas dos sistemas
São 125 sistemas na lista. Estes são os mais perguntados:
| Pasta | Sistema | Extensões |
|---|---|---|
nes | Nintendo Entertainment System | .nes .unif .unf .zip .7z |
snes | Super Nintendo | .smc .fig .sfc .swc .zip .7z |
n64 | Nintendo 64 | .z64 .n64 .v64 .zip .7z |
gb gbc gba | Família Game Boy | .gb .gbc .gba .zip .7z |
nds | Nintendo DS | .nds .zip .7z |
megadrive | Mega Drive e Genesis | .bin .gen .md .sg .smd .zip .7z |
mastersystem | Master System | .bin .sms .zip .7z |
gamegear | Game Gear | .bin .gg .zip .7z |
segacd megacd | Sega CD e Mega CD | .chd .cue .iso .m3u |
sega32x | 32X | .32x .smd .bin .md .zip .7z |
saturn | Saturn | .cue .chd .iso .zip |
dreamcast | Dreamcast | .cdi .gdi .chd .m3u .cue |
psx | PlayStation | .bin .cue .img .mdf .pbp .toc .cbn .m3u .ccd .chd .iso |
psp | PSP | .iso .cso .pbp .chd |
pcengine | PC Engine e TurboGrafx-16 | .pce .bin .zip .7z |
pcenginecd | PC Engine CD | .cue .ccd .chd .toc .m3u |
neogeo | Neo Geo | .7z .zip .neo |
arcade | Arcade | .zip .7z |
fbneo | FinalBurn Neo | .7z .zip |
mame | MAME | .7z .zip |
atari2600 | Atari 2600 | .a26 .bin .zip .7z |
atarilynx | Atari Lynx | .lnx .lyx .o .zip .7z |
atarijaguar | Atari Jaguar | .j64 .jag .rom .abs .cof .bin .prg |
wonderswan | WonderSwan | .ws .wsc .zip .7z |
ngp ngpc | Neo Geo Pocket | .ngp .ngc .zip .7z |
pc | DOS | .com .bat .exe .dosz |
ports | PortMaster, veja Ports | .sh .appimage |
pico-8 | PICO-8 | .p8 .png |
doom | Jogos com motor Doom | .doom |
Alguns nomes de pasta pegam as pessoas de surpresa:
- O Mega Drive aparece três vezes, como
megadrive,genesisemegadrive-japan. São entradas separadas na lista, com as mesmas extensões, então escolha uma e coloque tudo nela. - A mesma duplicação existe entre
nesefamicom, e entresnesesfc. - O ColecoVision lê de
coleco, o Odyssey 2 deodyssey, o SuperGrafx desgfx, o Macintosh demac, o PC-8800 depc88e o PC-9800 depc98. - Atari Lynx e Atari Jaguar usam os nomes longos
atarilynxeatarijaguar, nãolynxejaguar. - O WonderSwan Color tem pasta própria,
wonderswancolor.
Quatro sistemas não leem de /storage/roms: o ScummVM procura em /storage/.config/scummvm/games, o Tools em /storage/.config/modules, o tocador de música em /storage/.config/gmu/playlists e o visualizador de imagens em /storage/roms/screenshots.
A lista completa está no aparelho, em /usr/config/emulationstation/es_systems.cfg, com o caminho e as extensões exatas de cada entrada.
Fazer o EmulationStation enxergar os jogos novos
Arquivos novos entram na lista no próximo boot. Para fazer isso sem reiniciar, use Game Settings → Update gamelists.
Arquivos de BIOS
As BIOS ficam em /storage/roms/bios, soltas, sem subpastas, e o nome do arquivo precisa bater exatamente. O ArchR não distribui nenhuma BIOS, essa parte é com você.
Não existe tela de BIOS ausente no menu do EmulationStation no ArchR. No lugar dela existe um comando que você roda por SSH:
archr-systemsEle percorre /storage/roms/bios, compara cada arquivo com uma tabela de md5 conhecidos e imprime o que está faltando ou não confere. archr-systems --filter psx restringe a um sistema, e archr-systems --createReadme imprime todos os nomes e md5 que ele conhece, 24 sistemas no total.
Alguns dos mais comuns:
bios/scph5500.bin scph5501.bin scph5502.bin PlayStation
bios/disksys.rom Famicom Disk System
bios/gba_bios.bin Game Boy Advance
bios/neogeo.zip Neo Geo
bios/bios_CD_E.bin bios_CD_U.bin bios_CD_J.bin Sega CD
bios/dc_boot.bin dc_flash.bin Dreamcast
bios/sega_101.bin mpr-17933.bin Saturn
bios/bios7.bin bios9.bin firmware.bin Nintendo DS
bios/panafz1.bin panafz10.bin goldstar.bin 3DO
bios/pcfx.rom PC-FXROMs compactadas
A maioria dos cores libretro abre .zip e .7z sem descompactar antes. O ArchR compila a zlib-ng em modo de compatibilidade com a zlib, então todo programa do sistema a usa no lugar da zlib original.
Para sistemas de disco, vale converter para .chd: fica menor que .bin/.cue e não perde nada. Não existe chdman no console, então converta no seu computador:
chdman createcd -i game.cue -o game.chdNo PSP, o .cso ocupa por volta da metade do espaço do .iso com um custo pequeno de CPU.
Manter duas máquinas em sincronia
O Syncthing espelha uma pasta entre o console e o seu PC pela rede. Ligue no EmulationStation em Network Settings → Network Services → Enable Syncthing e abra http://archr.local:8384 no navegador. Ele é pausado automaticamente enquanto um jogo está rodando, para não disputar CPU. Veja Sincronização na nuvem.
Baixar capas e metadados
O EmulationStation tem um scraper embutido, acessível pelo menu principal. Não existe scraper em linha de comando no aparelho. Veja Scraping.
Permissões
O /storage é montado com rw,noatime. As ROMs não precisam de dono específico, os emuladores as leem com as permissões normais de arquivo e o ArchR não reescreve a propriedade dos arquivos na partição.
Se você apagar as pastas dos sistemas sem querer, elas são recriadas no boot. A lista de diretórios é /usr/config/system-dirs.conf e o serviço archr-automount a aplica com systemd-tmpfiles --create.