Bennu Game Development

Foros en Español => Plataformas => Dreamcast (homebrew) => Topic started by: l1nk3rn3l on April 17, 2017, 12:40:20 AM

Title: Bennupack Dreamcast DEVKIT 2017
Post by: l1nk3rn3l on April 17, 2017, 12:40:20 AM
Bennupack Dreamcast DEVKIT 2017

https://sourceforge.net/projects/coldev/files/Dreamcast/
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: juguefre on April 17, 2017, 01:20:07 PM
yay mil gracias señor!

que diferencias hay entre este y el anterior?
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: l1nk3rn3l on April 17, 2017, 01:29:57 PM


+ el ide esta mas completo
+ los ejemplos estan revisados, hay nuevos creo
+ nueva herramienta para crear discos cdi (creo que ya la tienes)
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: Drumpi on April 17, 2017, 07:30:19 PM
¿Se han actualizado los binarios de Bennu? Me gustaría ver si ahora consigo que funcione el Echo en DC con los últimos cambios, porque cuando lo intenté la vez pasada no hubo forma.
A ver si se pasa por aquí @Ryo_Suzuki y me dice qué tal va la cosa en la consola física.
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: juguefre on May 29, 2017, 08:36:13 AM
Unas horas estudiando los ejemplos de bennu3D y ya me siento de nuevo en mi area,  ya puedo renderizar 3D, asignar texturas, reproducir animaciones sin embargo mi pipeline (o depronto el plugin que uso para exportar mis .MD2) no es compatible, ya entiendo como funcionan los sistemas de particulas......estoy muy impresionado con el trabajo de uds.

