Archive for the ‘playsation2’ Category
PlayStation 2 – Hello World!

Quem nunca teve vontade de ver um software próprio (nem que seja um “Hello World”) rodando num console de verdade ou mesmo num emulador?
Em 2007 me interessei pelo assunto, particularmente em relação ao PS2 e comecei a pesquisar. Em um ou dois dias, já tinha um “Hello World” rodando pelo pendrive e… bom, desisti de fazer algo realmente útil. Não pela dificuldade ou preguiça de ler sobre o hardware-alvo, mas pelo simples fato de que eu não tinha nenhuma proposta inovadora. Se vc levar em conta a enorme quantidade de homebrews disponíveis, vai chegar à mesma conclusão, ou então vai pensar: há! vou fazer um jogo ultra-mega-blaster-fodástico! E duas horas depois vai desistir, pq as ferramentas FREE disponíveis não são tão user friendly quanto vc gostaria (ou comparadas às oficiais, que podem custar seu rim esquerdo).
Esse é o meu ponto de vista, mas se vc acha que vale à pena programar para um console de quase 10 anos, pode começar fuçando nas minhas principais referências para esse post:
Recomendo a última referência, pois você encontrará muito material útil (uma ótima introdução à arquitetura do console, exemplos e até um port de doom para PS2).
Beleza então, meu cadê o Hello World?
Para começar a brincar com o seu PS2, primeiro será necessário baixar o PS2SDK no site http://ps2dev.ofcode.com/. Lá vc encontrará duas opções:
- PS2sdk Win32 Full Installation: contém o compilador (GCC) e as bibliotecas que fornecem as funções básicas para acessar a maioria dos dispositivos e funções do console;
- PS2sdk Win32 Full + ofcode libs: possui tudo que o item anterior dispõe, com a adição de algumas bibliotecas extras E alguns utensílios que serão úteis na hora de testar seu homebrew (pcsx2, que é um emulador de PS2 para PC e o cdgen, que é utilizado para gerar ISO’s que rodem no seu console).
Levando em conta a diferença entre o tamanho dos instaladores, é claro que você vai baixar o segundo item, clicando aqui.
Instalando o PS2sdk
Okay, você baixou o arquivo, ele possui 44.0 MB e não está corrompido, correto? Creio que qualquer pessoa com uma experiência mínima em computadores (que saiba ligar, por exemplo) consiga instalar. Por via das dúvidas:
- Execute o instalador e escolha a língua. Eu prefiro inglês
- Clique em “Next” e selecione a opção “Full”, então, “Next”
- Selecione o local de instalação e clique em “Install” e, ao finalizar a instalação, em “Finish”
- Agora, abra o arquivo ps2setup.bat (que está no diretório de instalação do PS2sdk) com o bloco de notas e adicione um “cmd” ao final, ficando assim
Compilando os exemplos do PS2SDK
Executando o ps2setup.bat com um duplo clique fará um prompt de comando surgir. Através desse prompt podemos compilar alguns exemplos que são instalados com o SDK. Entre no sub-diretório ps2sdk\samples (creio que vc sabe alguns comandos básicos do DOS) e escolha seu exemplo. Para começar, o exemplo mais simples: hello! Então, entre no sub-diretório hello (diretório_de_instalação_\ps2sdk\samples\hello) e digite “make” (sem aspas).
Se tudo ocorrer bem, um arquivo hello.elf (um hello.o também) deve ser criado dentro do diretório hello. O .elf é o seu executável!
Uhull! Já tenho meu Hello World no hello.elf!!! Tá… mas o que eu faço com isso?
Testando seu homebrew
Existem várias maneiras de rodar seu .elf. Meu PS2 foi desbloqueado com um DMS4 Pro, que não faz p**** nenhuma, mas com o ToxicOS instalado, permite “navegar” em todos dispositivos de armazenamento (DVD, CD, pendrive, memory card etc) e executar qualquer software que você tenha gravado:
Screen inicial do ToxicOS:

Opções:

Acessando o dispositivo mass (storage):

Então, se vc possui um modchip que permita tal operação, grave o hello.elf no seu pendrive e execute no seu PS2. No meu caso, comecei testando o exemplo math3d.elf, eis o resultado:

Se vc não faz idéia do que é um modchip e só sabe que seu playstation é destravado, vc pode gravar o homebrew em um CD ou DVD (eu gravei num CDRW e deu certo) para testar. É claro que não vai funcionar se vc gravar o arquivo .elf diretamente na mídia e é para isso que serve o cdgenPS2.exe que está no diretório tools na pasta de instalação do PS2sdk.
Criando uma imagem com o cdgenPS2
Abra o cdgenPS2.exe e arraste o seu .elf para a lista que contém os campos NAME, LBA, SIZE ETC.
Agora clique no botão IMG (o do ícone de CD), dê um nome para o sua imagem e grave num CD.
Okay, vc chegou até aqui mas não possui um PlayStation2 para testar seu homebrew. Então, vc tem a opção de utilizar um emulador.
O emulador PCSX2
Além do cdgenPS2, a pasta tools possui o pcsx2-0.8.1, que é um emulador de PS2 para PC (o melhor, se eu não me engano). O único problema é que ele não vem com uma bios padrão, mas isso é fácil de achar no google
ou vc pode ler meu post sobre RAR’s escondidos em JPG’s e baixar ESSA imagem (11 MB) ;x
Ao executar o emulador pela primeira vez, tenha certeza que vc selecionou a bios ocidental mais recente (USA v02.00+). No menu File, selecione a opção “Open ELF File” e escolha o seu .elf. Não sei bem o pq, mas o emulador pede para que vc selecione outro arquivo. Selecione a imagem gerada no cdgenPS2 e o seu Hello World será executado.
Exemplos e homebrews que eu rodei no meu PS2:
graph.elf

snes station

doom

blade (carrega e mostra um modelo .md2)

PS2 Asteroids
