Antes de entrar a saco con nuestro primer programa, Hola nena, nombraremos los principales motivos por los que escoger C.
No es dificil aprender C, de hecho solo tiene 32 palabras clave. Lo laborioso es dominarlo pero para eso estoy aquí, para ayudarte a dominar C con buenos ejemplos y consejos.
Todo programa en C para PSP tiene como mínimo dos elementos. El main.c y el makefile. El main.c es el archivo en el que escribes el programa. El makefile es el archivo en el que escribes por ejemplo el nombre con el que se va a mostrar el programa en la PSP y distintos parámetros. (En la siguiente entrega pondre las definiciones originales, esto es solo para que no os comais el coco).
Una vez ya has escrito el main.c y el makefile, compilamos el programa en un EBOOT.PBP y metemos este EBOOT.PBP en una carpeta dentro de ms0:/PSP/GAME.
No te asustes, verás como es muchísimo más facil de lo que piensas ;)
Lo primero que debes hacer es crear una carpeta en el Escritorio (o donde tú prefieras) y guardar dentro desde el editor de textos un archivo main.c y otro makefile (date cuenta de que makefile no tiene extensión).
Ahora copia y pega en cada archivo lo siguiente (más tarde entraremos en detalles, ahora vamos a comprobar que el compilador nos funciona correctamente).
main.c
#include <pspkernel.h> #include <pspdebug.h> #define printf pspDebugScreenPrintf PSP_MODULE_INFO("Hola nena", 0, 1, 1); PSP_MAIN_THREAD_ATTR(PSP_THREAD_ATTR_USER); int main (int argc, char **argv) { pspDebugScreenInit (); printf ("Hola nena"); return 0; }
makefile
TARGET = THC_Hack
OBJS = main.o
CFLAGS = -O2 -g -G0 -Wall
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS)
LIBDIR =
STDLIBS= -losl -lpng -lz \
-lpsphprm -lpspsdk -lpspctrl -lpspumd -lpsprtc -lpsppower -lpspgu -lpspgum -lpspaudiolib -lpspaudio -lpsphttp -lpspssl -lpspwlan \
-lpspnet_adhocmatching -lpspnet_adhoc -lpspnet_adhocctl -lm -ljpeg
LIBS=$(STDLIBS)
LDFLAGS =
EXTRA_TARGETS = EBOOT.PBP
PSP_EBOOT_TITLE = Hola nena
PSPSDK=$(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak
Ahora mediante la terminal y con el comando cd accede a la carpeta en la que tienes el main.c y el makefile e introduce la orden make. OK, acabas de compilar tu primer programa :)
Para probar el programa (EBOOT.PBP) introducelo dentro de una carpeta en ms0:/PSP/GAME ¡OJO! no le cambies el nombre a EBOOT.PBP.
Ahora vete a Juego -> Memory Stick -> [nombre de tu EBOOT.PBP, osea, de tu programa]. Pulsas X y ¡Tachan! Ahí está tu primer homebrew (los programas caseros se llaman homebrews, que significa 'echo en casa'). Acabas de verificar que estás listo para programar cualquier tipo de programa en C para PSP. ¡Enhorabuena!
Esto es todo de momento. En la siguiente entrega aprenderás paso por paso a escribir un programa y comprenderás lo que has copiado y pegado para probar el compilador. ¡Nos vemos!
Entrega 3. Entendiendo 'Hola nena'.
ese makefile
es identico al de mis tutoriales.
¿Cual es el problema?
¿Cual es el problema? Saludos.
ninguno
ninguno. Un Saludo
Bien!
Veamos que tan bueno eres en explicar asi vuelvo a C xD
Salu2 THC_Hack
Intentaré hacerlo lo mejor
Intentaré hacerlo lo mejor que sepa. Si ves que en alguna cosa debería de haber puesto más detenimiento o algo está mal explicado no dudes en decirmelo y lo corrijo. Saludos.
Genial
He visto que has empezado a tocar temas sencillos para todos, claro de un nivel principiante y veo que ya tienes varios de estos tutoriales que vas agregando por lo que se ve ya tienes claro y organizado a los puntos que vas....Excelente Gracias ya que siempre es bueno tener más opciones para poder aprender...
Esto funcionaría?: #include
Esto funcionaría?:
Exacto ;) Con #define
Exacto ;)
Con #define [nuevo_nombre] [nombre_de_la_funcion] lo que haces es algo así como crear un acceso directo a la función. En tu caso sería lo mismo poner imprime ("Hola nena"); que poner pspDebugScreenPrintf ("Hola nena");. Puedes escoger cualquier nombre para la función respetando siempre que el primer caracter del nombre de la variable sea una letra o una barrabaja. Saludos m.rr.
Como saldras al menu XMB?
Como saldras al menu XMB?
Pués en este caso reiniciando
Pués en este caso reiniciando la PSP. He decidido no marear con los callbacks a los noobs. Tampoco con más funciones. Eso ya se explicara en siguientes entregas. Saludos.
Ok pero sabes lo incommodo
Ok pero sabes lo incommodo que es aun seas nob tener que estar que estar usando el recobery a cada rato? pero bueno tu sabras suerte amigo :D.
ummmm
Sting18 - Escribio
Ok pero sabes lo incommodoOk pero sabes lo incommodo que es aun seas nob tener que estar que estar usando el recobery a cada rato? pero bueno tu sabras suerte amigo.
eso, traducido al correcto español ---->
Ok, pero sabes lo incomodo que es, aunque seas noob ( principiante ),es bastante tedioso estar entrando y saliendo del recovery a cada rato.
Saludos perdido....!!!
===========
2 Pasos a la libertad.
sudo apt-get remove Windows
sudo apt-get install Gnu/Linux
==================================================
Linux se crea y no se destruye, solo se transforma.
Ni tan correcto
Guitripio escribió:
Sting18 - Escribio
eso, traducido al correcto español ---->
Ok, pero sabes lo incomodo que es, aunque seas noob ( principiante ),es bastante tedioso estar entrando y saliendo del recovery a cada rato.
- Escribio -> Escribió
- eso -> Eso [Estás empezando una oración, va con mayúsculas]
- Ok no es una palabra en español, sería "Bien" o "Bueno"
- incomodo -> incómodo
- ( principiante ) -> (principiante) [No hay necesidad de poner espacios entre la palabra y el paréntesis]
- (principiante),es bastante -> (principiante). Es bastante [Normalmente va un espacio después de la coma. Por otro lado estás separando dos oraciones]
PSP FAT [5.00 M33-6] [6.60 ME] [Hard Moded] / Nintendo Wii [4.1U] [cIOS Hermes] [D2X cIOS] / iPhone 3G [4.2.1] [BB 05.13.04] [redsn0w] / iPod Touch 4 [6.1] [evasi0n]
07/05/10: Tuve el placer de llamarle con todo derecho "N00B" a molotovi xDDD
Recuerda: Sé el intérprete -_-
¿Quieres café? ¡¡Pues toma
¿Quieres café? ¡¡Pues toma seis tazas!! Saludos.
jajajaja
Sin azucar, por favor...!!!!
jajajaja jajjaajaj
Saludos.
para que quiero
en la funcion principal los argumentos int argc y char **argv si en esa funcion no se usa.
Ten en cuenta que es para gente inexperta, esos argumentos les puede confundir.
PD: Si veo que los tutoriales tienen sustancia, te los pasare a portada.
Copio y pego: "Esto es todo
Copio y pego: "Esto es todo de momento. En la siguiente entrega aprenderás paso por
paso a escribir un programa y comprenderás lo que has copiado y pegado
para probar el compilador. ¡Nos vemos!"
Tan solo es una prueba para probar el correcto funcionamiento del compilador.
La manera "internacional" de declarar el main es mediante:
Mi objetivo es que los tutoriales tengan substancia como para hacer un buen zumo ;) Saludos.