Ver la versión completa : [Programación] Pre-Scene CAANOO
A todos nos preocupa la compatibilidad entre las dos últimas plataformas de GPH. Si bien las especificaciones oficiales están ya sentenciadas, el panorama de la nueva CAANOO está envuelto de tinieblas e incertidumbre. Portes, SDKs, ensamblador, acceso al kernel, BennuGD, SDL, y en general todo lo referente a la programación de la nueva CAANOO en base a todo el panorama anterior desde la WIZ. Cuánto material preexistente podrá ser aprovechado por la nueva maquinita? El objetivo: REUNIRLO TODO!!!
< - >
Hola a todo el mundo!!!
Hace unos días descubrí la CAANOO por casualidad. En mi bendita burbuja de ignorancia desconocía por completo el maravilloso mundo del código abierto en el mundo de las portátiles. Fue toda una revelación. Reservé una en cuanto pude y ahora me dispongo a arremangarme y ponerme con el tema de la programación. Todavía falta un mes para tenerla (seamos optimistas --y estoy que me subo por las paredes--). Pero este es un tema que ya puede ir madurando (y mitigando el ansia!!!).
Unas dudillas:
habrá un modo de acceder a un terminal directo al kernel... (y de este modo poder instalar, ejecutar...) o no?
el tema de la programación en ensamblador... se usa una API en conjunción? SDL(no estoy familiarizado con ella --todavía--)? Alguna parte del SDK?
Bueno la idea es ir calentando motores con lo referente a WIZ y/o compatibles y así allanarme el terreno para cuando llegue el momento CAANOO.
Uso Win7 y según parece hay algun problema con este sistema para el desarrollo con SDL. Hasta ahora al intentar compilar el proyecto de muestra en el CodeBlocks no me encuentra los archivos ".h" del include. Estoy algo oxidado... parece que no le indico bien el path... Es el W7? Soy yo?
Alguna recomendación para empezar???
Grax!
Gammenon
23/07/2010, 22:32
Si haces el juego en SDL seguramente en algun momento proximo sera recompilarlo para la Caanoo y listo :)
Puck2099
23/07/2010, 22:35
Ya te he respondido a las mismas preguntas en el otro hilo :)
nitroosistem
23/07/2010, 22:56
Uau! esta presentacion es mejor que la que hice yo en su momento!:D
Bienvenido colega!:brindis:
@Puck2099:
Ok, gracias por duplicado ^^. Pero... :D
Vamos a ver, desde arriba. Según tú, el desarrollo conviene hacerlo bajo Linux. No problem. Una VM y andando... Ahora bien, sabes cómo debe configurarse el IDE para que pille las ".h" de los #include? Hay algo que no hago bien. Sigo con ello...
@Gammenon:
Según entiendo, SDL es una plataforma de desarrollo de juegos y aplicaciones. Ahora la pregunta del millón (muy subjetivo esto...¬¬), soporta acelerómetros, entrada de voz (micro), pantalla táctil y rumble???
@nitroosistem:
Bienvenido colega!:brindis:
Gracias. Ánimo y a currarnoslo!
<--->
Otra duda, ésta sobre la emulación en general (espero de corazón ver el MSX en esta consola), y sobre la PSX en particular, qué es lo que lo hace tan difícil, el HW es mucho más potente que el de la máquina original 533MHz vs 33MHz (supongo que el resto también estará por el estilo...). Según creo haber leído por algún sitio, el problema reside en conseguir un buen "archivo de arranque ¿<BIOS>?" o lo he soñado...
Volviendo al tema de los portes, cómo se vislumbra el tema de un porte de recolección masiva de todo el material desarrollado para las GPH?
Otra cosa, algún canal IRC activo dedicado al desarrollo de este tipo de material?
He entrado en #retrodev pero estaba solo!!!!
Txkxk!!
Otra duda, ésta sobre la emulación en general (espero de corazón ver el MSX en esta consola), y sobre la PSX en particular, qué es lo que lo hace tan difícil, el HW es mucho más potente que el de la máquina original 533MHz vs 33MHz
suele pasar que lo dificil no es emular el procesador principal, sino los chips de apoyo que suelen llevar las consolas, es decir en realidad es una cpu de 33mhz y varios chips de apoyo dedicados a tareas especificas, habitualmente al menos tienen una gpu, dedicada a los graficos. y claro ya no es emular un procesador sino varias a la vez y algunos chips no se conocen o no estan demasiado bien emulados, y ahi esta todo el misterio.
Aiken
^MiSaTo^
24/07/2010, 00:11
@Puck2099:
Ok, gracias por duplicado ^^. Pero... :D
Vamos a ver, desde arriba. Según tú, el desarrollo conviene hacerlo bajo Linux. No problem. Una VM y andando... Ahora bien, sabes cómo debe configurarse el IDE para que pille las ".h" de los #include? Hay algo que no hago bien. Sigo con ello...
@Gammenon:
Según entiendo, SDL es una plataforma de desarrollo de juegos y aplicaciones. Ahora la pregunta del millón (muy subjetivo esto...¬¬), soporta acelerómetros, entrada de voz (micro), pantalla táctil y rumble???
@nitroosistem:
Gracias. Ánimo y a currarnoslo!
<--->
Otra duda, ésta sobre la emulación en general (espero de corazón ver el MSX en esta consola), y sobre la PSX en particular, qué es lo que lo hace tan difícil, el HW es mucho más potente que el de la máquina original 533MHz vs 33MHz (supongo que el resto también estará por el estilo...). Según creo haber leído por algún sitio, el problema reside en conseguir un buen "archivo de arranque ¿<BIOS>?" o lo he soñado...
Volviendo al tema de los portes, cómo se vislumbra el tema de un porte de recolección masiva de todo el material desarrollado para las GPH?
Otra cosa, algún canal IRC activo dedicado al desarrollo de este tipo de material?
He entrado en #retrodev pero estaba solo!!!!
Txkxk!!
Sobre el desarrollo si tienes problemas con los .h seguramente sea la ruta a las librerías. Yo tengo hecha una plantilla y demás para codeblocks en linux, si quieres te lo paso ^^
Las SDL son unas librerías orientadas a desarrollo de videojuegos, no un SDK en sí. Con ellas manejas todo lo de vídeo, audio, controles, etc.
No se cómo se maneja la táctil y acelerómetros, ni se si hay algo en SDL para ello.
Con respecto al IRC antes estabamos en #retrodev pero yo migré, y ya no se si en el hispano sigue alguien ;)
GameMaster
24/07/2010, 00:50
Si quieres programar para la Wiz/Caanoo con el SDK oficial, olvidate del Windows 7, ya he tenido varios dolores por eso, el OpenGLES esta capado en este SO y algunas dependencias más tambien dan problemas.
XP o Linux para ello.
Con otras herramientas no tendras problemas, como BennuGD que veras en Caanoo tambien, salvo que cambien alguna cosa de ultima hora en temas de compatibilidad y libs disponibles.
@Aiken:
Mmm... ya veo. Y en cuanto a lo del archivo BIOS? No, no era un sueño ;P.
@^MiSaTo^:
Sobre el desarrollo si tienes problemas con los .h seguramente sea la ruta a las librerías. Yo tengo hecha una plantilla y demás para codeblocks en linux, si quieres te lo paso ^^
Pleeeease! Of Cooourseee!!! He encontrado varios sitios que hablan del tema pero en cada uno un obstáculo a la solución, sirva este ejemplo:
"wiki.gp2x.org/wiki/Setting_up_a_development_environment_%28Windows%29 #Installing_MinSys_and_setting_PATH" -->404!
Txkxk!!
^MiSaTo^
24/07/2010, 01:04
yo de windows y el SDK oficial no tengo ni idea, porque hace muchos años que no uso windows xD
En linux uso el SDK de openwiz que su instalación es descomprimir en /opt/toolchain y ale a correr. En base a eso está creada mi plantilla de codeblocks.
Ahora mismo estoy desde el portatil, y lo tengo en el otro PC, en cuanto pueda, si quieres te mando mi archivo de config y mi plantilla y te digo cómo instalarlo ;)
Si quieres programar para la Wiz/Caanoo con el SDK oficial, olvidate del Windows 7, ya he tenido varios dolores por eso, el OpenGLES esta capado en este SO y algunas dependencias más tambien dan problemas.
XP o Linux para ello.
Con otras herramientas no tendras problemas, como BennuGD que veras en Caanoo tambien, salvo que cambien alguna cosa de ultima hora en temas de compatibilidad y libs disponibles.
Creo que montaré una VM con LINUX dedicada. Alguna distro preferida por algún motivo?
Por otra parte, me gustaría investigar también el ensamblado. Alguna herramienta para ello? Documentación? Tal vez en la página de ARM?
Tkz!
^MiSaTo^
24/07/2010, 01:19
Creo que montaré una VM con LINUX dedicada. Alguna distro preferida por algún motivo?
Por otra parte, me gustaría investigar también el ensamblado. Alguna herramienta para ello? Documentación? Tal vez en la página de ARM?
Tkz!
Por mi experiencia te digo que o bien la última ubuntu o bien debian testing xD
Aunque a midebian testing me hacía cosas raras con el gnome y no se por qué. En cualquier caso cualquiera que lleve la última glibc y demás porque sino te volverás loco xD
GameMaster
24/07/2010, 01:22
Yo tambien tuve problemas con la VM poniendo XP, mas concretamente con la instalación de drivers que no detectaban bien la tarjeta y con el OpenGL.
O sea, en mi W7 con XP en una maquina virtual tampoco tuve suerte con el SDK.
En teoría, SDL no debería dar problemas a la hora de manejar la pantalla táctil y los acelerómetros: Bennu usa las SDL que vienen pre-instaladas en WIZ (creo) y la pantalla táctil se maneja como si fuera un ratón con el botón izquierdo pulsado, por lo que si GPH ha vuelto a incluir las SDL en su firm (que seguramente sí, porque llevan haciéndolo generaciones), es más que probable que tengamos la táctil igual, y que los acelerómetros se configuren como un eje más del mando que representan los controles normales de la consola.
Y a Splinter ya le han enviado una CAANOO de desarrollo, es cuestion de tiempo el verlo funcionar, no creo que tarde demasiado (es más, hasta es posible que funcione directamente si no hay problemas con el OEABI).
NO PUEDE SER TAAAN CHUUNGO! xxxDDD
Hay que pillar la estela de alguien que le haya pillado el tranki y tós' p'allá!
Asi que de momento: VM Ubuntu con la última glibc.
A parte, alguien se anima a explicar cómo se configuran los Paths del CodeBlocks?
----
Más cosas, qué tal un listado de "técnicas de abordaje"? Hasta ahora me he encontrado con, al menos 3 SDKs:
- el oficial de GPH,
- el "no oficial",
- y el "openWIZ" para linux.
Después tenemos los lenguajes como
- Fenix, y
- BennuGD, así como la
- SDL
que, hasta lo que sé, pueden desarrollar juegos y aplicaciones por si mismas sin intervención de ningún SDK. --Espero no estar metiendo el gambón...--.
Por debajo de todo esto se encuentra
- el núcleo 2.6.x
que lo gestiona todo y al que también tenemos acceso en modo ROOT mediante una consola donde podemos usar el sistema operativo a nuestro antojo.
Y finalmente nos queda el FINAL BOSS:
- el ensamblador ("POLLUX"(?)) *, -> http:/elinux.org/Pollux
ese poderoso y temido desconocido. Supongo que algo habrá para desarrollar, compilar, y correr código objeto.
Qué más?
Tkxkx!!
Este manual te puede ser de ayuda.
Aquí pone todas las librerías que necesitas instalar.
Instalación de CodeBlocks + SDL en Ubuntu Linux (http://acuv.webs.upv.es/index.php?option=com_phocadownload&view=category&id=6:herramientas)
Suerte :)
Segata Sanshiro
24/07/2010, 13:27
Este manual te puede ser de ayuda.
Aquí pone todas las librerías que necesitas instalar.
Instalación de CodeBlocks + SDL en Ubuntu Linux (http://acuv.webs.upv.es/index.php?option=com_phocadownload&view=category&id=6:herramientas)
Suerte :)
Interesante enlace, thanks.
También puedes mirar directamente el tutorial oficial de GPH, que pone paso a paso cómo configurar el Codeblocks para programar para la Wiz.
Gracias señores... esto me pasa por cazurrín. Creo que la solución al problema de los Paths viene en la página 8 de la documentación oficial del SDK de GPH.
CodeBlocks: Settings->Compiler and debugger->Toolchain executables->Additional paths...
Me lo leo y cuento cosas.
Eso te iba a comentar.
Yo tengo instalado el sdk oficial en windows y si sigues paso a paso como configurar codeblocks de la forma que explica en la documentación no tendrás ningún problema.
I'm back!
He encontrado el problema. No era lo que pensaba. El problema es que el directorio de instalación del SDK no es el predefinido (C:\GPH_SDK). El proyecto con el que tenía el problema era la Demo 2DTutorial y como se dice en el pdf de la docu oficial, se presupone la instalación por defecto. Así pues en Project->Build options->Search directories estaban los directorios incorrectos :D.
@Nuria:
Exacto,
si sigues paso a paso como configurar codeblocks de la forma que explica en la documentación no tendrás ningún problema. Pero aprender es así.
---
Algo para lo del ensamblado para POLLUX???
Puck2099
24/07/2010, 21:24
Algo para lo del ensamblado para POLLUX???
Con esto aprendí yo:
http://www.coranac.com/tonc/text/asm.htm
http://www.ethernut.de/en/documents/arm-inline-asm.html
http://simplemachines.it/doc/arm_inst.pdf
http://www.armtutorial.com/
Jojojoooo!!!
2 buenasss. La primera es que ya tengo el ejemplo compilado y rulando en W7. La guía oficial es "cuasi-perfecta". Es que el ansia nos puede...
Algunas diferencias a destacar para Win7 x64. En la configuración de las opciones del linker (pag. 17) para el compilado "host" en lugar de "-lCBLibrary" tiene que haber "-lDGE". Lo demás al pie de la letra (excepto las rutas de los directorios si no está en C:\ --claramente--).
Y Puck2099, muchas gracias por los enlaces. Todavía no había encontrado nada. A ver si me manejo y puedo contener la boquita con respecto a este tema hasta saber un poco como va.
Armtutorial>>Dead! :/
Grax!
GameMaster
25/07/2010, 06:05
Leete el otro hilo llamado creo 'SDK oficial...', alli encontraras respuestas a algunas preguntas que iras seguramente hacer al probar mas ejemplos, lo digo para no repetirnos tanto :)
Gammenon
25/07/2010, 10:48
Yo programo en Windows 7 con el SDK oficial (ese de SDL + codeblocks) sin problemas. Eso si, usando solo las SDL peladas, nada de openGL.
De lujo. Gracias a todos. De momento estoy entretenido con los enlaces de Puck2099:felicidades:. Me encanta esto.
Bueeeno, he estado aprendiendo el Kung Fu del ARMinst con el pdf. Es cojonudo. Ya había trasteado con el ensamblador antes, el 68k de Motorola (Megadrive) y el x86 de Intel. Pero con este me he llevado no pocas sorpresas. El código densificado con condicionales y esa maravilla del Barrel Shifter, la tubería de instrucciones tri-nivel... Muy gwapo, pero bueno, al grano. Me he atascado un poco (sólo un poquito:). Se trata del Quiz#4.
Mi primer intento me ha dado por ahí:
LDR r3, #0 ;inicializa r3 a 0
:start ;etiqueta de entrada al bucle
CMP r1, r2, LSL#4 ;comprobar si r1 ha llegado a r2. Aquí una duda:
;ES ESTO CORRECTO? SE
;PUEDE HACER ESO CON CMP???
;Y OTRA, en la solución usan LSL#2. Por qué no 4?
BEQ end ;fin si r1 ha llegado al final
ADD r3, r3, [r1], #4 ;sumatorio en r3, después actualiza r1 al siguiente.
;Y otra vez, por qué no 4?
BAL start ;Salta al principio del bucle.
:end ;etiqueta de fin.
Bueno, pues eso, muchas gracias de antemano para el valiente que me eche un cable con ese Quiz#4 (:teacher:...Puuuck2099...??? :angel1:hehhehh).
No me voy a meter en el código, pero LDR lo que hace es cargar datos de memoria. Para poner r3 a 0 sería MOV r3, #0. Y en el CMP no entiendo por qué lo multiplicas r2 por 16 (1<<4).
Hay otra cosa importante, ARM es un procesador basado en registros. Eso quiere decir que el ADD con [r1] no es correcto. Sólo se pueden acceder a memoria con instrucciones Load o Store.
Un saludo.
:brindis:
Gracias hardyx. Con lo del ADD [] me he colado un raaato, oopsa! No había caído. El acceso a memoria sólo para LDR/STR (y allegadas, ok:).
Respecto a "LDR r3, #0" nada, otra colada. Me he liado con la declaración de constantes de 32bits!, caso en el que recomiendan expresamente usar esta instrucción ya que el ensamblador la optimiza automáticamente, aún así debería haber usado la forma "LDR r3, =0". En este caso no tiene sentido pues ni se trata de una constante, ni el valor necesita la precisión completa.
En la instrucción CMP lo que pretendía era multiplicar por 32 (5--no 4!!!--), no por 16 (4). O sea que me he lucido del todiiito! JAJAJAJJ!!!! :lamer::loco::D:D:D
Y esto por qué, preguntabas, pues porque r1 contiene el número de posición. Y r2 el número de elementos del vector. Cada elemento ocupa 32 bits. :blabla::chupete:
Okok, me lo repaso jejejj. Eso sí, la dirección de memoria aumenta de byte en byte, verdad? Y otra, aquí una palabra son 32 bits en lugar de 16???
Grs!:heavy:
< - >
Al final salté a la solución. En ella hacen el l-shift con #2 para el desplazamiento, esto es, multiplicar el índice por 4 (que por byte -la unidad de memoria- nos dan los 32 bits por elemento). Según entiendo, la palabra son 32 bits, y la half 16.
Hay que decir que los textos son bastante escuetos. Respecto al Quiz#4, creo que lo he captado. Volveré a intentarlo cuando termine el documento.
Saluten!!:brindis:
Aquí tienes un libro sobre ARM con más detalle.
http://www.peter-cockerell.net/aalp/html/frames.html
También puedes programar en C con la SDL.
http://wiki.gp2x.org/wiki/Writing_an_SDL_Hello_World
De luxe! Graciax hardyx:)!
También he dado con el pdf del ARM SDT Reference Manual. Para matarse con el libraco! Unas 600 páginas!:miedo::risas:
Todavía estoy acabando el primer "overview" al tema del Asm, que creo que es muy importante para sacarle el máximo provecho a la maquinita. También he visto cuatro cosas del BennuGD, y tengo configurado y listo para el ataque el CodeBlocks con el SDK ofi.
Me interesan los emuladores, averiguar cómo funcionan (ojo, Level: ABSOLUTE ZERO!), y por qué puñetillas no vamos a poder tener un PSX (o N64...) como está mandao en la GPxx. Como dije al principio, LO QUIEROOOTOOODOOOOO -y alguna cosita más(MilkyTracker, QT Extended Improved???, &+...)-!!! Jajjajj :awesome:
Veo que estás en el ajo de la PSX. Esto puede ser el comienzo de una buena amistad...[wei]
HAI!
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.