BennuGD PSP

Started by DCelso, January 12, 2011, 12:01:56 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

SplinterGU

probaste con compilacion son zlib y con los recursos descomprimidos?

nunca dije que quite ni quitaria los asserts, si dije que quitaria chequeos de errores que provocaran salida y el control fuera posible, pero esto es una situacion critica, y este funcion es generica, y no siempre hay control del usuario sobre los retornos de esta funcion.

la cosa es que nunca deberia llegar ahi un read con 0 de len a leer.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

Nuevos tests con vigoroth.

Quité del código todas las funciones _song, load, play, unload, set volume, y voilá desaparecieron muchos cuelgues, pero aún así se seguía colgando el vigoroth al volver al menú y cambiar de juego.
No dispuesto a dejarlo por imposible eliminé del código todas las funciones _wav, load, unload, y play. Y ahora va perfecto el vigoroth pero sin ningún sonido :D.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

SplinterGU

la mixer me parece que tiene algunos problemas.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

freeyourdmind, puedes probar tus juegos sin cargar sonidos en psp para ver si van más rápidos y si no se cuelgan?
Porque ahora sin sonidos el vigoroth va igual de rápido que en pc.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

SplinterGU

todo el problema de consumo y cuelgues en psp es por la mixer?
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

Pues parece ser que no, he probado a usar los wavs de vigoroth en un ejemplo de sdl_mixer para psp usando c a pelo y no se cuelga ni nada en la psp, así que supongo que es algo de integración de la sdl_mixer en el bgdi, tengo que estudiar más el código de bgdi por si es por ahí por donde anda algún fallo de alineamiento.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

FreeYourMind

Me gustaria, pero no tengo los src por aqui, y tampoco es una tarea tan rapida la que pides  ;D
De todas formas si ya has confirmado que es la mixer, pues estais como en Dingoo, y mas cerca :)

SplinterGU

Quote from: DCelso on March 02, 2011, 07:58:46 PM
Pues parece ser que no, he probado a usar los wavs de vigoroth en un ejemplo de sdl_mixer para psp usando c a pelo y no se cuelga ni nada en la psp, así que supongo que es algo de integración de la sdl_mixer en el bgdi, tengo que estudiar más el código de bgdi por si es por ahí por donde anda algún fallo de alineamiento.

ok, pruebalo y me cuentas.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

he creado una versión capada del bgdi que hace que los load_song y load_wav devuelvan siempre 0, y he probado varios juegos y aún no me han dado cuelgues.
Free, puedes probar tus dcbs con esta versión?
http://www.mediafire.com/?xdjd7w6hd19f7d9
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

FreeYourMind


DCelso

SplinterGu, he encontrado estos parámetros del gcc

-fpack-struct=16
-freg-struct-return

No se exactamente para qué valen, parece que el primero alinea las estructuras de 16 en 16 bits y el segundo permite devolver estructura en funciones, si alguien lo puede confirmar...

Con esos parámetros parece que se cuelga menos el bgdi para psp, pero se sigue colgando. Esos parámetros no parece que alineen los campos de la estructura que es lo que necesitamos, creo. :(.

Estoy probando con el echo, he castrado el sonido, y parece que ahora se me cuelga el juego cuando pillo la arma y empiezo a disparar como un cosaco y va a salir la estrella de energía que se mueve, pero solo me pasa a veces. Creo que es algún chequeo interno de bennu que no siempre lee alguna estructura desalineada, y en cuanto la va a leer, pues cuelgue al canto.

¿Sugerencias? me encantaría encontrar un test .prg que se cuelgue siempre en el mismo sitio para poder encontrar al culpable, pero no veo nada, mis juegos ejemplo como nim y pptls van bien siempre, supongo que no usan la parte conflictiva de bgdi.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

SplinterGU

#191
todo lo que yo explique tiempo atras no tiene que ver con alineacion de estructuras... se ve que no se entendio lo que explique.

no importa...

si eso lo tenes seteado en la compilacion, proba con -fpack-struct solo, sin = ni valor
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

splinterGu, porfa ¿puedes explicarme lo que explicaste tiempo atras? leí las trece páginas y no lo encuentro o no se a qué te refieres. Si es lo del zip, pues ahora mismo lo tengo desactivado, meto todo unzippeado para saltarme ese problema, si es lo de la música, pues también la tengo desactivada también para saltar ese problema, ahora el problema parece estar en el core de bennu o SDL porque no uso nada así raro.

Yo creo que es problema de alineamiento porque los primeros cuelgues de echo en psp  los solucioné alineando los bytes de las estructuras definidas con type en código bennu del juego.

Gracias de antemano, voy a probar lo que dices de compilar sin número, pero eso creo que sería lo mismo que compilar sin ese flag ¿no?

Por otro lado, Drumpi, donde haces en el echo de poner el color de fondo azul? no lo encuentro y eso actualmente me falla en psp, me sale marrón :D.

Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

DCelso

Splinter, probados los siguientes flags
-fpack-struct
a secas, na genera un binario que cuelga la psp nada más ejecutarlo.
-fpack-struct=2
lo mismísimo
-fpack-struct=4
el binario va, pero sigue colgándose el echo al disparar a diestro y siniestro y eliminar un enemigo
-fpack-struct=8
lo mismo que en 4
-fpack-struct=16
lo mismo que en 4 tambien

mas arriba de 16 no deja compilar.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

SplinterGU

voy a explicar:

- el core, core, no tiene ninguna estructura que alinear
- las estructuras del lenguaje bennugd no se alienan, el compilador no tiene relacion con eso.

no, no es lo mismo que compilar sin el flag

lo que yo explique, es el acceso a la memoria que nada tiene que ver con las estructuras... en algunos procesadores y en algunos modos, el acceso a memoria esta alineado, no las estructuras, los accesos a memoria, por mas que vos digas dame el contenido de la direccion 1, te va a dar el contenido de la direccion 0, si decis el contenido de la 2, tambien te dara de la 0, si decis de la 4, te dara de la 4, si decis de la 5, retorna 4, y asi... esto segun a cuando alinea el procesador... evidentemente que si alineas los elementos en las estructuras te va a funcionar, por esta misma cosa, pero por eso mismo es muy probable que no sea por alineamiento de estructuras, ya que el alineamiento se refiere a como se compilan y como se compilan es como se usan... por lo que parece, el alineamiento de las estructs va bien... no se, la verdad que sin tener la maquina y sin poder hacer pruebas es complejo...

pero las 13 paginas que te leiste (si son las que te referencie yo) no hablaban alineamientos de estructuras.

lamentablemente no podre ayudar mucho, porque la verdad que no tengo en planes gastar dinero en comprar una psp; y no soy muy paciente ni bueno para explicar las cosas.

te pido disculpas por no poder ser de mas ayuda, me siento atado de manos.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2