Del'Arco

The Pixel Company

Archive for the ‘playsation2’ Category

PlayStation 2 – Hello World!

without comments

ps2

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 ;) ps2sdk_install1
  • Clique em “Next” e selecione a opção “Full”, então, “Next”ps2sdk_install2
  • Selecione o local de instalação e clique em “Install” e, ao finalizar a instalação, em “Finish”ps2sdk_install3
  • 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 assimps2sdk_install4

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

ps2sdk_make

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:

toxicOS_01

Opções:

toxicOS_02

Acessando o dispositivo mass (storage):

toxicOS_03

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:

toxicOS_04

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.

cdgenPS2

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

toxicOS_05

snes station

toxicOS_06 toxicOS_07

doom

toxicOS_08 toxicOS_09 toxicOS_10

blade (carrega e mostra um modelo .md2)

toxicOS_11 toxicOS_12

PS2 Asteroids

toxicOS_13 toxicOS_14 toxicOS_15

Written by Leandro Del'Arco

outubro 25th, 2009 at 10:34 pm