Ver la versión completa : GP32 SDK... Esto es desesperante
kidchaos2k5
02/02/2006, 04:09
Hola!
A ver quien me puede ayudar con esto... Estoy haciendo pruebas con las fuentes del stepmania usando el SDK oficial de la GP32 (y los parches de C++ de oankali, sobretodo poder depurar código y ir aprendiendo sobre la marcha)...
Estoy teniendo este problema al mostrar por pantalla un xpm que he cargado (ver imagen).
Sugerencias, please??
Gracias muchas...
@B^)>
Las funciones default del gp32sdk utilizan imagenes rotadas porque la pantalla de gp32 esta rotada y asi pinta mas rapido, o te haces una rutina que pinte las imagenes normales rotadas para ser vistas en la gp32 o rotas las imagenes al cargarlas.
Busca el programa GP32Converter.exe que va bien para eso.
Recuerda que si programas para 16bpp las dimensiones de los gráficos tienen que ser múltiplos de 8.
si haces un port (o lo intentas) de stepmania,....te mando un jamon xD [wei]
kidchaos2k5
03/02/2006, 23:50
Mejor que un jamón, unas clases de programación avanzada... ;)
Gracias a todos por las respuestas.
Pues sip, soy un novato advenedizo con ideas imposibles en la cabeza... El caso es que llevo un par de meses intentando sacar algo en claro, pero de momento no se como sacarlo adelante..
Por lo que he visto, hay suficientes recursos que la gp puede soportar (las librerias de mirko, SDL, Opengl con klimt, libmad,...) pero no me acabo de decidir con el entorno, aunque está muy bien programar con las librerias oficiales, he intentado trabajar con el devkitpro pero tengo muchos problemas a la hora de compilar las librerias (sobretodo de linkado) y lo peor de todo es no tener manera de depurar (tampoco me tiraba del todo bien el geepee), alguien ha probado el GDB? :confused:
Agradeceré cualquier ayuda/consejo/recomendación parar ver si puedo tirar esto adelante...
@B^)>
Si necesitas debugar, sin lugar a dudas tu solución es el kit oficial para windows.
A menos que tengas la posibilidad de conectar la GP32 con el PC con un cable especial (me parece que es el J-TAG) y debugar de forma más profunda. No sé como se hace, pero por lo visto se puede hacer.
A mí el devkitPRO no me ha dado ningun problema de linkage. ¿Has probado el tutorial que está en mi web? Hay un programa de test.
enkonsierto
04/02/2006, 07:37
lo mejor para win en mi opinion es el rili dev kit, pero si como dice oankali, necesitas hacer debug, pues mejor el oficial de windows...
kidchaos2k5
04/02/2006, 18:40
Oankali, el mejor!!!
Al final funcionó! Muchisimas gracias!! Pasé por alto las recomendaciones que dabas en tu página... De momento seguiré con el VC hasta tener algún resultado y luego me pelearé con el devkit (por el rollo de las librerias y demás...)
Lo siguiente que toca es ver si puedo adaptar el código para que funcione con el Klimt, ya os comentaré los avances...
Saludos!
@B^)>
bulbastre
05/02/2006, 01:16
Muchísimo ánimo, que el proyecto promete.
kidchaos2k5
24/02/2006, 23:29
Hola de nuevo!
Pues si, todavia sigo peleandome con este proyectillo. De momento no ha habido avances... No he podido compilar klimt para las sdk oficiales y las de mr mirko me siguen dando el famoso error de pre-compilación de punteros hardware en vez de software...
Después de mucho buscar he descubierto que Locke tuvo el mismo problema mientras hacia un cargador de MD2... :rolleyes: en fin...
http://www.gp32spain.com/foros/showthread.php?t=13343&highlight=Ayuda+Floating+Point+PLISS%21
Al parecer las librerias 0.90 de mirko ya llevan precompiladas el floating point por hardaware y klimt se desarrolló sobre las 0.85...
Hay alguna otra solución? Intentaré ponerme en contacto con Mr.Mirko, a ver si puede ayudarme...
Saludos!
Al parecer las librerias 0.90 de mirko ya llevan precompiladas el floating point por hardaware y klimt se desarrolló sobre las 0.85...
Hay alguna otra solución? Intentaré ponerme en contacto con Mr.Mirko, a ver si puede ayudarme...
Yo he tenido un problema parecido con las SDL y C++. La solución que he encontrado ha sido extraer todos los objs de las librerías en cuestión y modificarlos para que no usen floating point por hardware:
ej: supongamos que tenemos la librería libpepito.a:
-extraemos los objs:
ar -v -x libpepito.a
-reemplazamos el byte de la posición 0x25h por 00 en todos los objs. Yo lo hago en Windows con un script para el Winhex:
Open "c:\tmp\*.o"
ForAllObjDo
Goto 0x25
Write 0x00
EndDo
SaveAll
exit
- creamos un nueva librería con los objs modificados:
ar -v -q libpepitonew.a *.o
Espero que te sirva.
kidchaos2k5
25/02/2006, 08:07
En un principio no ha funcionado :confused:
El problema lo tengo cuando intento compilar alguno de los ejemplos del klimt (en este caso con el mismo devkit de mirko). He seguido los pasos (y lo he probado con ar y arm-elf-ar por si acaso) pero me siguen saliendo los mismos errores
: ERROR: libmirkoSDK.a(gp_8x8font.o) uses
hardware FP, whereas simple.elf uses software FP
y así con varios .o
Al final acabo muy liado de tanto compilar y linkar librerias pero creo que estoy siguiendo los tutoriales correctamente, aunqe ando un poco confundido :loco: ... y voy saltando del kit de desarrollo mirko al devkitpro, al visual c [Ahhh] ...
En fin, seguiré jugando al tilematch en mi gp, que parece que es lo único que me sale de momento (Que vicio A600! Que gran juego [wei4] )
¿Puedes subir el programa que estás compilando con las librerías que usas, makefile y demás? A ver si yo tengo más suerte :)
kidchaos2k5
25/02/2006, 09:34
Aun despierto?
La libreria y demas ya venia incluida dentro del último SDK de mirko (0.95) (tambien el kit). Me lo bajé de su página de sourceforge:
http://www.mirkoroller.de/gp32/
En el directorio src.addon ya estan incluidas todas las fuentes y siguiendo los pasos del leeme.txt en español dice que primero era necesario recompilar toda el SDK (src.lowlevel) con los parámetros que indicaba (incluyendo -soft-float) y después compilar la libreria (modificando el makefile de klimt/klimt/build/GP32). Genera un libkilmt.a que copi en el directorio lib de mirko. Hasta aquí bien...
El problema lo tengo cuando intento compilar las cuatros ejemplo que hay en el directorio test (por algun post decia que no era necesario incluir "-lgcc -lc -lstdc++ -lm"). Al hacer el link me da el problema de HP con los modulos gp_arm.o y gp_irq.o...
A ver si tienes suerte!!
Saludos
bufalo_1973
25/02/2006, 09:34
Además de una versión para GP32 ¿qué tal una para GP2X? (no necesariamente haciéndola kidchaos2k5)
kidchaos2k5
25/02/2006, 09:53
Por algún foro he leido algo de Beat2X :D... No tengo GP2X para poder probarla...
enkonsierto
25/02/2006, 21:00
Por algún foro he leido algo de Beat2X :D... No tengo GP2X para poder probarla...
Si haces un port del stepmanía te hago un monumento...
@kidchaos2k5: lo he intentado pero no ha habido manera :(
kidchaos2k5
27/02/2006, 06:48
Gracias por intentarlo,... Al menos ya no me siento solo ;) ...
He puesto un correo a Mirko y a Locke (que hizo un cargador de ficheros MD2), pero de momento no han contestado... Si no me dicen nada, abriré un nuevo hilo para llamar la atención...
La GP32 aun tiene mucho que dar de hablar!!:lovegps:
kidchaos2k5
08/03/2006, 03:48
jejeje :loco:
Recuerda que si programas para 16bpp las dimensiones de los gráficos tienen que ser múltiplos de 8.
Y creo recordar que si programabas a 8bpp (256 colores) tambien tenian que ser multiplos, en este caso creo que de 4 (fuera de coña) ;)
Aiken
kidchaos2k5
08/03/2006, 22:46
Aiken, gracias por los rem, Lei las notas de la página de oankali ... Aunque si miras el título del último post, después de probar con el devkit de Mirko y el visualC++, ahora estoy probando con el Devkitpro (viene con gcc 4.0.1,... el de mirko venia con la 3.4.0)... entre mirar posts y revisar makefiles para compilar los ejemplos de klimt, me di cuenta que la opción --soft-float nunca debe ponerse o crea incompatibilidades entre librerias...
Todavía tengo mis dudas... Realmente es posible programar en C++ para la GP32 con librerias GPL (funcionan los operadores new/delete?)??? Con el SDK de mirko parece que es posible pero sigo haciendo pruebas,... Ahora tengo que ver como compilar las SDL (las librerias de SDL++ de A600 tampoco me han aclarado, solo hay structs pero no classes)...
En fin... A seguir dándole...
@B^)>
Todavía tengo mis dudas... Realmente es posible programar en C++ para la GP32 con librerias GPL (funcionan los operadores new/delete?)???
Pues es una buena pregunta, yo tengo un proyecto que llevo con el años (literalmente) en C++ y compila y funciona pero tengo un para de petadas! que ya me tiene harto! :(
Tan harto porque no soy capaz de arreglarlas que estoy empezando a portarlo de C++ a C a ver si soluciono el tema :(
Aiken
En el ejemplo (http://www.nekanium.com/gp32/sdk/16bitsCppTest.zip) de mi web, se utilizan los operadores new y delete de forma implícita y funciona perfectamente.
Recuerdo haberlos probado de forma explícita para testear la librería y funcionaba. Si encuentro el programa de test lo postearé.
Aquí teneis el programa de test que usé para parchear el SDK oficial.
Aquí teneis el programa de test que usé para parchear el SDK oficial.
Esto hay que probal-lo jeje :D descargando.
Aiken
Esto hay que probal-lo jeje :D descargando.
Aiken
Buf, no te hagas ilusiones que es super cutre, solo texto.
Buf, no te hagas ilusiones que es super cutre, solo texto.
jeje, no lo he ejecutado pero ya he visto el codigo, y siempre se puede aprender.
Lo que esta claro es que cada programador es un mundo, jeje, mola ver codigo de otra gente jeje :) Sencillito me refiero, que ver que codigo del mame asusta jeje :)
PD. No tendreis un ejemplo tonto (para gp32?) de cargar una foto jpg con SDL y mostrarla en pantalla. Es que no consigo que se vea con todos los colores :(
Aiken
anibarro
09/03/2006, 23:07
Oankali, en tu makefile ¿por que adjuntas la libreria stdc++ y compilas con el gcc, en lugar de compilar con el g++ y quitar esa libreria? Asi probando un poco funciona igual y siempre sabra mejor como compilar y optimizar las estructuras de C++ el g++ que el gcc no?
De lo que no acabo de fiarme es de que el new y el delete funcionen correctamente...voy a probar a darles chicha porque me suena que intente hacer algo y me fallaban :confused:
Oankali, en tu makefile ¿por que adjuntas la libreria stdc++ y compilas con el gcc, en lugar de compilar con el g++ y quitar esa libreria? Asi probando un poco funciona igual y siempre sabra mejor como compilar y optimizar las estructuras de C++ el g++ que el gcc no?
De lo que no acabo de fiarme es de que el new y el delete funcionen correctamente...voy a probar a darles chicha porque me suena que intente hacer algo y me fallaban :confused:
Pues ni idea, no recuerdo porque lo hice así. Probablemente fuese un lapsus, o porque copié la configuración de un makefile de otro. Pero para serte sincero, si no lo llegas a mencionar, yo ni idea de que se podía hacer de otra manera [wei].
El gcc y sus variantes no son mi fuerte que digamos.
En cuanto al new y delete, no puedo decir si funcionan siempre o no. Yo de c++ casi nada y fué con la ayuda de alguien de gp32x.com (me parece que era Mr. Spiv) que conseguí parchear el SDK oficial.
anibarro
10/03/2006, 00:36
y no sabes el alegron que me lleve al ver por fin una forma facil de usar c++ con el sdk oficial ;P Tengo el tutorial de tu web para configurar el entorno como oro en paño en un CD ^^
kidchaos2k5
31/03/2006, 05:59
Hola otra vez!
Sigo adelante con el proyecto y aun no ha habido manera (ni de leer un fichero... Aunque he podido compilar algunas clases básicas para arrancar el main... en cuanto intenta hacer un "new" de una clase filemanager se me cuelga... per no se si es por el new, por una llamada a una función static o por el uso de la clase string, o por (etc...)...
Querí hacer pruebas con las librerias que A600 posteó hace algún tiempo, pero parece que con lo del reinicio del servidor de gp32 spain se ha perdido...
A600, publicaste un zip con tus librerias y el script para compilar en GP32? Tengo tus liberias de SDL++ pero no encuentro las originals (que incluyen el fichero libblu.a)? Podrías volver a postearlo, please?!!!
kidchaos2k5
07/07/2006, 05:42
Hola de nuevo!
Aun no me he rendido con mi proyectillo para hacer un port del Stepmania...
Como ya comenté, lo estoy haciendo en c++ y utilizo el devkitarm18 y las librerias de Mirko (compiladas por mi) y las de SDL que publicó A600 hace algun tiempo (además, puedo hacer debug mediante el gdbstub así que tambien metí las librerias del SDK oficial )... Después de comentarlo por los foros de gp32x ya me dijeron que tendría problemas al juntarlas todas...
Actualmente tengo un programa básico que tira (gestión de memoria, procesos y poco mas...), pero ahora al compilar las sdl_mixerMP3 que venian en las librerias de A600 vuelvo a tener problemillas de conflictos entre librerias (el famoso error de librerias compiladas con FP/HP)...
Alguna sugerencia? Hay alguna libreria compilada para reproducir Mp3 que pueda integrar en mi proyecto?
Alguien tiene tiempo libre para participar en el proyecto? Podriamos contactar por msn/irc...
Esto se complica cada vez mas ... :(
Saludos!
anibarro
07/07/2006, 17:25
Sobre el error de FP con sdl_mixerMP3, ¿has probado ya lo que dijo A600 unos post mas atras?
Yo he tenido un problema parecido con las SDL y C++. La solución que he encontrado ha sido extraer todos los objs de las librerías en cuestión y modificarlos para que no usen floating point por hardware:
ej: supongamos que tenemos la librería libpepito.a:
-extraemos los objs:
ar -v -x libpepito.a
-reemplazamos el byte de la posición 0x25h por 00 en todos los objs. Yo lo hago en Windows con un script para el Winhex:
Open "c:\tmp\*.o"
ForAllObjDo
Goto 0x25
Write 0x00
EndDo
SaveAll
exit
- creamos un nueva librería con los objs modificados:
ar -v -q libpepitonew.a *.o
Espero que te sirva.
kidchaos2k5
08/07/2006, 21:41
Anibarro,
Si que lo probé un par de veces, pero no lo conseguí... Hoy que tengo tiempo, me explicaré un poco:
- El entorno que uso es el DevkitARM18 precompilado sobre cygwin: Haciendo pruebas, y con la ayuda de DJWillis, he conseguido que funcione en C++ (principalmente clases, herencia y templates,...). Las clases STL funcionan parcialmente (vectores y maps van bien, pero no me funcionan los iteradores así que no se pueden utilizar las listas ni los algoritmos de ordenación)... También intenté usar el entorno que propuso Oankali, pero habia demasiada dependencia de windows y de las librerias Microsoft...
- Utilizo el SDK de Mirko (compilado con las fuentes sin flags de FP),... Hasta donde he llegado, he visto que todo funciona bien (acceso a video, pad y sonido)... Ya comenté que conseguí compilar los test de opengl-klimt...
- Como ya puse en el post anterior, también conseguí integrar el gdbstub, a pesar de que usan las librerias precompiladas del SDK oficial. Siguiendo las instrucciones de la página, y usando el cable GPUSB, es posible parar la ejecución del programa y inspeccionar variables en tiempo de ejecución, realmente útil...
- Así que lo siguiente que quería probar era la reproducción MP3 por SDL: El problema de usar librerias descargadas de Internet es que si no se utilizan los mismos flags con que se compilaron siempre surge el conflicto de la unidad de coma flotante (FP-HP o algo así), esto me pasa, por ejemplo, al mezclar el SDK oficial con las de SDL de Chui o si uso las librerias que posteó A600 con las del DevkitARM (normalmente siempre me da el conflicto con libg.a)... Si empiezo a parchear librerias tampoco acabaré sacando nada en claro de lo que funciona y lo que no :confused:... Volviendo al tema del MP3.. También le he echado un vistazo a la libmad pero hay demasiado código y muy poca documentación para poder sacar yo solo algo en claro ... No he encontrado por ningún lado el código fuente del GPMad, así que me he vuelto a quedar estancado...
Quizás soy un poco exagerado a la hora de querer mezclar tantas cosas, pero creo que es necesario para poder tener un entorno de trabajo que pueda dar algo de si,... Y creo que aun no se le ha sacado el máximo potencial que puede dar la GP32 :lovegps: ...
Aclaraciones? Sugerencias? Agradeceré cualquier comentario...
anibarro
09/07/2006, 04:13
Yo te sugiero que uses solo las SDL con los parches para poder compilar en C++ que puso A600, si intentas usar a la vez varios SDK te puedes volver loco para hacerlo funcionar :S
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions Inc. All rights reserved.