A comunidade brasileira de desenvolvimento e programação de jogos.
Bem-vindo: Ter Nov 13, 2018 4:40 am

Todos os horários são GMT - 3 horas




Criar novo tópico Responder  [ 10 mensagens ] 
Autor Mensagem
 Título: PSP - Para iniciantes (Windows)
MensagemEnviado: Seg Jan 15, 2007 6:28 pm 
Offline
Site Admin
Avatar do usuário

Registrado em: Ter Nov 08, 2005 1:03 pm
Mensagens: 571
Localização: Santos-SP
Mais uma vez eu mergulhei na programação de consoles, e me identifiquei muito com o console PSP e suas funcionalidades. Além de recursos Wi-Fi, o PSP possui infravermelho e alta capacidade gráfica e sonora.

Para configurar ambiente de desenvolvimento para PSP no WINDOWS é necessário baixar:
http://www.cygwin.com/ CYGWIN para windows;
http://ps2dev.org/psp/Tools/Toolchain TOOLCHAIN;
http://ps2dev.org/psp/Projects/PSPSDK PSPSDK;

Instale o CYGWIN com as opções:
- autoconf2.1
- automake1.9
- gcc
- gcc-g++
- make
- patchutils
- subversion
- wget
A instalação poderá demorar de acordo com a sua conexão com a internet, pois esses pacotes são baixados no momento da instalação. Esse programa servirá para simular um ambiente linux para programação em C++;

Após isso, descompactar o conteudo do arquivo compactado TOOLCHAIN para a pasta:
Código:
C:\cygwin\home\[seu.nome]\psptoolchain

Esse pacote é responsável por instalar os arquivos necessários para compilar para PSP;

Descompatar o conteudo do arquivo compactado PSPSDK para a pasta:
Código:
C:\cygwin\usr\local\pspdev

Esse pacote é parte do Kit de desenvolvimento;

Editar o arquivo C:\cygwin\cygwin.bat para o conteudo:
Código:
@echo off

set path=%path%;C:/cygwin/usr/local/pspdev/bin
set PSPSDK=C:/cygwin/usr/local/pspdev

C:
chdir C:\cygwin\bin

bash --login -i


Editar o arquivo C:\cygwin\home\[seu.nome]\psptoolchain\toolchain.sh e substituir tudo de gmake para make e de gpatch para patch;

Agora execute o CYGWIN atraves do cygwin.bat. Você verá um ambiente muito similar ao Shell do Linux. Entre na pasta psptoolchain digitando: cd psptoolchain, agora instale o toolchain digitando: ./toolchain.sh. O processo é lento, pois o SDK é baixado da net, instalado e verificado.

Após terminado você está pronto para compilar para PSP.

Crie uma pasta helloworld e um arquivo main.c com o conteudo:
Código:
#include <pspkernel.h>
#include <pspdebug.h>
#include <pspdisplay.h>
#include <pspctrl.h>
#include <stdlib.h>
#include <string.h>

PSP_MODULE_INFO("PSPHelloWorld", 0, 1, 0);
PSP_MAIN_THREAD_ATTR(PSP_THREAD_ATTR_USER);

// TWILIGHT ZONE! <do doo do doo>
/* Exit callback */
int exit_callback(int arg1, int arg2, void *common) {
          sceKernelExitGame();
          return 0;
}

/* Callback thread */
int CallbackThread(SceSize args, void *argp) {
          int cbid;

          cbid = sceKernelCreateCallback("Exit Callback", exit_callback, NULL);
          sceKernelRegisterExitCallback(cbid);

          sceKernelSleepThreadCB();

          return 0;
}

/* Sets up the callback thread and returns its thread id */
int SetupCallbacks(void) {
          int thid = 0;

          thid = sceKernelCreateThread("update_thread", CallbackThread, 0x11, 0xFA0, 0, 0);
          if(thid >= 0) {
                    sceKernelStartThread(thid, 0, 0);
          }

          return thid;
}
// END OF TWILIGHT ZONE!

int main(void)
{
   SetupCallbacks();
   pspDebugScreenInit();

   sceCtrlSetSamplingCycle(0);
   sceCtrlSetSamplingMode(PSP_CTRL_MODE_DIGITAL);

   pspDebugScreenPrintf("PSP Hello World\n");
   pspDebugScreenPrintf("Homebrew with 3.02 OE Kernel\n");
   pspDebugScreenPrintf("Example by *eyelash, thanks to Dark_Alex\n");

   do {
      sceDisplayWaitVblankStart();
   } while (1);

   return 0;
}

e um outro arquivo chamado Makefile com o conteudo:
Código:
release: all
   mksfo 'PSP Hello World' PARAM.SFO
   pack-pbp EBOOT.PBP PARAM.SFO NULL NULL NULL NULL NULL psphelloworld.prx NULL


TARGET = psphelloworld
OBJS = main.o

INCDIR =
CFLAGS = -O2 -Wall
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS)

BUILD_PRX = 1

LIBDIR =
LIBS =
LDFLAGS =

