Ver la versión completa : Vc6 y GamePark_Sdk
the_goulin
17/05/2005, 18:00
Hola
Bueno, pues resulta que desde ayer soy el afortunado poseedor de una Gp32 Blue y supongo que como a todo el mundo lo quiero probar todo y aprender a velocidades de escandalo... :)
Programar se puede decir que se un poquillo pero la verdad es que con la Gp me estoy desesperando bastante , entre makes(que nunca los he tocado), librerias , SDK de todos tipos ... la verdad estoy muy mareado y encima no consigo hacer funcionar ni el Hola Mundo... bueno el HolaMundo si , modificando un codigo que viene con el DcFreedev :), total que lo que pienso que deberia ser mas facil es con el SDK oficial.
Asi que ni corto ni perezoso me he instalado el VC6 y el sdk oficial, abro un ejemplo , compilo, mmm parece que todo funciona, ejecuto ... Vaya si sale un emulador :D y bueno, despues de aparecer el emulador nada mas, se queda la imagen de la GP pero no hace nada mas, pulso en la SMC y me habre un cuadro de dialogo (open) pero en la carpeta debug no hay ningun fichero smc generado.
Alguien me puede decir que hago mal ¿por que el emu no funciona?
Muchisimas gracias deantemano.
The_Goulin
una vez pulsado en la SMC abre cualquier archivo en el cuadro de dialogo y empezara a ejecutarse el programa que has compilado.
si haces uso de la smc en el código de tu programa tendras que crear una smc virtual y elegirla cuando abres el fichero.
De hecho no es un emulador, es realmente el código para Windows, lo que pasa es que los de Gamepark han tenido ese toque de preparar la interfície usuario como si se tratara de la GP32.
Por cierto, yo cambié el skin para que sea más discreto, es que para probar las cosas en el trabajo, esa GP enorme canta mucho.
Aquí teneis el skin que utilizo, por cierto, hay que meterlo en Win32Lib\ressources y tiene que ser un bmp de 24 bits.
the_goulin
18/05/2005, 11:49
Muchas gracias por contestar a los dos :)
bueno, teneis razon abriendo cualquier archivo la cosa funciona, pero me encuentro un problema, creo haber leido que con el VC no puedo compilar directamente para la Gp asi que he probado a compilar un ejemplo con el DcFreeDev y me ha dado un error, explico los pasos que he seguido:
He pillado el proyecto de prueba que tiene por defecto el DcFreeDev lo he copiado a otra carpeta y he copiado los ficheros del Ejemplo 0 del Kit Oficial (ex000\common)
... pocos pasos eh? ;)
bueno, pues cuando compilo me da este error:
[Linker error] undefined reference to 'GpRectFill16'
que supongo que es que falta linkar una libreria, pero no se ni cual es ni como se hace.
el Log es el siguiente:
Compiler: Gp32
Building Makefile: "C:\Dev-Cpp\Examples\GP32\Proba\Makefile.win"
Executing make...
make.exe -f "C:\Dev-Cpp\Examples\GP32\Proba\Makefile.win" all
arm-agb-elf-gcc.exe crt0.o gpstart.o gpmain.o -o "binary.elf" -L"C:/Dev-Cpp/GP32/MiniGp32/lib" -L"C:/Dev-Cpp/GP32/MiniGp32/lib/gcc-lib/arm-agb-elf/3.2.2" -L"C:/Dev-Cpp/GP32/MiniGp32/arm-agb-elf/lib" -Tlnkscript user_init.o -nostartfiles -lm -lgpos -lgpstdio -lgpstdlib -lgpsound -lgpmem -lgpgraphic -lgpfont -lSDL_image -ljpeg -lpng -lz -lm -lSDL -lgpstdio
gpmain.o: In function `GpMain':
gpmain.o(.text+0x180): undefined reference to `GpRectFill16'
collect2: ld returned 1 exit status
make.exe: *** [binary.elf] Error 1
Execution terminated
Gracias de antemano y saludillos
The_Goulin
the_goulin
18/05/2005, 11:50
De hecho no es un emulador, es realmente el código para Windows, lo que pasa es que los de Gamepark han tenido ese toque de preparar la interfície usuario como si se tratara de la GP32.
Por cierto, yo cambié el skin para que sea más discreto, es que para probar las cosas en el trabajo, esa GP enorme canta mucho.
Aquí teneis el skin que utilizo, por cierto, hay que meterlo en Win32Lib\ressources y tiene que ser un bmp de 24 bits.
Ahora mismo me instalo ese SKin ^_^ yo tambien hago cosillas en el curro
Veo que has instalado el SDK oficial para Windows a partir del archivo proporcionado por Gamepark. Lo digo por los ejemplos :)
Te aconsejo que pongas de lado esa carpeta, y que sigas mi tutorial (http://www.nekanium.com/gp32/docs.htm) para instalar el SDK oficial.
En él encontrarás solo lo necesario, un programa de test 16 bits y un archivo de compatibilidad que te puede ser de utilidad. Aún tengo que explicar como personalizar ese archivo compatibility.c (a ver si acabo esa FAQ que empecé :rolleyes: ).
También encontrarás un tutorial para instalar correctamente devkitARM con las librerías de 16 bits que a lo mejor te estan faltando y por eso te da el error.
Oankali
the_goulin
18/05/2005, 13:54
oankali gracias a tus explicaciones ahora me funciona de fabula :)
pero ahora me ha picado la curiosidad y le he pegado un vistacin al fichero compatibility.c
supongo que tendra que ver con el compilado en windows y luego para la Gp ¿no?
veo que tambien haces referencia a una libreria de mod's ¿es parte del sdk oficial la libreria gpmodplay?
Bueno, que muchas gracias por las explicaciones ^_^ ya voy progresando ...
Saludillos
The_Goulin
Compatibility.c es la solución que he encontrado para subsanar las deficiencias del SDK para Windows ya que algunas funciones no funcionan correctamente.
Para los proyectos de la GP32 no hay que utilizarlo. De hecho, si miras el programa de test, verás que no está incluido en el makefile.
Eso sí, el archivo Compatibility.c no puede funcionar correctamente si no se preprocesan los nombres de función correctamente con #define en los .h del SDK que están en Win32Lib\gpwin\include. Mira por ejemplo la redefinición de GpAppExit() en el archivo gpstdlib.h y sabrás a que me refiero.
La librería libmodplay es de CHN.
Como no funciona bajo Windows, he incluido estas funciones vacías que permiten compilar y testar bajo Windows un programa que utiliza la librería de CHN. Solo hay que #definir libmodplay en algún lugar o en las opciones del proyecto de VC para que compile correctamente.
En mi web (http://www.nekanium.com/gp32/projects.htm#libmodplay%20Tester) encontrarás un ejemplo de test que hace uso de esta librería.
Se puede utilizar el mismo sistema para otras librerías externas. Aunque si no son de sonido, es posible que tengas que hacer algo más que crear funciones vacías :rolleyes:.
Oankali
the_goulin
18/05/2005, 14:35
bueno, creo que mas o menos lo he entendido :P .
Estoy un poco verde hace mucho que no tocaba c/c++ y cuando lo toque la ultima vez fue en un cursillo (mini) de c donde toque el Turbo C++ y en el de C++ fue con Turbo C++ y un poco de VC asi que de makefiles y demas no tengo ni idea y por lo que veo son bastante importantes ¿donde puedo conseguir información sobre como funcionan y la sintaxis de estos?
Saludillos,
The_Goulin
Los makefiles solo son importantes a la hora de generar el ejecutable para la GP32.
Pero si coges un ya hecho, verás que es muy fácil añadir los archivos que necesitas.
En cuanto a la documentación de make.exe, no tengo ni idea.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.