Comprei um
PSP recentemente e entre uma jogatina e outra descobri várias coisas bacanas que se podia fazer nele, incluindo programar em python. Infelizmente só hoje tive tempo de fuçar um pouco sobre o assunto e escrever meu primeiro código em python psp: o famoso "olá, mundo!".
Para rodar python no PSP eu precisei do
PSP Stackless Python, um port da linguagem para o PSP feito por um brasileiro: Carlos Eduardo. A última versão do port é 2.5.2, que já dá para fazer bastante coisa.
Infelizmente no site do projeto há pouca documentação disponível (pior ainda se você procurar em pt-br). Como me interessei no assunto, e até para ajudar o Carlos, resolvi criar este tutorial básico mostrando como fiz para escrever um "Olá, Mundo!" na tela do PSP. Obviamente, dá para fazer muito mais que isso. :P
"Instalando" o python
O primeiro passo é "instalar" o
PSP Stackless Python no seu PSP. Baixe a versão mais atual no site do projeto. Procure por
StacklessPSP-2.5.2_R1.zip.
Descompactando o arquivo baixando você encontra: EBOOT.PBP e python.zip. Tudo o que você precisa fazer é copiar estes dois arquivos para o diretório PSP/GAME, que fica dentro do memory stick. Pronto, a "instalação" foi feita. :-)
NOTA: Recomendo que você crie um sub-diretório em PSP/GAME chamada "python", por exemplo, e coloque os dois arquivos dentro dele. Isso ajuda a manter uma melhor organização.
Para verificar é só ligar seu PSP e ir em GAME -> Memory Stick. Se tudo foi feito corretamente você verá o Stackless Python pronto para ser rodado:
O "Olá, Mundo!"
Sempre que o python for executado, ele procurará um arquivo chamado script.py dentro do mesmo diretório onde estão o EBOOT.PBP e o python.zip. É neste arquivo (script.py) que vamos colocar o nosso código.
Abra seu editor de texto preferido e cole o código abaixo:
# -*- encoding: utf-8 -*-
import psp2d
def main(mensagem):
tela = psp2d.Screen()
fundo = psp2d.Image(480, 272)
fonte = psp2d.Font('font.png')
tela.blit(fundo)
fonte.drawText(tela, 0, 0, mensagem)
tela.swap()
while True:
joystick = psp2d.Controller()
if joystick.circle:
break
if __name__ == '__main__':
try:
main('Ola, mundo! =)')
except:
import traceback
traceback.print_exc(file = file('erro.txt', 'w'))
Depois é só copiar este arquivo para dentro do mesmo diretório onde está o python e o EBOOT.PBP. PSP/GAME, ou PSP/GAME/python se você criou um subdiretório como eu recomendei.
Agora é só ligar seu PSP novamente, rodar o python e tchã-dan:
Seu primeiro script em python estará rodando. :-) Legal, né?