(https://preview.ibb.co/gXEyYF/01.jpg) (https://ibb.co/f0dQDF)

Muy buen trabajo con los ejemplos y el código muy bien comentado.
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: juguefre on May 29, 2017, 07:11:07 PM
Alguien me puede confirmar si bennu3D se puede compilar para dreamcast?

Siguiendo el mismo procedimiento con el que compile para dreamcast mi juego 2D ahora no logro que funcione mi escenario de prueba 3D en el dreamcast......

(https://preview.ibb.co/d2vNSa/123.jpg) (https://ibb.co/eZWwna)

Pense que era un problema al incluir un escenario en un ZIP pero elimine el zip y lo reemplace con un .obj con collisiones y funciona en el pc pero no en el dreamcast.

Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: l1nk3rn3l on May 29, 2017, 11:59:24 PM
 
reply in other post
http://forum.bennugd.org/index.php?topic=4529.msg71392#new (http://forum.bennugd.org/index.php?topic=4529.msg71392#new)
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: juguefre on May 30, 2017, 04:42:07 AM
oh..... con yeti3D funciona a muy bajos fps.

Voy a hacer algunas pruebas antes de darme por vencido.
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: Ryo Suzuki on June 11, 2017, 11:12:35 PM
Quote from: Drumpi on April 17, 2017, 07:30:19 PM
¿Se han actualizado los binarios de Bennu? Me gustaría ver si ahora consigo que funcione el Echo en DC con los últimos cambios, porque cuando lo intenté la vez pasada no hubo forma.
A ver si se pasa por aquí @Ryo_Suzuki y me dice qué tal va la cosa en la consola física.

Creo que los binarios no están actualizados a la última versión del KOS, SDL, etc...

Al menos lo que he probado no parece ganar en rendimiento.

Que se agradece que l1nk3rn3l siga actualizando, no se me malinterprete...
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: l1nk3rn3l on June 13, 2017, 02:35:28 PM
Quote from: Ryo Suzuki on June 11, 2017, 11:12:35 PM
Quote from: Drumpi on April 17, 2017, 07:30:19 PM
¿Se han actualizado los binarios de Bennu? Me gustaría ver si ahora consigo que funcione el Echo en DC con los últimos cambios, porque cuando lo intenté la vez pasada no hubo forma.
A ver si se pasa por aquí @Ryo_Suzuki y me dice qué tal va la cosa en la consola física.

Creo que los binarios no están actualizados a la última versión del KOS, SDL, etc...

Al menos lo que he probado no parece ganar en rendimiento.

Que se agradece que l1nk3rn3l siga actualizando, no se me malinterprete...


toda sugerencia es bienvenida, no se han actualizado los binarios , porque...

+ no hemos tenido tiempo
+ se hara cuando empecemos a portar el nuevo motor 3d a DC (posiblemente el mismo bennu3d castrado de algunas cosas )
+ cuando terminemos la nueva documentacion de bennu y el auto completado en el editor (notepad++)

;D

Actualmente se esta trabajando y tenemos prioridad en :

+ terminar el motor 3d (Cartagena 3D)
+ animacion por esqueletos 2D
+ soporte completo de tiles (tmx)
+ terminar la monetizacion en bennu (Abmods y video rewards)
+ port html5

Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: folken on August 15, 2017, 03:50:42 AM
¡Muchas felicidades excelente trabajo!, este es mi más reciente post después de 8 años de ausencia aproximadamente, debido a un problema personal (accidente de automovil), lamentablemente tuve que dejar de hacer muchas cosas, incluso trabajar, pero ya estoy recuperado y listo para continuar con las cosas que disfrutaba hacer, en aquel entonces dejé varios proyectos inconclusos, bueno ni modo aveces asi es la vida, pero vaya que estoy asombrado, hoy entro al foro y veo la gran cantidad de ports de BennuGD, ¡Wow asombroso!, no cabe duda, esta comunidad se ha hecho cada vez mejor, estoy super entusiasmado con este port de DreamCast, esto es oro puro, jejejeje para un viejo amante de las DreamCast, jejeje.

Muchas felicidades a los chicos de Colombian Developers, su BennuPack para DreamCast esta super completo, creo que hoy no podré dormir, voy a trastear los ejemplos, por suerte tengo algunos CD-R y hasta fui a sacar mi vieja y empolvada consola, por suerte aun prende, jejeje despues de tantos años.

en el año 2005 hice un sencillo juego de naves, usando el port 084 de Fenix, haber si lo puedo pasar a Bennu, un miembro de DC-Iberia subió un video a Youtube hace algunos años:

https://www.youtube.com/watch?v=GpraR71CRqI (https://www.youtube.com/watch?v=GpraR71CRqI)


Trataré de pasarlo al port de Bennu-DC,  si me atoro pediré ayuda, jejeje.

Nuevamente muchas felicidades a todos, durante estos 8 años veo que todos se han superado increiblemente, espero pasarme más seguido por los foros y continuar aprendiendo de todos ustedes.

Saludos!!!!

;D ;D ;D ;D ;D ;D






Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: folken on August 15, 2017, 03:53:01 AM
¡Una disculpa, lo habia olvidado! jejejeje ¡KARMA por el BennuPack de DC!

:'( después de tantos años, esto es nostalgico, jejeje disculpas.
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: Ryo Suzuki on August 15, 2017, 05:22:47 PM
folken me alegro que te hayas recuperado y estés otra vez por aqui.

Está muy bien tu juego. No lo conocía, la verdad.

Estoy casi seguro que conseguirás pasarlo a BennuGD de Dreamcast. Si te puedo echar una mano no dudes en pedir consejo, aunque soy novato llevo ya más de un año "peleando" con cosas de Bennu para la DC.

Un saludo!
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: l1nk3rn3l on August 15, 2017, 07:41:50 PM
Nos alegra que te recuperaras , Muchas bendiciones
;D
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: folken on August 21, 2017, 03:39:11 AM
Hola muchas gracias por su interés en mi sencillo videojuego, ya logré correrlo en mi consola Dreamcast, jejeje estoy muy feliz, gracias por el port de Dreamcast que ustedes tienen.

hoy solo me dio tiempo de probarlo en la consola y subir un video a Youtube, donde se puede apreciar desde insertar el CD-R y jugarlo, jejeje, mi hijo pequeño le gusto mucho y me ayudó a probarlo.
en unos días tendre lista una web donde se podrá descargar en formato cdi listo para usar y jugar en una consola, también subiré los códigos fuentes para compartirlo con la comunidad de bennuGD.
Les comparto algunas pantallas y el video de esta primera prueba corriendo en una Dreamcast.


https://www.youtube.com/watch?v=uaG9B07kI9A (https://www.youtube.com/watch?v=uaG9B07kI9A)


Espero les guste el video, en unos tres días subiré una web y podrán descargar todo, el cdi y todos los fuentes para compartir.

(https://imagizer.imageshack.us/v2/318x238q90/924/uqOJnE.png)

(https://imagizer.imageshack.us/v2/317x239q90/923/AuWLGb.png)

(https://imagizer.imageshack.us/v2/316x237q90/923/5hTuCw.png)

(https://imagizer.imageshack.us/v2/314x234q90/924/qxwcGo.png)



(https://imagizer.imageshack.us/v2/614x345q90/923/lQGL8E.png)

(https://imagizer.imageshack.us/v2/635x345q90/924/8LGMfR.png)






Saludos!!!!


Nota: en el emulador NullDC corre muy lento, pero en la consola física corre como diablo, jejeje muy bien.



Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: Ryo Suzuki on August 22, 2017, 08:19:41 PM
l1nk3rn3l, te quiero informar de un importante bug que he descubierto.

No se pueden descargar recursos de la RAM en el port de Dreamcast. Es decir en cuanto intentamos un Unload wav, map_del, unload_fpg, etc... o cualquier cosa para eliminar recursos de la memoria no lo hace.

Esto es bastante importante creo yo ya que solo contamos con unos 10 megas de RAM reales y si no podemos andar cargando y descargando assets la cosa se complica bastante...

Lo acabo de comprobar tanto en tu versión como la de Indiket (que partía de la tuya) no funciona. Con el mod_mem se ve claramente que no libera ese espacio de la ram cuando descargamos algo. A ver si puedes echarle un ojo, creo que es muy importante.

Gracias, un saludo.
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: folken on August 23, 2017, 12:06:06 AM
Hola, yo también sufri lo mismo ahora que pasé mi juego al port, tuve problemas con el unload_fpg(), no lograba liberar los ficheros, al hacer un nuevo load_fpg(), hace cosas raras como mezclarlos o mostrar el fpg anterior, lo que yo tuve que hacer fue cargar todos mis fpg de un solo golpe en el begin-end de la sección PROGRAM.

Un dato curioso el unload_wav() si me funciona puedo cargar y descargar archivos wav a mi gusto, solo de esa manera logré ponerle diferentes sonidos de fondo a los 10 niveles de mi juego.

Referente a la función delete_text(variable), me borraba todos los textos, sin importar que le pasara el nombre de la variable a borrar de la pantalla.

Saludos!  :)
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: l1nk3rn3l on August 23, 2017, 02:40:34 PM
No hemos vuelto a mirar el port DC, como todos andamos ocupados en labores...

Si ya habiamos notado ese problema .. y se deriva directamente del port de la SDL  que segun recuerdo
la ram se fragmenta tanto que ya no se puede alojar mas...
por eso es que los dos port que mencionas
tienen el mismo problema..

La solución que se encontro en ese entonces  (y no se implemento ) fue:

1. usar modulos compartidos (mod_....dll)  en dreamcast al estilo del port fenix de los rusos..
2. la mas facil .. implementar una llamada a una funcion  "ejecutar_dcb()" y reiniciar los recursos  de DC (INIT MALLOCSTATS)

3. La otra es investigar por que malloc y free no funcionan correctamente en DC .. y se llevaria mas tiempo en eso...
y posiblemente sea que bennu este compilandose en una version debug , como lo dice en el manual
que malloc de la version debug nunca libera memoria  (4.6 Memory Allocation System) Pag.17

http://www.sega-dc.de/dateien/programmierung/kos.pdf (http://www.sega-dc.de/dateien/programmierung/kos.pdf)

4. Ponerme de acuerdo con splinter para crear un recolector de basura para bennu, y gestionar la memoria
   como lo hace java, lua o c#,   pero eso deberia hacerlo el sistema operativo automaticamente en este caso KOS o el WinCE... 

Toca revisar
   

Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: folken on August 23, 2017, 06:18:38 PM
Gracias por responder l1nk, se ve que hay que revisar varios puntos respecto a liberar memoria en la DC, usando el kos, jejeje por mientras seguiré pasando mis juegos al port, tal y como se encuentra ahora, con unos sencillos trucos aun me funciona bien, como cargar de un solo golpe todos los FPG que requiere mi juego y cargar por demanda los WAV, esa parte me funciona bien.

Como lo mostré en el video de Youtube, mi juego logró correr en consola física DC sin ningún problema, mi hijo y yo lo jugamos varias horas y nunca se colgó o tronó, en resumen funcionó bien y a una excelente velocidad.

Como lo prometí ya esta lista la web para descargar mi juego, también está el código fuente de Bennu por si alguien quiere ampliarlo, modificarlo o trastearle, jejeje...


http://cowboy.totalh.net (http://cowboy.totalh.net)


¿Oye L1nk crees que te pueda servir mi juego para agregarlo a tu BennuPack de Dreamcast? , me sentiría feliz si lo agregan.

Saludos!!!  ;D ;D ;D

Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: l1nk3rn3l on August 23, 2017, 08:51:23 PM
 ;D

Bien arreglemos el port lo subiremos en el proximo pack de DC con tu juego +

Recuerda que hay un pack similar para PSP y PS2 para facilmente portar el juego...
https://sourceforge.net/projects/coldev/files

si quieres algo mas complejo como correr el juego en navegador pues...
tienes el port de bennu de Chrome aqui algunos juegos bennu corriendo en chrome
http://coldev.webs.com/


Y si deseas espacio ilimitado para subir proyectos tienes :
https://sourceforge.net/

https://github.com/

Estas paginas te permiten crear aparte una pagina web si lo deseas...

algo parecido a esto como en sourceforge que estamos montando..   https://coldev.sourceforge.io/


Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: folken on August 23, 2017, 09:45:25 PM
Gracias l1nk por la info, ahora mismo le pongo las manos encima al port de PS2, creo recordar tener una guardada, es de las primeras, no es la slim, voy a probar y si tengo dudas los molestaré preguntando.


Hola ya encontré mi vieja PS2, es de las grandotas, una pregunta ¿a cuantas X debo quemar el ISO?, por ejemplo en Dreamcast lo escribo a 16X para que la consola pueda leerlo.

¿En PS2 cuantas X?

¿Puedo quemarlo en DVD o tiene que ser un CD-R?

¿Puedo quemar la ISO con cualquier software o tiene que ser con UltraISO solamente?


Voy a pasar el Cowboy-Bebop al port, continuaré con más preguntas en la sección referente a PS2, haber si pudieras sacarme de estas dudas.




Saludos  ;D
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: l1nk3rn3l on August 23, 2017, 11:47:59 PM
Funciona en ambos cd y dvd .. como siempre debe grabarse a baja velocidad ...
lo menos que aguante tu dvr  .. y grabarse en cualquier software , que soporte iso..

creo que tambien funciona en memoria USB... usando ulaunch  mira los ejemplos.. este metodo ahorra tiempo..

y como siempre es mejor probarlo en emulador .. y cuando este listo lo probas en hardware real...


http://forum.bennugd.org/index.php?board=73.0 (http://forum.bennugd.org/index.php?board=73.0)
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: Ryo Suzuki on August 31, 2017, 09:21:03 PM
Quote from: l1nk3rn3l on August 23, 2017, 02:40:34 PM

2. la mas facil .. implementar una llamada a una funcion  "ejecutar_dcb()" y reiniciar los recursos  de DC (INIT MALLOCSTATS)

Eso sería genial. No solo para evitar este problema, también se podrían lanzar diferentes .dcb y crear recopilatorios.

Quote from: l1nk3rn3l on August 23, 2017, 02:40:34 PM


3. La otra es investigar por que malloc y free no funcionan correctamente en DC .. y se llevaria mas tiempo en eso...
y posiblemente sea que bennu este compilandose en una version debug , como lo dice en el manual
que malloc de la version debug nunca libera memoria  (4.6 Memory Allocation System) Pag.1

Eso descartado. Lo hemos probado a compilar sin debug y sucede lo mismo.

Quote from: l1nk3rn3l on August 23, 2017, 02:40:34 PM
4. Ponerme de acuerdo con splinter para crear un recolector de basura para bennu, y gestionar la memoria
   como lo hace java, lua o c#,   pero eso deberia hacerlo el sistema operativo automaticamente en este caso KOS o el WinCE... 

Sí, el KOS en este caso. Pero en BennuGD de PC sí que se libera bien la memoria, ¿verdad?

Quote from: l1nk3rn3l on August 23, 2017, 08:51:23 PM
Bien arreglemos el port lo subiremos en el proximo pack de DC con tu juego +

Bien, sería fantástico. Es necesario realmente poder liberar memoria de manera óptima porque de lo contrario estamos muy condicionados con la poca disponible en Dreamcast una vez que arranca BennuGD.

Realmente he estado haciendo pruebas y algo sí que hace con los Map unload y demás. No la libera, o sea la memoria no sube pero algo hace porque si no lo hago y lo meto en un bucle de prueba baja rápidamente. Es como si la reubicase como puede o algo así, pero limpiarla por desgracia, no la limpia...
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: folken on August 31, 2017, 09:54:04 PM
Como bien lo dices amigo Ryo sería genial poder liberar memoria con el unload_fpg(), l1nk comenta que el port de la DC aun está en desarrollo, me gustaría ayudar pero nunca le he trasteado al KOS ni a OpenGL  :'( , jejeje solo me queda esperar.

Aun con las limitaciones actuales en el portDC, agradezco el esfuerzo de todos ustedes por crearlo, estoy muy contento de poder usarlo en mis proyectos.

Cuando pasé el "Cowboy-Bebop" también me las encontre dificiles, llegó un momento en que no iniciaba el juego, debido a que había superado la RAM disponible de la DC, así que tuve que cancelar 8 pantallas donde se narraba el final del juego, originalmente eran 10 pantallas al terminar el juego pero tuve que reducirlo a 8.

Pueden verlo en el código fuente, ya si más adelante se hace la mejora en el portDC, los que gusten pueden hacerle el cambio al código del  "Cowboy-Bebop".

Saludos!!!!  ;D


Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: Ryo Suzuki on September 01, 2017, 09:04:49 AM
Interesante lo que comentas, eso querría decir que el Fénix de Dreamcast sí que liberaba la RAM.

Estuve hablando con Chui que fue el autor y a pesar de que hace ya muchos años a él le suena que si que hacia el free bien en Fenix de la Dreamcast. Así que quizás mirando a su port de Fenix, a su source podría darnos una pista de cómo lo hace:

http://chui.dcemu.co.uk/fenix.html#Downloads

De todas formas folken, creo que quizás tenga una solución para que tu Cowboy Bebop te entre en la RAM de la DC sin tener que quitarle contenido, en breve te mando un privado.

A ver si pudieramos solventarlo. Pudiendo descargar y cargar la ram la cosa cambiaría mucho...
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: FreeYourMind on September 01, 2017, 10:31:27 AM
Bennu lo deberia hacer de forma similar ya que es un fork de fenix, pero como ha tenido cambios a lo mejor falla por algun motivo que habria quie comparar en el src de ambos
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: folken on September 01, 2017, 01:58:37 PM
Como bien lo dice Free habría que aventarse un clavado en el source del port de fenix para ver como lo hace chui, gracias Ryo por los links, ya los bajé, haber si puedo ayudar un poco, aunque por ahora estoy muy metido con mi juego usando el Yeti3D para PS2 y la DC.

;D
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: Ryo Suzuki on September 01, 2017, 06:56:38 PM
Sí, yo le estuve echando un ojo también.

No sé si van por aquí los tiros pero en Fenix de Chui:

void free_map (MAP * map)
{
if (map->depth == 8 && map->palette) free (map->palette) ;
if (map->n_flags & F_NCPOINTS) free (map->cpoints) ;
free (map->data) ;
free (map) ;
}


Y en BennuGD:

void bitmap_destroy( GRAPH * map )
{
    if ( !map ) return ;

    if ( map->cpoints ) free( map->cpoints ) ;

    if ( map->code > 999 ) bit_clr( map_code_bmp, map->code - 1000 );

    if ( map->data && !( map->info_flags & GI_EXTERNAL_DATA ) ) free( map->data ) ;

    if ( map->format )
    {
        if ( map->format->palette ) pal_destroy( map->format->palette ) ;
        free ( map->format );
    }

    free( map ) ;
}


Ni dea, a mí todo esto se me escapa!
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: l1nk3rn3l on October 16, 2017, 05:54:57 PM
El nuevo dreamcast incluira esto...  todavia en pruebas...



+ SDL 1.2.15
+ PNG  1.6.32
+ MIKMOD 3.3.11.1
+ Zlib 1.2.11
+ arreglos de memoria
+ se arreglo la funcion  exec("program.bin");   mod_sys
+ mejoras internas
+ nueva libreria fake sdl mixer del  (Author: arcadenea, https://github.com/arcadenea/fake_mixer)
+ arregladas las funciones del modulo mod_mem,  (mem_total and mem_available)
+ bootdreams 2.0 (win10 arreglos) exclusivo del pack



Por el momento seguimos en la optimizacion de la memoria...
segun los test de malloc   

+ cuando liberas memoria el sistema operativo KOS  siempre te dice que te queda la misma
memoria libre, segun veo eso en otros sistemas operativos es normal ese comportamiento .. (queda un remanente fantasma)

+ la DC tiene 16MB de RAM (incluyendo bennu y kos cargados queda en 12 MB libres) 
entonces en el test alojamos 5MB 10 veces usando malloc y free y los resultados son que si libera memoria , aunque siempre
dice que queda 7MB siempre .. mirad pantallazos

(https://image.ibb.co/hVbxMR/mem_alloc.jpg)


+ si el DC se pone rebelde ahora se arreglo la funcion de bennu...  exec("externo.bin") donde
puedes ejecutar un programa externo, (para resolver mas los limites de memoria) para juegos grandes...

+ y las mejoras citadas al comienzo
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: folken on October 17, 2017, 04:13:22 PM
Excelente trabajo L1nk,  ;D esas mejoras permitirán portar más juego en la DC, eres todo un maestro de Bennu y C avanzado, te ofresco mi respeto y admiración.

Saludos !  :D
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: SplinterGU on October 17, 2017, 06:35:59 PM
Quote from: l1nk3rn3l on October 16, 2017, 05:54:57 PM
El nuevo dreamcast incluira esto...  todavia en pruebas...



+ SDL 1.2.15
+ PNG  1.6.32
+ MIKMOD 3.3.11.1
+ Zlib 1.2.11
+ arreglos de memoria
+ se arreglo la funcion  exec("program.bin");   mod_sys
+ mejoras internas
+ nueva libreria fake sdl mixer del  (Author: arcadenea, https://github.com/arcadenea/fake_mixer)
+ arregladas las funciones del modulo mod_mem,  (mem_total and mem_available)
+ bootdreams 2.0 (win10 arreglos) exclusivo del pack



Por el momento seguimos en la optimizacion de la memoria...
segun los test de malloc   

+ cuando liberas memoria el sistema operativo KOS  siempre te dice que te queda la misma
memoria libre, segun veo eso en otros sistemas operativos es normal ese comportamiento .. (queda un remanente fantasma)

+ la DC tiene 16MB de RAM (incluyendo bennu y kos cargados queda en 12 MB libres) 
entonces en el test alojamos 5MB 10 veces usando malloc y free y los resultados son que si libera memoria , aunque siempre
dice que queda 7MB siempre .. mirad pantallazos

(https://image.ibb.co/hVbxMR/mem_alloc.jpg)


+ si el DC se pone rebelde ahora se arreglo la funcion de bennu...  exec("externo.bin") donde
puedes ejecutar un programa externo, (para resolver mas los limites de memoria) para juegos grandes...

+ y las mejoras citadas al comienzo

l1nk, no se que funcion estas usando para saber la memoria libre, pero quizas no esta dando la memoria libre, sino el bloque (contiguo) mas largo disponible... pensa que puedes no ser el unico alocando y liberando memoria, y entre tu alloc y free, puede quizas existir otro alloc de otra parte del codigo, y ahi se genera una fragmentacion...

proba allocar todo lo que te dice que tenes libre, hace luego el testeo de memoria, luego libera y luego testea otra vez la memoria disponible...

algo asi como (pseudocodigo)


mem = malloc(12000);
if ( !mem ) say ("no se ha podido hacer el malloc"); end

say("memoria libre antes del free: " + memorialibre());

free( mem );

say("memoria libre despues del free: " + memorialibre());

mem = malloc(12000);
if ( !mem ) say ("no se ha podido hacer el malloc"); end

say("memoria libre antes del free: " + memorialibre());

free( mem );

say("memoria libre despues del free: " + memorialibre());

Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: Ryo Suzuki on October 17, 2017, 07:16:54 PM
Qué gran trabajo  l1nk3rn3l!!

A ver si se consigue que se pueda liberar la RAM, finalmente.

También la posibilidad de "saltar" cargando otro file puede ser muy bueno, no solo para eso sino para la posibilidad de hacer algo parecido a un menú que ejecute varios homebrew de BennuGD diferentes desde la DC.

Lo que no entiendo muy bien, dices .bin. ¿Sería otro 1st_read.bin? Yo pensaba que cargarías otro .dcb diferente. No me queda claro...

Ánimo! Lo esperamos!
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: Drumpi on November 26, 2017, 01:11:42 AM
Sé que esto es algo viejo, pero quiero aportar mi granito de arena.
Lo mismo ya lo sabeis, pero existen SO que no liberan la memoria, como Android. Estos SO consideran que la memoria vacía es memoria desaprovechada, por lo que lo qe hacen es marcar esa zona de memoria como "aprovechable", no como "libre", y siguen consumiendo la memoria libre con nuevos programas. Es cuando se quedan sin memoria cuando hacen uso de esa memoria "aprovechable". ¿Por qué se hace así? Porque si en algún momento necesitamos volver a ejecutar el programa, o usar algo que habíamos cargado recientemente... ¡ya está en memoria!, no hace falta volverlo a cargar, y eso, con los CDs como almacenamiento masivo, es mucho tiempo de ahorro.

Puede que la medición de memoria libre sólo tenga en cuente la memoria sin usar, y no la memoria marcada como "aprovechable". De ahí que siga marcando la misma cantidad siempre, pero que no se registre ningún cambio a la hora de (volver a) cargar un fichero a memoria.
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: l1nk3rn3l on November 26, 2017, 03:20:32 AM
Que pena con los que postearon , no sabia que habia una actualizacion del post,
El foro deberia tener al comienzo los post mas recientes y despues todo el temario como esta,

asi seria mas facil chekar cuales post son nuevos , Bueno lo que me comenta el Maestro Splinter
la respuesta es parecida a la del colega  Drumpi (la zona no esta ocupada , pero no se reporta como libre)

De todas maneras en la practica puede ser fragmentacion , ya que algunos sistemas operativos viejos
no tenian un gestor de memoria como los kernel actuales...

Bueno para no profundizar aquí esta la respuesta que me dieron la gente de dreamcast
http://dcemulation.org/phpBB/viewtopic.php?f=29&t=104419&sid=3009e7224861beae8c5e5e5f7dddab95 (http://dcemulation.org/phpBB/viewtopic.php?f=29&t=104419&sid=3009e7224861beae8c5e5e5f7dddab95)

El Port de dreamcast no se ha tocado , ya que otros proyectos como BennuPhoton requerían mas atención, ya que no existían,



Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: Ryo Suzuki on November 29, 2017, 11:22:55 AM
El problema sigue estando ahí y entiendo lo que comentáis de que cuando has cargado algo y luego lo liberas de memoria de cara a mostrar la memoria libre no conste aunque en teoría sí sea utilizable.

La historia viene que debe haber algún bug o algo porque en la práctica no es utilizable esa memoria "aprovechable", ya que si intentas cargar algo digamos encima de esa memoria ya no puede y se cuelga. Realmente solo podemos usar la RAM que tenemos al principio e independientemente de que intentemos liberar assets luego y aunque no constase numéricamente como RAM libre de nuevo es que en realidad no puedes cargar nada más así que la RAM solo puede usarse una sola vez.

Esto limita muchísimo las posibilidades de hacer algo, ya que nos quedan algo así como 10 megas de RAM y estamos "condenados" a solo poder usar eso.

Espero que se pueda solucionar tarde o temprano, porque creo que es muy importante. A las malas que se pudiera lanzar otro .dcb o algo por el estilo para poder modular los proyectos al estar condicionados por una RAM no liberable.

A ver si puedes echarle un ojo l1nk3rn3l. Gracias y un saludo!


P.D: Esto debe ser alguna cosa del port de BennuGD a Dreamcast porque en KOS no sucede...
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: KeiDash on May 08, 2018, 08:55:45 PM
Buenas a todos.

Perdón por revivir este post pero alguien ha encontrado solución al tema de liberar la memoria de la dreamcast?

Me acabo de topar con el problema y me ha bloqueado el desarrollo al completo :-/
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: SplinterGU on May 09, 2018, 02:28:27 AM
segun estuve viendo con alguien hace un tiempo, creo recordar que el tema de la DC es que realmente no posee funciones de free/alloc nativas manejadas por el sistema... la aplicacion hace uso de la memoria a su gusto... y parece que la implementacion que se esta usando (ajena a bennugd) o no esta completa o tiene algun bug...

pero puede que me equivoque...
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: KeiDash on May 09, 2018, 07:51:04 AM
Quote from: SplinterGU on May 09, 2018, 02:28:27 AM
segun estuve viendo con alguien hace un tiempo, creo recordar que el tema de la DC es que realmente no posee funciones de free/alloc nativas manejadas por el sistema... la aplicacion hace uso de la memoria a su gusto... y parece que la implementacion que se esta usando (ajena a bennugd) o no esta completa o tiene algun bug...

pero puede que me equivoque...

Pues vaya, que problema!

Por lo que dices Splinter, según comentas ¿Esto pasaría en cualquier lenguaje orientado a Dreamcast? Según comenta Ryo en un post anterior, esto en KOS no pasa.

¿Se les ocurre alguna posible solución para poder proseguir? Se podría rescribir de alguna manera la memoria para poder seguir trabajando? Me acabo de ver muy limitado para poder trabajar la verdad, aunque entiendo que esto es solo mi problema :D

La verdad es que no se me ocurre nada ahora mismo, porque por ejemplo los FPG en ningún momento tengo acceso a la posición de memoria, solo su ID para usarlo posteriormente. Si ruviera acceso a su posición en memoria podría sobrescribirla..
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: JaViS on May 09, 2018, 02:16:24 PM
Me parece haber leido que el problema era que la memoria quedaba muy fragmentada tras cagar y descargar recursos en DC, si ese es el problema, quizas se podria probar cargar los recursos necesarios despues de descargar absolutamente todo de memoria. De modo que se ordenen los datos en ram y te permita acceder al espacio necesario
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: KeiDash on May 09, 2018, 03:04:31 PM
Quote from: JaViS on May 09, 2018, 02:16:24 PM
Me parece haber leido que el problema era que la memoria quedaba muy fragmentada tras cagar y descargar recursos en DC, si ese es el problema, quizas se podria probar cargar los recursos necesarios despues de descargar absolutamente todo de memoria. De modo que se ordenen los datos en ram y te permita acceder al espacio necesario

A nivel de código en BennuGD, el problema es que las funciones para descargar elementos de memoria (como el caso de UNLOAD_FPG() ), no funcionan, por lo que a través de esta vía no se pueden descargar todos los elementos de la RAM ¿Existe otra vía para descargar la RAM?
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: JaViS on May 09, 2018, 03:54:39 PM
ah bueno, si ya eso no funciona, no se me ocurre como solucionar ese problema.


por ahi podes optimizar el tamaño de tus recursos. Las imagenes se pueden reducir mucho en tamaño bajando la cantidad de colores, a los sonidos se les puede bajar el bitrate, etc

Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: KeiDash on May 09, 2018, 04:31:57 PM
Si cierto es

Poder se podría, pero pienso que limita mucho el desarrollo de algo de nivel medio/alto en bennuGD, tendrías que estar siempre limitado a usar elementos de muy baja calidad para reducir la carga en memoria...una pena la verdad.

Voy a intentar optar por la vía de trabajar a 8bits de color para intentar reducir la carga en ram en ese sentido, pero se me va de las manos el proyecto que estoy desarrollando.

En caso de que aún así no pueda, tendré que intentar migrar todo a KOS..

Me he quedado muy apenado la verdad :'-(

Gracias por las respuestas
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: SplinterGU on May 09, 2018, 07:32:36 PM
me corrijo, me confundi con n64... perdon...

igual no me hagan caso...
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: JaViS on May 09, 2018, 07:51:03 PM
No te desanimes tanto, tomalo como un desafío, pensá en la magia que tenían que hacer en ese tiempo para portar un arcade a esa consola.


La optimizacion de los recursos es una tarea divertida y te vas a sorprender de la calidad que podes conseguir comprimiendo de forma inteligente.
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: KeiDash on May 11, 2018, 10:02:41 AM
Quote from: JaViS on May 09, 2018, 07:51:03 PM
No te desanimes tanto, tomalo como un desafío, pensá en la magia que tenían que hacer en ese tiempo para portar un arcade a esa consola.


La optimizacion de los recursos es una tarea divertida y te vas a sorprender de la calidad que podes conseguir comprimiendo de forma inteligente.

Si pudiera reducir el tamaño de las imagenes para trabajar con paletas de 8 bits en el FpGEit estaría genial, pero hasta dia de hoy no he sido capaz de hacerlo.

Ahi podría reducir considerablemente la ram
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: Gabysantof on November 23, 2018, 01:05:20 PM
Hola gente. Me presento. Mi nombre es Gabriel. Soy de Argentina. Estuve siguiendolos en silencio por algunos meses mientras aprendia a desarrollar en este lenguaje. Me tope con bennu cuando descubri que se puede portar el juego a dreamcast. Estoy desarrollando un juego de naves y me tope con este problema de la memoria en dreamcast. Saben si hubo o habra algun avance? Hoy en dia mi fichero de sprites ya tiene 13 megas y no me levanta mas el juego en el emulador. Tendria q dividir el fichero en varios archivos y cargarlos y descargarlos en memoria segun lo necesite pero bueno... Aqui estamls con ese tema. Les mando un abrazo grande!
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: panreyes on November 23, 2018, 01:10:08 PM
Bienvenido :)

La respuesta te la has dado tú mismo "Tendria q dividir el fichero en varios archivos y cargarlos y descargarlos en memoria segun lo necesite" :)

Cuando trabajas con tan poca memoria RAM, no te queda otra que optimizar, cargar y descargar continuamente. ¡Suerte!
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: Gabysantof on November 23, 2018, 02:39:21 PM
Claro. Pero no estaria funcionando la liberacion de memoria en dreamcast (al menos hasta la version q rengo yo jeje)
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: panreyes on November 23, 2018, 02:59:50 PM
Ah, vale, pues me he pasado de listo xD

Ahí no tengo ni idea. Yo hace años usé Fénix y no tenía ese problema, pero con BennuGD lo desconozco
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: FreeYourMind on November 23, 2018, 03:12:54 PM
Parece que esta pendiente de fix
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: Gabysantof on November 29, 2018, 01:51:17 PM
Ok. Seguimos a la espera de novedades jeje. Abrazo!
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: nemezes on December 15, 2018, 02:36:21 PM
Hola amigos,

empecé a estudiar bennugd para intentar hacer un juego para dreamcast. hice un archivo .cdi que funciona en el emulador nullDC, pero muy lento. ¿es normal?

otro problema: tengo pocos gráficos en un FPG con formato 32 bits y el emulador no funciona cuando carga todos los gráficos en el FPG. los gráficos no llegan a 1MB. cuando apago los gráficos, el juego funciona bien, pero lento, como he dicho.

se tiene errores en el texto, perdoname, porque yo he estudiado poco de español, pero compreendo leer, porque yo hablo portugues. :)
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: juguefre on December 16, 2018, 02:55:38 AM
Quote from: nemezes on December 15, 2018, 02:36:21 PM
funciona en el emulador nullDC, pero muy lento. ¿es normal?

Básicamente si, es normal que vaya lento, yo también estudie bennuGD por algún tiempo y logre hacer un duck hunt para el dreamcast pero también era muy lento y en otras pruebas mucho mas simples que hice también iba super lento así que me di por vencido.

La parte buena de haber fallado con BenuGD es que me decidí a hacer mi propio engine 3D para el dreamcast y ya esta casi terminado, hasta el momento tenemos renderizado de modelos 3D, asignación de texturas, sistema de clipping, colisiones, editor de niveles y animaciones por interpolacion pero estamos por terminar el sistema de animaciones por joints, todo funciona al 100% en emuladores y en consolas.

Cordial saludo.

Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: nemezes on December 16, 2018, 03:16:58 PM
Es muy dificil y hay muchos errores ocurriendo con mi juego, voy portar lo juego apenas para PC.

Gracias por la informacion juguefre.
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: Gabysantof on December 18, 2018, 09:53:46 PM
Mira... En mi experiencia la lentitud se presenta cuamdo hay un scroll. Quizas mover una imagen muy grande genera el problema. En mi caso quite la imagen que usaba de scroll y el juego va rapidisimo. Si podes probalo!
Title: Re:Bennupack Dreamcast DEVKIT 2017
Post by: Ryo Suzuki on January 02, 2020, 01:14:24 PM
Sí, lo del scroll y las optimizaciones se nota.

No va tan lento el port de DC. Y el tema de RAM ya parece funcionar por las pruebas que he estado haciendo, echadle un ojo a esto:

http://forum.bennugd.org/index.php/topic,4810.0.html

Más que nada para quien se aventure a usar el port de Dreamcast que no le eche atras el tema de la limitación de RAM, ya no es así.

Si tenéis alguna duda y puedo ayudaros...