PSPSDK=$(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak


Agora entre no console do CYGWIN e na pasta helloworld digite make... Se tudo ocorrer bem, será gerado um arquivo EBOOT.PBP que roda em qualquer PSP com Special/Custom Firmwares ou Homebrew Enable/Loaders.

Fontes de pesquisa para homebrews:
http://www.pspdev.org/
http://pspdev.ofcode.com/
http://www.psp-programming.com/

Engine 3D recem lançada derivada do irrlicht:
http://www.ltestudios.com/

OpenGl para PSP:
http://www.goop.org/psp/gl/

Espero ter ajudado, qualquer dúvida é só postar que eu ajudo como eu puder!

Abraços!

_________________
Luiz Pestana
facebook | blog

Imagem


Voltar ao topo
 Perfil  
 
 Título:
MensagemEnviado: Ter Abr 01, 2008 11:15 am 
Offline
Membro novo

Registrado em: Ter Abr 01, 2008 10:27 am
Mensagens: 4
Oi Luiz,

segui seu guia adaptando para Ubuntu Gutsy. Parabens, mesmo sem ter nenhuma nocao a respeito do assunto ate ontem, com seu guia consegui compilar e comecei a entender como funcionam as coisas.

Somente nao sei como (ou onde) instalar na PSP. Tentei de varias maneiras, manualmente, com o QPSPManager, varios locais, mas nao estou conseguindo achar depois o EBOOT.PBP na PSP...

Tem algum toque, algum local especifico, algum procedimento particular, algo?

Obrigado, ajudou e muito :D

Max


Voltar ao topo
 Perfil  
 
 Título:
MensagemEnviado: Ter Abr 01, 2008 11:29 am 
Offline
Membro novo

Registrado em: Ter Abr 01, 2008 10:27 am
Mensagens: 4
P.S.: software de sistema: versao 3.90


Voltar ao topo
 Perfil  
 
 Título:
MensagemEnviado: Ter Abr 01, 2008 2:12 pm 
Offline
Site Admin
Avatar do usuário

Registrado em: Ter Nov 08, 2005 1:03 pm
Mensagens: 571
Localização: Santos-SP
No memory stick, coloque o EBOOT na pasta ms0:/PSP/GAME/TESTE/

_________________
Luiz Pestana
facebook | blog

Imagem


Voltar ao topo
 Perfil  
 
 Título:
MensagemEnviado: Ter Abr 01, 2008 4:44 pm 
Offline
Membro novo

Registrado em: Ter Abr 01, 2008 10:27 am
Mensagens: 4
Obrigado,

tinha feito algo parecido, mas encontro o erro 80020148, parece ter a ver com homebrew. Quando tento startar o programa a mensagem e':

Citação:
Nao foi possivel iniciar o jogo.
(80020148)


e some momentaneamente o UMD. Ate' o momento nao encontrei solucao.

Lembro que meu software de sistema e' na versao 3.90 e compilei no Linux.

Sugestoes?


Voltar ao topo
 Perfil  
 
 Título:
MensagemEnviado: Ter Abr 01, 2008 5:28 pm 
Offline
Site Admin
Avatar do usuário

Registrado em: Ter Nov 08, 2005 1:03 pm
Mensagens: 571
Localização: Santos-SP
está utilizando o SDK recente?

ligue o PSP segurando o R (ligar mesmo, não somente retornar de standby) usando o menu recovery, verifique em configuration qual o kernel que está sendo utilizado na pasta GAME, deve ser o 3.90.

caso não funcione mesmo assim, tente executar na pasta ms0:/PSP/GAME150/TESTE/

att!

_________________
Luiz Pestana
facebook | blog

Imagem


Voltar ao topo
 Perfil  
 
 Título:
MensagemEnviado: Sex Abr 04, 2008 6:46 pm 
Offline
Membro novo

Registrado em: Ter Abr 01, 2008 10:27 am
Mensagens: 4
Obrigado,

consegui resolver. SDK recente, kernel certo. O erro era causado por outra configuracao errada.


Voltar ao topo
 Perfil  
 
 Título: Olá... e Obrigado!
MensagemEnviado: Qua Set 10, 2008 1:25 pm 
Offline
Membro novo

Registrado em: Qua Set 10, 2008 12:50 pm
Mensagens: 1
Luiz, obrigado pela dica!
Mas cara... estou tendo um problema na instalação do tollchain!
A princípio quando você pede para instalar o Cygwin sem determinados itens... eles não aparecem para instalar ou não.

Quando você pede para alterar o que é gpatch g gmake para patch e make... já está tudo patch e não tem nenhum make... :(

Então para quando eu digito ./toolchain.sh para instalar ele da o seguinte erro:

../depends/check-autoconf.sh: line 5: autocont: command not found
ERROR: Install autoconf before continuing.
../depends/check-autoconf.sh: Failed

Eu baixei as seguintes versões:
Cygwin - Ultima do site.
psptoolchain-20070626.tar.bz2
pspsdk-20070626.tar.bz2

Tem idéia de oque pode ter acontecido?

Grato pela ajuda...

_________________
-thatsit-


Voltar ao topo
 Perfil  
 
 Título:
MensagemEnviado: Qua Set 10, 2008 1:48 pm 
Offline
Site Admin
Avatar do usuário

Registrado em: Ter Nov 08, 2005 1:03 pm
Mensagens: 571
Localização: Santos-SP
oi! na instalação do cygwin vc precisa marcar para instalar o autoconf, rode-a novamente.

_________________
Luiz Pestana
facebook | blog

Imagem


Voltar ao topo
 Perfil  
 
 Título:
MensagemEnviado: Sex Jun 19, 2009 1:26 am 
Offline
Membro novo
Avatar do usuário

Registrado em: Qui Jun 18, 2009 4:32 pm
Mensagens: 1
estou tendo o mesmo erro, pq ñ instalei o autoconf, pórem ñ consegui encontrar a opção para instalar o autoconf, esta opção deveria estar na janela Select Packages?

_________________
Never stop thinking, keep the world in moviment.


Voltar ao topo
 Perfil  
 
Exibir mensagens anteriores:  Ordenar por  
Criar novo tópico Responder  [ 10 mensagens ] 

Todos os horários são GMT - 3 horas


Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitantes


Enviar mensagens: Proibido
Responder mensagens: Proibido
Editar mensagens: Proibido
Excluir mensagens: Proibido
Enviar anexos: Proibido

Ir para:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traduzido por: Suporte phpBB