<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Del&#039;Arco &#187; playsation2</title>
	<atom:link href="http://blog.delarco.com.br/category/games/playsation2/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.delarco.com.br</link>
	<description>The Pixel Company</description>
	<lastBuildDate>Mon, 07 Jun 2010 18:35:28 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>PlayStation 2 &#8211; Hello World!</title>
		<link>http://blog.delarco.com.br/playstation-2-hello-world/</link>
		<comments>http://blog.delarco.com.br/playstation-2-hello-world/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 02:34:48 +0000</pubDate>
		<dc:creator>Leandro Del&#39;Arco</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[playsation2]]></category>
		<category><![CDATA[programação]]></category>

		<guid isPermaLink="false">http://blog.delarco.com.br/?p=20</guid>
		<description><![CDATA[
Quem nunca teve vontade de ver um software próprio (nem que seja um &#8220;Hello World&#8221;) 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 &#8220;Hello World&#8221; rodando pelo pendrive e&#8230; bom, desisti de [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left"><img class="aligncenter size-full wp-image-160" src="http://blog.delarco.com.br/wp-content/uploads/2009/10/ps2.png" alt="ps2" width="320" height="320" /></p>
<p style="text-align: left">Quem nunca teve vontade de ver um software próprio (nem que seja um &#8220;Hello World&#8221;) rodando num console de verdade ou mesmo num emulador?</p>
<p style="text-align: left">Em 2007 me interessei pelo assunto, particularmente em relação ao <a href="http://www.us.playstation.com/PS2" target="_blank">PS2</a> e comecei a pesquisar. Em um ou dois dias, já tinha um &#8220;Hello World&#8221; rodando pelo pendrive e&#8230; 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: <em>há! vou fazer um jogo ultra-mega-blaster-fodástico!</em> E duas horas depois vai desistir, pq as ferramentas <em>FREE</em> disponíveis não são tão <em>user friendly</em> quanto vc gostaria (ou comparadas às oficiais, que podem custar seu rim esquerdo).</p>
<p style="text-align: left">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:</p>
<ul style="text-align: left">
<li><a href="http://ps2dev.org/" target="_blank">http://ps2dev.org/</a></li>
<li><a href="http://ps2dev.ofcode.com/" target="_blank">http://ps2dev.ofcode.com/</a></li>
<li><a href="http://lukasz.dk/" target="_blank">http://lukasz.dk</a>/</li>
</ul>
<p style="text-align: left">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).</p>
<h2 style="text-align: left">Beleza então, meu cadê o Hello World?</h2>
<p style="text-align: left">Para começar a brincar com o seu PS2, primeiro será necessário baixar o PS2SDK no site <a href="http://ps2dev.ofcode.com/modules/wordpress/?page_id=38" target="_blank">http://ps2dev.ofcode.com/</a>. Lá vc encontrará duas opções:</p>
<ul style="text-align: left">
<li><strong>PS2sdk Win32 Full Installation</strong>: 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;</li>
<li><strong>PS2sdk Win32 Full + ofcode libs</strong>: possui tudo que o item anterior dispõe, com a adição de algumas bibliotecas extras <strong>E</strong> 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&#8217;s que rodem no seu console).</li>
</ul>
<p style="text-align: left">Levando em conta a diferença entre o tamanho dos instaladores, é claro que você vai baixar o segundo item, clicando <a href="http://ps2dev.ofcode.com/files/Ps2sdk.ofcode.exe" target="_blank">aqui</a>.</p>
<h2 style="text-align: left">Instalando o PS2sdk</h2>
<p style="text-align: left">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:</p>
<ul style="text-align: left">
<li>Execute o instalador e escolha a língua. Eu prefiro inglês <img src='http://blog.delarco.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> <img class="aligncenter size-full wp-image-27" src="http://blog.delarco.com.br/wp-content/uploads/2009/10/ps2sdk_install1.JPG" alt="ps2sdk_install1" width="294" height="160" /></li>
<li>Clique em &#8220;Next&#8221; e selecione a opção &#8220;Full&#8221;, então, &#8220;Next&#8221;<img class="aligncenter size-full wp-image-28" src="http://blog.delarco.com.br/wp-content/uploads/2009/10/ps2sdk_install2.JPG" alt="ps2sdk_install2" width="503" height="393" /></li>
<li>Selecione o local de instalação e clique em &#8220;Install&#8221; e, ao finalizar a instalação, em &#8220;Finish&#8221;<img class="aligncenter size-full wp-image-29" src="http://blog.delarco.com.br/wp-content/uploads/2009/10/ps2sdk_install3.JPG" alt="ps2sdk_install3" width="503" height="393" /></li>
<li>Agora, abra o arquivo <strong>ps2setup.bat </strong>(que está no diretório de instalação do PS2sdk) com o bloco de notas e<strong> </strong>adicione um &#8220;cmd&#8221; ao final, ficando assim<img class="aligncenter size-full wp-image-30" src="http://blog.delarco.com.br/wp-content/uploads/2009/10/ps2sdk_install4.JPG" alt="ps2sdk_install4" width="567" height="278" /></li>
</ul>
<h2 style="text-align: left">Compilando os exemplos do PS2SDK</h2>
<p style="text-align: left">Executando o <strong>ps2setup.bat</strong> 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 <strong>ps2sdk\samples</strong> (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 <strong>hel</strong><strong>lo</strong> (diretório_de_instalação_\ps2sdk\samples\hello) e digite &#8220;<strong>make</strong>&#8221; (sem aspas).</p>
<p style="text-align: left"><img class="aligncenter size-full wp-image-31" src="http://blog.delarco.com.br/wp-content/uploads/2009/10/ps2sdk_make.JPG" alt="ps2sdk_make" width="972" height="518" /></p>
<p style="text-align: left">Se tudo ocorrer bem, um arquivo <em>hello.elf</em> (um <em>hello.o</em> também) deve ser criado dentro do diretório <strong>hello</strong>. O .elf é o seu executável!</p>
<p style="text-align: left">Uhull! Já tenho meu Hello World no hello.elf!!! Tá&#8230; mas o que eu faço com isso?</p>
<h2 style="text-align: left">Testando seu homebrew</h2>
<p style="text-align: left">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 &#8220;navegar&#8221; em todos dispositivos de armazenamento (DVD, CD, pendrive, memory card etc) e executar qualquer software que você tenha gravado:</p>
<p style="text-align: left">Screen inicial do ToxicOS:</p>
<p style="text-align: left"><img class="aligncenter size-full wp-image-143" src="http://blog.delarco.com.br/wp-content/uploads/2009/10/toxicOS_011.jpg" alt="toxicOS_01" width="320" height="240" /></p>
<p style="text-align: left">Opções:</p>
<p style="text-align: left"><img class="aligncenter size-full wp-image-144" src="http://blog.delarco.com.br/wp-content/uploads/2009/10/toxicOS_021.jpg" alt="toxicOS_02" width="320" height="240" /></p>
<p style="text-align: left">Acessando o dispositivo <strong>mass </strong>(storage):</p>
<p style="text-align: left"><img class="aligncenter size-full wp-image-145" src="http://blog.delarco.com.br/wp-content/uploads/2009/10/toxicOS_031.jpg" alt="toxicOS_03" width="320" height="240" /></p>
<p style="text-align: left">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 <strong>math3d.elf</strong>, eis o resultado:</p>
<p style="text-align: left"><img class="aligncenter size-full wp-image-146" src="http://blog.delarco.com.br/wp-content/uploads/2009/10/toxicOS_04.jpg" alt="toxicOS_04" width="320" height="240" /></p>
<p style="text-align: left">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 <strong>tools </strong>na pasta de instalação do PS2sdk.</p>
<h2 style="text-align: left">Criando uma imagem com o cdgenPS2</h2>
<p style="text-align: left">Abra o cdgenPS2.exe e arraste o seu .elf para a lista que contém os campos NAME, LBA, SIZE ETC.</p>
<p style="text-align: left"><img class="aligncenter size-full wp-image-35" src="http://blog.delarco.com.br/wp-content/uploads/2009/10/cdgenPS2.JPG" alt="cdgenPS2" width="749" height="318" /></p>
<p style="text-align: left">Agora clique no botão IMG (o do ícone de CD), dê um nome para o sua imagem e grave num CD.</p>
<p style="text-align: left">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.</p>
<h2 style="text-align: left">O emulador PCSX2</h2>
<p style="text-align: left">Além do cdgenPS2, a pasta <strong>tools </strong>possui o <strong>pcsx2-0.8.1</strong>, 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 <img src='http://blog.delarco.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ou vc pode ler meu post sobre <a href="http://blog.delarco.com.br/arquivos-escondidos-em-jpgs/" target="_blank">RAR&#8217;s escondidos em JPG&#8217;s</a> e baixar <a href="http://gelotech.files.wordpress.com/2009/10/ps2_bios.jpg" target="_blank">ESSA</a> imagem (11 MB) ;x</p>
<p style="text-align: left">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 &#8220;Open ELF File&#8221; 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.</p>
<p style="text-align: left">Exemplos e homebrews que eu rodei no meu PS2:</p>
<p style="text-align: left"><strong><em>graph.elf</em></strong></p>
<p style="text-align: left"><img class="size-full wp-image-148 alignleft" src="http://blog.delarco.com.br/wp-content/uploads/2009/10/toxicOS_05.jpg" alt="toxicOS_05" width="320" height="240" /></p>
<p style="text-align: left">
<p style="text-align: left">
<p style="text-align: left">
<p style="text-align: left">
<p style="text-align: left">
<p style="text-align: left">
<p style="text-align: left">
<p style="text-align: left">
<p style="text-align: left"><em><strong>snes station<br />
</strong></em></p>
<p style="text-align: left"><img class="size-full wp-image-149   alignleft" src="http://blog.delarco.com.br/wp-content/uploads/2009/10/toxicOS_06.jpg" alt="toxicOS_06" width="320" height="240" /> <img class="size-full wp-image-150 alignnone" src="http://blog.delarco.com.br/wp-content/uploads/2009/10/toxicOS_07.jpg" alt="toxicOS_07" width="320" height="240" /></p>
<p style="text-align: left"><em><strong>doom</strong></em></p>
<p style="text-align: left"><img class="size-full wp-image-151 alignleft" src="http://blog.delarco.com.br/wp-content/uploads/2009/10/toxicOS_08.jpg" alt="toxicOS_08" width="320" height="240" /> <img class="alignnone size-full wp-image-152" src="http://blog.delarco.com.br/wp-content/uploads/2009/10/toxicOS_09.jpg" alt="toxicOS_09" width="320" height="240" /> <img class="alignnone size-full wp-image-153" src="http://blog.delarco.com.br/wp-content/uploads/2009/10/toxicOS_10.jpg" alt="toxicOS_10" width="320" height="240" /></p>
<p style="text-align: left"><em><strong>blade </strong>(carrega e mostra um modelo </em><em>.md2)</em></p>
<p style="text-align: left"><img class="alignnone size-full wp-image-154" src="http://blog.delarco.com.br/wp-content/uploads/2009/10/toxicOS_11.jpg" alt="toxicOS_11" width="320" height="240" /> <img class="alignnone size-full wp-image-155" src="http://blog.delarco.com.br/wp-content/uploads/2009/10/toxicOS_12.jpg" alt="toxicOS_12" width="320" height="240" /></p>
<p style="text-align: left"><em><strong>PS2 Asteroids</strong></em></p>
<p style="text-align: left"><img class="alignnone size-full wp-image-156" src="http://blog.delarco.com.br/wp-content/uploads/2009/10/toxicOS_13.jpg" alt="toxicOS_13" width="320" height="240" /> <img class="alignnone size-full wp-image-157" src="http://blog.delarco.com.br/wp-content/uploads/2009/10/toxicOS_14.jpg" alt="toxicOS_14" width="320" height="240" /> <img class="alignnone size-full wp-image-158" src="http://blog.delarco.com.br/wp-content/uploads/2009/10/toxicOS_15.jpg" alt="toxicOS_15" width="320" height="240" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.delarco.com.br/playstation-2-hello-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- www.000webhost.com Analytics Code -->
<script type="text/javascript" src="http://analytics.hosting24.com/count.php"></script>
<noscript><a href="http://www.hosting24.com/"><img src="http://analytics.hosting24.com/count.php" alt="web hosting" /></a></noscript>
<!-- End Of Analytics Code -->
