PopStarter - alandrade21/docsCompartilhados GitHub Wiki
A maneira de rodar jogos de PS1 via OPL no PS2 é utilizando o POPS (PlayStation One Portable Station - ou SLBB-00001), que é um emulador de PS1 oficial da Sony para PS2. O POPSTARTER é um lançador para o POPS, que facilita a integração do POPS com o OPL.
Nesta página:
- Convertendo .cue + .bin para .vcd
- Instalando o PopStarter no HD interno do PS2
- Instalando Rodando Jogos de PS1 com PopStarter via OPL
- Jogos Multi Disco no PopStarter
O PopStarter só reconhece jogos no formato VCD.
Antes de começar o processo de conversão, verifique se o jogo é compatível com POPS na lista de compatibilidade, publicada pelo PSX Place.
Para a conversão, é necessário utilizar o cue2pops
. Para Linux ele pode ser baixado da PS2-home. Há um repositório no github com o código fonte, mas o repositório não é do desenvolvedor original.
cue2pops
não consegue trabalhar com um .cue que faça referência a vários arquivos .bin. Para juntar esse formato em apenas um par de .cue .bin é necessário utilizar o binmerge
.
binmerge
, um script python, pode ser encontrado no github.
-
Caso o .cue faça referência a vários .bin, converta para apenas um par .cue .bin com o
binmerge
:./binmerge -o <pasta de saída> <arquivo_cue> <base_name>
Por exemplo, se os arquivos originais estiverem na pasta
./cue
, e a pasta de saída for a própria./
, um exemplo de comando fica:./binmerge -o . ./cue/Resident_Evil_2.cue Resident_Evil_2
-
Converta o par .cue .bin para o formato vcd com o
cue2pops
:./cue2pops <arquivo_cue>
Por exemplo:
./cue2pops Resident_Evil_2.cue
No linux, é necessário que o .cue faça referência ao caminho absoluto do arquivo .bin. Basta abrir o .cue com um editor de texto e acrescentar o caminho absoluto ao node do .bin.
Caso isso não seja feito, o seguinte erro será retornado:
Error: Cannot find Resident_Evil_2.bin that is linked to the cue sheet
NOTE: If you\'re using Linux environment, just edit the full path of bin file in the cue sheet
Primeiro é necessário baixar os binários do POPS. Eles podem ser baixados da página do hard level ou de um repositório github.
Também serão necessários os binários do PopStarter, que podem ser baixados do PSX Place.
-
Em um pendrive formatado como fat32, crie as pastas
APPS
ePOPS
. -
Baixe os binários do POPS do lugar indicado no topo desta secção e copie os arquivos
POPS.ELF
,IOPRP252.IMG
,IGR_BG.TM2
,IGR_NO.TM2
eIGR_YES.TM2
para a pasta POPS do pendrive. -
Baixe os binários do POPSTARTER do lugar indicado no topo desta secção e copie o arquivo
POPSTARTER.ELF
para a pasta POPS do pendrive. -
Ainda do pacote de binários do POPSTARTER, copie o arquivo
packed_BOOT.ELF
para uma subpasta da pasta APP do pendrive, configurando esse ELF para rodar como um APP no OPL, de acordo com a página OPL desta wiki.Esse app é um wLe modificado pelos desenvolvedores do PopStarter para rodar arquivos VCD (jogos do PopStarter), além de arquivos .elf.
-
Coloque o pendrive no PS2 e dê boot no OPL.
-
Rode o wle. Pode ser essa versão dos desenvolvedores do PopStarter que está no pendrive.
-
Verifique se seu HD já tem as partições
__common
e__.POPS
. Se não possuir alguma dessas partições, crie-as utilizando o appHddManager
, que pode ser encontrado no deviceMISC/
do wLe. O nome de cada uma dessas partições começa com dois caracteres underline (sublinhado). Atenção para o case das letras de cada nome. -
Acesse a partição
__common
. Crie uma pastaPOPS
nessa partição e copie para essa nova pasta todos os arquivos que foram copiados para a pasta POPS do pendrive no passo 2. -
Acesse a partição
+OPL
do HD e instale opacked_BOOT.ELF
(que está como um APP no pendrive) como um APP no HD, de acordo com o explicado em OPL desta wiki.
Tanto a partição __.POPS
quanto o packed_BOOT.ELF
instalado como um APP no HD, serão utilizados para rodar os jogos de PS1 via PopStarter. Como instalar e rodar os jogos será explicado na próxima seção.
O tutorial oficial de instalação pode ser encontrado no PS2-home ou no bit bucket.
Todos os modos de instalação e uso do PopStarter podem ser encontrado no PS2-home.
Os jogos precisam estar no formato VCD. Como fazer a conversão pode ser conferida no tópico Convertendo .cue + .bin para .vcd desta página.
Caso o jogo seja multi disco, também será necessário providenciar o compartilhamento dos memory cards virtuais (VMC's), de acordo com a seção Compartilhando os VMC's.
Os jogos devem ser copiados para a raiz da partição __.POPS
do HD interno do PS2.
O jeito mais fácil é copiar os VCD's para um pendrive formatado em fat32, e utilizar o wle para copiar do pendrive para o HD interno. É lento. 700MB demoraram pouco mais 20 min.
Segundo vários tutoriais, é possível fazer a cópia via rede. O wle possui um app chamado PS2Net no device MISC/
(antes de rodar é preciso configurar a rede nas configurações do wle). Com esse app rodando, é possível utilizar o RadHostClient
para compartilhar pastas do PC a serem acessadas a partir do device host:/
do wle. A cópia dos arquivos é feita pelo wle, de host:/
para qualquer outro device.
No entanto, apesar de o RadHostClient
possuir uma build para linux, essa build é de 32 bits e depende de uma lib já descontinuada pelos linux mais recentes (2022), de forma que não foi possível rodar esse app.
No gitlab foi possível encontrar uma reimplementação do RadHostClient
, o ps2-klient
, feito em Kotlin, rodando na JVM 8 (não funciona em Open JDK). No entanto não consegui estabelecer conexão de rede com o PS2.
Ainda resta fazer o teste usando a conexão NBD dos novos OPL.
Copiado o VCD do jogo para a raiz da partição __.POPS
, existem duas formas de executar o jogo (usando OPOL oficial e não o DB):
-
Utilizando o wLe modificado pelos desenvolvedores do PopStarter (
packed_BOOT.ELF
instalado como APP no HD interno no passo anterior), navegue até a raiz da partição__.POPS
, selecione o VCD do jogo e aperte bola, para executá-lo (o wle normal não vai reconhecer esse arquivo, apenas o modificado pelos devs do PopStarter). -
Instalando o jogo como uma entrada na aba APPS do OPL:
-
Utilizando o wle, crie uma sub pasta da pasta APPS, da partição
+OPL
do HD interno. Coloque o nome do jogo como nome da pasta (para facilitar a identificação do que tem ali dentro). -
Copie (não mova) para essa nova pasta o arquivo
POPSTARTER.ELF
que está na pasta POPS da partição__common
. -
Renomeie o arquivo recém copiado para o mesmo nome do VCD do jogo, mantendo a extensão .ELF.
Por exemplo, se o VCD do jogo se chama
Resident_Evil_2.VCD
, então oPOPSTARTER.ELF
copiado para a sub pasta de APPS deve ser renomeado paraResident_Evil_2.ELF
. -
Este passo deverá ser feito no PC, uma vez que não há como editar arquivos no wle. Crie um arquivo
title.cfg
configurando o arquivo elf renomeado como um app (de acordo com o explicado na página OPL desta wiki). Seguindo o exemplo acima, otitle.cfg
seria preenchido com:title=Resident Evil 2 boot=Resident_Evil_2.ELF
-
Copie o
title.cfg
do PC para a mesma pasta do HD interno do PS2 onde está oResident_Evil_2.vcd
.
Talvez seja mais fácil fazer todo esse processo direto no PC, e só copiar tudo pronto para o HD interno do PS2.
Isso fará com que o lançador do jogo apareça na aba apps do OPL.
-
É possível utilizar IGR (R1 + L1 + select + start) a partir de jogos de PS1, mas para o IGR funcionar corretamente, é necessário alguns ajustes nas configurações do OPL.
- Configure o IGR do OPL para
mc0:/BOOT/BOOT.ELF
(também poderia ser mc1). - Esse
BOOT.ELF
do memory card precisa, obrigatoriamente, ser o do wle. - Para voltar ao OPL, configure uma tecla de atalho para rodar o elf do OPL.
Precisamos tratar de dois assuntos quando falamos de jogos multi disco no PopStarter: o compartilhamento dos memory cards virtuais (VMC) entre todos os discos, e a troca do disco em si quando o jogo solicitar essa troca.
Para toda essa seção, os arquivos VCD de cada disco já devem estar instalados no PS2, seguindo o que foi explicado nas seções anteriores desta página.
Vamos utilizar o jogo Metal Gear Solid
como exemplo durante toda essa seção. Esse jogo possui dois discos. Para esse exemplo, vamos supor que os arquivos VCD desse jogo foram nomeados como MGS_DISCO_1.VCD
e MGS_DISCO_2.VCD
.
A primeira vez que você rodar o VCD de um jogo, o Pops vai criar uma pasta na raiz da pasta POPS
com o mesmo nome do arquivo VCD sem a extensão. Assim, ao rodar o MGS_DISCO_1.VCD
, o Pops vai criar a pasta MGS_DISCO_1
. Essa pasta conterá dois arquivos: SLOT0.VMC
e SLOT1.VMC
. Esses são os memory cards virtuais.
Ao rodar o segundo disco, ou seja, ao rodar o MGS_DISCO_2.VCD
, o Pops vai criar a pasta MGS_DISCO_2
, contendo dois outros VMC's. Dessa forma, o disco 2 não vai enxergar os VMC's do disco 1.
Para fazer com que todos os discos de um jogo enxerguem os mesmos VMC's, os seguintes passos devem ser acrescentados à instalação dos VCD's:
-
Caso ainda não existam as pastas dos VMC's de cada disco, crie essas pastas num pendrive formatado em fat32.
Conforme explicado acima, crie uma pasta para cada arquivo VCD. Cada pasta terá o mesmo nome de cada VCD, sem a extensão.
Assim, seguindo o exemplo do jogo
Metal Gear Solid
, cujos arquivos VCD sãoMGS_DISCO_1.VCD
eMGS_DISCO_2.VCD
, devem ser criadas as pastasMGS_DISCO_1
eMGS_DISCO_2
. -
Dentro da pasta do VMC do primeiro disco, ou seja, dentro da pasta
MGS_DISCO_1
, crie um novo arquivo de texto com nomeVMCDIR.TXT
. -
Na primeira linha desse arquivo, cole o nome do arquivo VCD do primeiro disco, sem a extensão. Ou seja, a primeira linha desse arquivo conterá
MGS_DISCO_1
. Salve o arquivo. -
Copie esse arquivo para as pastas de VMC de cada disco do jogo
-
Coloque o pendrive no PS2 e copie todas as pastas de VMC que vc criou para o mesmo lugar onde ficam os arquivos VCD.
O que o arquivo VMCDIR.TXT
faz é informar ao Pops que, ao invés de criar novos VMC's para um disco, ele deve utilizar os VMC's existentes na pasta apontada na primeira linha desse arquivo.
Na prática, seguindo esse raciocínio, é possível compartilhar o VMC com outros jogos. Basta mover os arquivos dos VMC para uma pasta separada, e referencia essa pasta no VMCDIR.TXT
de cada jogo.
Se o VMCDIR.TXT
ficar na raiz da pasta POPS (no mesmo lugar onde ficam os VCD's), todos os jogos instalados vão compartilhar os mesmos VMC's. O único problema dessa estratégia é que o memory card do PS1 tem só 15 posições, e não achei informação sobre como o Pops vai lidar com essa limitação.
Essas informações estão no vídeo Tudo sobre o Popstarter - Como compartilhar o Memory Card Virtual (VMC) com outros discos (VCD).
Quando o jogo solicitar uma troca de disco, é necessário simular todos os passos dessa troca em um PS1, ou seja, é necessário abrir a tampa do console, inserir o novo disco e fechar a tampa do console. Para executar cada um desses passos no Pops:
- Abrir a tampa:
SELECT + L2 + R2 + TRIÂNGULO
- Inserir o Disco 1:
SELECT + L2 + R2 + CIMA
- Inserir o Disco 2:
SELECT + L2 + R2 + DIREITA
- Inserir o Disco 3:
SELECT + L2 + R2 + BAIXO
- Inserir o Disco 4:
SELECT + L2 + R2 + ESQUERDA
- Fechar tampa:
SELECT + L2 + R2 + QUADRADO
Essas informações estão no vídeo Tudo sobre o Popstarter - Como trocar o cd do jogo de PS1 que tem mais de um cd!.