ARCH R

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ótuloSistema de arquivosO que guarda
ARCHRFAT32, 256 MBKernel, device trees, configuração de boot
ARCHR_ROOText4, 4,5 GBA imagem do sistema
STORAGEext4, o resto do cartãoSeus 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/roms e 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:

PastaSistemaExtensões
nesNintendo Entertainment System.nes .unif .unf .zip .7z
snesSuper Nintendo.smc .fig .sfc .swc .zip .7z
n64Nintendo 64.z64 .n64 .v64 .zip .7z
gb gbc gbaFamília Game Boy.gb .gbc .gba .zip .7z
ndsNintendo DS.nds .zip .7z
megadriveMega Drive e Genesis.bin .gen .md .sg .smd .zip .7z
mastersystemMaster System.bin .sms .zip .7z
gamegearGame Gear.bin .gg .zip .7z
segacd megacdSega CD e Mega CD.chd .cue .iso .m3u
sega32x32X.32x .smd .bin .md .zip .7z
saturnSaturn.cue .chd .iso .zip
dreamcastDreamcast.cdi .gdi .chd .m3u .cue
psxPlayStation.bin .cue .img .mdf .pbp .toc .cbn .m3u .ccd .chd .iso
pspPSP.iso .cso .pbp .chd
pcenginePC Engine e TurboGrafx-16.pce .bin .zip .7z
pcenginecdPC Engine CD.cue .ccd .chd .toc .m3u
neogeoNeo Geo.7z .zip .neo
arcadeArcade.zip .7z
fbneoFinalBurn Neo.7z .zip
mameMAME.7z .zip
atari2600Atari 2600.a26 .bin .zip .7z
atarilynxAtari Lynx.lnx .lyx .o .zip .7z
atarijaguarAtari Jaguar.j64 .jag .rom .abs .cof .bin .prg
wonderswanWonderSwan.ws .wsc .zip .7z
ngp ngpcNeo Geo Pocket.ngp .ngc .zip .7z
pcDOS.com .bat .exe .dosz
portsPortMaster, veja Ports.sh .appimage
pico-8PICO-8.p8 .png
doomJogos com motor Doom.doom

Alguns nomes de pasta pegam as pessoas de surpresa:

  • O Mega Drive aparece três vezes, como megadrive, genesis e megadrive-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 nes e famicom, e entre snes e sfc.
  • O ColecoVision lê de coleco, o Odyssey 2 de odyssey, o SuperGrafx de sgfx, o Macintosh de mac, o PC-8800 de pc88 e o PC-9800 de pc98.
  • Atari Lynx e Atari Jaguar usam os nomes longos atarilynx e atarijaguar, não lynx e jaguar.
  • 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-systems

Ele 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-FX

ROMs 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.chd

No 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.

On this page