| Inicio | Noticias | Foros PSP | Juegos | Videos | Manuales | Buscar | Contacto | Staff | Publicidad |

Retroceder   Foros PS Vita y PSP > Comunidad > Coder's Zone: Programacion PSP y PS Vita > TUTORIALES

Respuesta
 
Herramientas
Antiguo 05/04/08, 00:00:32   #1
c.ronaldo_ 13
PSP Developer
 
Avatar de c.ronaldo_ 13
 
Fecha de Ingreso: abr 2007
Mensajes: 1.574
Thanks: 177
Thanked 220 Times in 79 Posts
c.ronaldo_ 13 una joya en brutoc.ronaldo_ 13 una joya en brutoc.ronaldo_ 13 una joya en bruto
Predeterminado [Tutorial C] Empezando a Programar para PSP by c.ronaldo_13

Este tuto está pensado para programar C para PSP

Antes de nada,voy a explicar un poco de programación.

Todos los programas funcionan por un conjunto de funciones definidas por unas librerías.Y muchos preguntaran,que es una función?qué es una librería?
Lo primero es que una librería tiene distintas funciones que "nos facilitan la vida".Después hay que llamar a las funciones de la librería requerida.
Lo primero que vamos a hacer es instalar un programa para tener las librerías para programar en PSP.

Antes definimos estas variables,yendo a Mi PC,información del Sistema,opciones avanzadas,pinchad en variables de entorno.
En la varible PATH añades al final ;C:/PSPDev/bin. Ahora creas dos variables nuevas,una con el nombre PSPSDK con valor "C:/PSPDev/psp/sdk" y otra con nombre PSPDEV con valor "C:/PSPDev".
Ahora te descargas este programa: http://beta.pesepe.com/system/files/...raTorpesV3.exe

Instálalo en la ruta que dice,pues sino hay que cambiar las variables.

Al instalarlo,verás una serie de carpetas,ya están las librerías.En Source Codec PSP y Samples by Marce82 vereis ejemplos de programas en su código,un main.c y un makefile(podeis probar a compilar con un archivo en la raiz de PSPDev llamado Compilador).Os preguntareis que qué son,pues en el main es dónde se escribe el código,es decirlas librerías definidas con sus funciones y el makefile dónde se concentran los datos del programa a compilar,nombre del programa,Fw en el cual funciona,librería,etc.El main.c no necesariamente debe llamarse así.Vamos a analizar la estructura de un código de un Hello Word y las funciones,librerías,etc.:


Código:
#include < pspkernel.h >
#include < pspdebug.h >

 //Aqui definimos las librerías a usar,que nos facilitarán la vida para programar,esto: < pspdebug.h > significa que busca las librerías donde están las del PSPDev,si fuera esto " pspdebug.h " es que la librería está al lado de tu main y makefile.



//Aquí definimos la información del programa.Este HelloWorld correrá en kernel 3.xx

PSP_MODULE_INFO("Hola Mundo", 0, 1, 0); 
PSP_MAIN_THREAD_ATTR(PSP_THREAD_ATTR_USER);


#define printf pspDebugScreenPrintf

//Esta es la función para escribir en la pantalla,pero abreviada en printf.Siempre que pongamos #define nos referimos a esto:

//#define nombrequeledasalafuncion funcion

int exit_callback(int arg1, int arg2, void *common) {
sceKernelExitGame();
return 0;
}

int CallbackThread(SceSize args, void *argp) {
int cbid;
cbid = sceKernelCreateCallback("Exit Callback", exit_callback, NULL);
sceKernelRegisterExitCallback(cbid);
sceKernelSleepThreadCB();
return 0;
}

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


//Esto hace una llamada de salida al programa,ya se explicará en más tutos.

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

//Empezamos a poner las funciones que hará el programa,esto limpia la pantalla.

printf("Hola Mundo por Nikocronaldo"); 

//Esto indicará lo que salga en la pantalla,puedes poner lo que quieras.

//Ahora añadimos esto(seviría para estar en modo sleep)

sceKernelSleepThread(); 

return 0; 

}

//Esto es para salir de la aplicación
Ahora creamos el makefile,que es un archivo que no tiene extensión y agregamos las siguientes líneas:

Código:
TARGET = Hola Mundo
OBJS = main.o
CFLAGS = -O2 -G0 -Wall
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS)
EXTRA_TARGETS = EBOOT.PBP
PSP_EBOOT_TITLE = Hola Mundo
PSPSDK=$(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak

Dale al Compilador.cmd y se compilará si todo habrá ido bien.

Posibles problemas:

-No compila por errores de librerías:
Estas librerías son las más actualizadas,debería funcionar el siguiente source,sino lo compilas para kernel 1.5 y si sigue sin funcionar,me he dado cuenta que si desinstalas este programa e instalas el V2 ,la mayoría de programas compilan mejor con él.

-No funciona en mi PSP:
Debería de funcionar,sino lo pones en kernel 1.5

-Me genera errores que no son de las librerías:
Mira el código y repásalo y si no ves nada raro te contestaré.También puede ser que no has definido las librerías en el makefile.


Tuto By NikoCronaldo
__________________
c.ronaldo_ 13 is offline   Responder Con Cita
The Following 3 Users Say Thank You to c.ronaldo_ 13 For This Useful Post:
DVDER (19/12/08), lone230 (15/08/08), Seritx (07/02/09)
Antiguo 29/04/08, 22:08:24   #2
the_cocoloco
Senior Member
 
Fecha de Ingreso: feb 2008
Ubicación: valencia-españa
Mensajes: 513
Thanks: 34
Thanked 102 Times in 77 Posts
the_cocoloco pronto sera famoso
Predeterminado Re: Empezando a Programar para PSP by c.ronaldo_13

gracias, estaba buscando algo parecido +1 para ti!
__________________

the_cocoloco is offline   Responder Con Cita
Antiguo 15/12/08, 16:55:38   #3
FERROMALO
Φ
 
Avatar de FERROMALO
 
Fecha de Ingreso: may 2006
Ubicación: Madrid City
Mensajes: 4.600
Thanks: 1.445
Thanked 2.102 Times in 745 Posts
FERROMALO su reputacion va mas alla de lo posibleFERROMALO su reputacion va mas alla de lo posibleFERROMALO su reputacion va mas alla de lo posibleFERROMALO su reputacion va mas alla de lo posibleFERROMALO su reputacion va mas alla de lo posibleFERROMALO su reputacion va mas alla de lo posibleFERROMALO su reputacion va mas alla de lo posibleFERROMALO su reputacion va mas alla de lo posibleFERROMALO su reputacion va mas alla de lo posibleFERROMALO su reputacion va mas alla de lo posibleFERROMALO su reputacion va mas alla de lo posible

Líder combatiente Líder combatiente Tutorial del mes Corazon PSPero 

Predeterminado Re: Empezando a Programar para PSP by c.ronaldo_13

Niko, preguntita ¿sigue sirviendo este compilador o hay alguno más actualizado que me venga bien?
__________________

FERROMALO is online now   Responder Con Cita
Respuesta

Bookmarks

Herramientas



La franja horaria es GMT +2. Ahora son las 18:47:46.


Powered by: vBulletin, Versión 3.8.5
Derechos de Autor ©2000 - 2020, Jelsoft Enterprises Ltd.
Traducción VBulletin por vbulletinhispano.com