RetroAchievements on a real PlayStation 2.
A patched Open PS2 Loader sends the game's memory to your PC every frame. xeRAbora checks it against the achievement set, unlocks the achievement on your RetroAchievements profile and flashes the TV gold. No emulator.
No PS2 at hand? The same client follows your play on any emulator with RetroAchievements. Without a PS2
The PS2 plays, the PC checks, the TV flashes.
A PS2 on your network and a PC or a phone next to it.
PS2 with a network adapter
A fat with the adapter or a slim with the built-in port, running OPL through FMCB, FHDB or similar.
ISO or the disc
Uma imagem .iso onde o OPL a rode: pendrive, HD interno por BDM ou um cartão SD num dispositivo MMCE, ou o disco original no drive. Jogos de PS1 como imagens .VCD em POPS/ num pendrive, pelo POPStarter.
On the same network
Windows, Linux or macOS in the same subnet as the console, or an Android phone on the same Wi-Fi.
RetroAchievements
Your login for unlocks and the Web API key from your profile.
Do download ao primeiro desbloqueio.
Uma noite, um pendrive. Os painéis à direita são o que a página do cliente mostra em cada passo, com os números de uma sessão real.
Um desbloqueio precisa de três coisas, nesta ordem: o xerabora logado no PC, o jogo verificado uma vez pelo menu dele, e só então o jogo iniciado. O passo 5 é o que as pessoas pulam.
Baixe dois arquivos
Do último release: OPL-RA.ELF para o console e xerabora.exe (Windows), xerabora-linux-x86_64 (Linux) ou xerabora-macos (macOS) para o PC. O SHA256SUMS serve para conferir.
Num celular Android, instale o xerabora-android.apk no lugar do cliente para PC. O celular roda o cliente inteiro, então não precisa de PC, e os passos abaixo são os mesmos no app.
Você precisa de um PS2 com adaptador de rede que já rode o Open PS2 Loader (FMCB, FHDB ou parecido), seus jogos como imagens .iso (pendrive, HD interno por BDM, MMCE), jogos de PS1 como .VCD em POPS/ num pendrive, ou o disco original, e um PC na mesma rede local com uma conta no RetroAchievements.
xerabora, último release github.com/hacan359/xerabora/releases ├─ OPL-RA.ELF loader do console (OPL 1.2.0 + RA) ├─ OPL-RA-debug.ELF igual, com diagnóstico na tela ├─ xerabora.exe cliente PC, Windows ├─ xerabora-linux-x86_64 cliente PC, Linux ├─ xerabora-macos cliente PC, macOS ├─ xerabora-android.apk o mesmo cliente, Android └─ SHA256SUMS
Ponha o loader junto dos seus jogos
OPL-RA.ELF é uma build completa do OPL, então ele vai onde seus apps do OPL já ficam. Num pendrive: uma pasta APPS, e uma linha no conf_apps.cfg na raiz para ele aparecer em Apps. Suas imagens continuam em DVD e CD como sempre.
E:\ (mass0:) ├─ conf_apps.cfg OPL+RA=mass0:APPS/OPL-RA.ELF ├─ APPS\ │ └─ OPL-RA.ELF ├─ DVD\ suas imagens .iso ├─ CD\ └─ CFG\ LNG\ THM\ ART\ CHT\ VMC\ASCII puro, quebras de linha CRLF.
Inicie o xerabora no PC
Rode. A página abre no seu navegador. Em AJUSTES, entre com seu login do RetroAchievements e cole a chave da Web API das configurações do seu perfil RA; o token e a chave ficam salvos no seu perfil (%LOCALAPPDATA%\xerabora ou ~/.config/xerabora), a senha não. Depois ele escuta na porta UDP 18194 e espera.
Deixe rodando enquanto você joga. A aba AO VIVO mostra tudo abaixo; as mesmas linhas vão para o xerabora.log ao lado do login salvo. Se o Windows perguntar sobre o firewall, libere em redes privadas.
Inicie o OPL-RA e teste a conexão
No console: Apps → OPL+RA. Parece e funciona como o OPL 1.2.0. Marque um jogo, aperte △ para o menu dele e escolha RA: test PC connection. Um aviso diz se o xerabora respondeu, de qual endereço e em quanto tempo.
Nada responde? Mesma sub-rede, firewall do PC liberando UDP 18194 de entrada, e o cliente rodando.
Need for Speed: Underground 2 Settings Compatibility RA: test PC connection RA: check game support Remove all settings Rename Delete cliente PC encontrado em 192.168.1.10 xerabora/0.1.0-alpha.19 Resposta em 3 ms, console em 192.168.1.142
Verifique o suporte do jogo
Mesmo menu, RA: check game support. O console calcula o hash da imagem do jeito do RetroAchievements e pergunta ao PC. O PC pergunta ao servidor do RA, monta a lista vigiada (todo endereço de memória que o conjunto de conquistas lê) e devolve. O aviso mostra o título e as contas: total, desbloqueadas, e quantas ainda não podem desbloquear em hardware real.
Depois de verificado, o jogo ganha um prefixo RA na lista e um selo na capa. Isso é uma vez por jogo.
RetroAchievements does not know this image significa que o jogo roda sem conquistas.Need for Speed: Underground 2
Inicie o jogo
Inicie pelo OPL como sempre. Quando o jogo abre o controle, os hooks in-game se prendem. O console acha o PC com um broadcast, espera uns trinta segundos o jogo terminar de carregar, e começa a transmitir.
A aba AO VIVO acende: console conectado, o conjunto, o primeiro snapshot, e quantas conquistas não podem desbloquear em hardware real. Daqui em diante é jogar. Um jogo que você não verificou fica apagado aqui: ele roda, sem telemetria.
Jogue
O painel CONSOLE conta sessenta snapshots por segundo, quantos o console pulou porque o DMA dele estava ocupado, quantos chegaram incompletos. Então o momento que você esperava: um aviso na página, um som curto, um flash dourado por cima do jogo na TV, e o desbloqueio no seu perfil.
Perca a rede por cinco segundos e o PC avisa. Quando o fluxo volta, ele continua de onde parou.
✕ OCULTAR
✕ OCULTAR
Sem precisar de imagem.
Ponha o disco, aperte START para o menu principal do OPL e escolha RA: check disc support, depois RA: launch disc. A verificação lê o disco pelo próprio leitor do console e pergunta ao PC do mesmo jeito que faz com uma imagem. O lançamento inicia o disco sob os hooks in-game do OPL, então telemetria e desbloqueios funcionam como pelo USB.
Você abre mão dos cartões de memória virtuais do OPL, dos patches de compatibilidade por jogo e dos cheats. Eles vivem na parte do OPL que emula o leitor, e um disco de verdade não usa ela.
The same window for your emulator play.
With the console off, xeRAbora follows your RetroAchievements account: the game you are in, the unlocks as they land, what to chase next, missable warnings, your library and the leaderboards. The difference is who unlocks.
xeRAbora runs the rules itself, so it shows measured progress ("3 of 10") and leaderboard trackers moving with the game.
The emulator unlocks on its own; xeRAbora reads your account every 20 seconds.
| With the PS2 | With an emulator | |
|---|---|---|
| Who unlocks | xeRAbora | the emulator |
| Measured progress, "3 of 10" | every frame | not in the Web API |
| Leaderboard trackers | live | no |
| Library, GAME, BOARDS, UP NEXT, missables | yes | yes |
As perguntas que as pessoas fazem primeiro.
Isso altera o jogo?
Não. O core in-game lê a memória e não escreve nada no jogo nem na imagem. Durante o desenvolvimento uma build de debug enfiou um valor num contador do HUD; esse código sumiu antes do alpha.3, e o core de release é somente leitura.
Isso é trapaça? O RA vai aceitar os desbloqueios?
Os desbloqueios passam pelo rcheevos original em modo softcore, o mesmo runtime que os emuladores suportados usam. Anunciamos o projeto no fórum do RetroAchievements e conversamos com os mantenedores do rcheevos. O cliente não reivindica hardcore; isso precisaria da aprovação da equipe do RA.
Quais jogos funcionam?
Any PS2 game with an achievement set. The check in the game's menu tells you the counts for your game before you play: total, unlocked, and how many cannot unlock on real hardware yet.
O desbloqueio apareceu na página mas a TV não piscou.
Procure console acknowledged unlock notice no xerabora.log. Se não estiver lá, o aviso nunca chegou ao console: mesma sub-rede, e o cliente precisa estar rodando enquanto você joga (ele pode ser reiniciado no meio do jogo). Se estiver lá, o console recebeu; conte para a gente qual é o jogo.
Por que o PC diz "skipped by console"?
Um snapshot que o console produziu e o PC não recebeu. Desde o alpha.8 o contador fica em zero ou perto disso durante o jogo; antes o console perdia um snapshot em doze no seu próprio laço de envio. Um número que não para de crescer significa que falta tempo ao console: um jogo puxando muito do pendrive, ou um transmissor ocupado. O rcheevos avalia os snapshots que chegam.
Outro console pode usar isso?
Pode. O cliente PC não sabe nada sobre o PS2 além da memória que recebe. Escreva um agente que leia a memória do seu console, calcule o hash do RA e fale o protocolo, e o xerabora faz o resto: a biblioteca, a visão ao vivo, os desbloqueios.
Dá para acompanhar o jogo pelo celular?
De dois jeitos. O app de Android roda o cliente no próprio celular: o console encontra o celular no Wi-Fi como encontra um PC, o celular desbloqueia as conquistas e cada desbloqueio chega como notificação. Com o cliente num PC, aperte ABRIR PARA A REDE em AJUSTES e abra a página no navegador do celular; ela mostra AO VIVO e todo o resto, enquanto o login e SAIR ficam no PC.
Preciso mesmo do console?
Não. Sem ele, o xeRAbora é um cliente de RetroAchievements: sua biblioteca, as conquistas de cada jogo, placares e perfil a partir da sua chave da Web API. O console acrescenta a metade ao vivo.
bora