Página 3 de 7
Ir a la página Anterior  1, 2, 3, 4, 5, 6, 7  Siguiente
 

Mensaje Re: Tutorial BennuGD De Indiket Para Dreamcast

#21  KeiDash 26 Octobre 2017, 07:52 PM

Pues una gráfica sencilla, una Nvidia GeForce 210, nada del otro mundo. La cosa es que los juegos oficiales los ejecuta bien...
 



 
avatar
scotland.png KeiDash Sexo: Masculino
AMelian
Segata Sanshirō
Segata Sanshirō
 
Registrado: Julio 2007
Ubicación: Atlántida
Mensajes: 407
  • Volver arriba Página inferior
 

Mensaje Re: Tutorial BennuGD De Indiket Para Dreamcast

#22  Ryo Suzuki 28 Octobre 2017, 11:08 AM

Es raro. A las malas hago un pequeño tutorial de cómo configurar el Demul.

¿Te va mal con homebrew solo de BennuGD o en general (KOS y demás?)

No tiene ningún sentido en principio...

KeiDash escribió: [Ver mensaje]

Con lo del código, muchas gracias. Con respecto a tu código, no me dejes verlo porque soy super pulcro con eso jajajajajajaja


Indiket ha visto algo y todavía tiene pesadillas
 



 
avatar
japan.png Ryo Suzuki Sexo: Masculino
Alfonso Martínez González
Webmaster
Webmaster
Shenmue Freak
 
Registrado: Agosto 2005
Ubicación: 難波
Mensajes: 10781
  • Volver arriba Página inferior
 

Mensaje Re: Tutorial BennuGD De Indiket Para Dreamcast

#23  KeiDash 31 Octobre 2017, 11:56 AM

Pues el homebrew de BennuGD es el que he probado, todo descargado de aquí. La verdad es que no se. Le he dejado una demo a un amigo que tiene una DC a ver si ahí va bien, para descartar, por que si va mal también en la Dreamcast original, algo está fallando. Lo curioso es que ejecutado en PC va perfecto.
 



 
avatar
scotland.png KeiDash Sexo: Masculino
AMelian
Segata Sanshirō
Segata Sanshirō
 
Registrado: Julio 2007
Ubicación: Atlántida
Mensajes: 407
  • Volver arriba Página inferior
 

Mensaje Re: Tutorial BennuGD de Indiket para Dreamcast

#24  Ryo Suzuki 31 Octobre 2017, 06:19 PM

Hombre, detalle importante que omitías

¿Estás usando el binario que te pasé de Indiket o usas el binario de los Colombians?

Es que el port de los colombians es bastante más lento (tanto a la hora de cargar los assets como para los fps que arroja) e igual es de eso...


P.D: Prueba por ejemplo el Dreamcastnoid que tienes en nuestra web, que te tiene que ir rápido: http://www.segasaturno.com/portal/dreamcastnoid-df133.html
 



 
avatar
japan.png Ryo Suzuki Sexo: Masculino
Alfonso Martínez González
Webmaster
Webmaster
Shenmue Freak
 
Registrado: Agosto 2005
Ubicación: 難波
Mensajes: 10781
  • Volver arriba Página inferior
 

Mensaje Re: Tutorial BennuGD De Indiket Para Dreamcast

#25  KeiDash 06 Noviembre 2017, 08:25 PM

Uso la que tu me enviaste aunque creo que tiene ligeras diferencias, por ejemplo, la funcion memory_free() y memory_total() no me funciona con el BIN que me pasaste, no se cual es el motivo.

Si me he dado cuenta de una cosa, he desactivado el audio en el emulador (nullDC) y ahora va bien con el homebrew..flipo
 



 
avatar
scotland.png KeiDash Sexo: Masculino
AMelian
Segata Sanshirō
Segata Sanshirō
 
Registrado: Julio 2007
Ubicación: Atlántida
Mensajes: 407
  • Volver arriba Página inferior
 

Mensaje Re: Tutorial BennuGD de Indiket para Dreamcast

#26  Ryo Suzuki 17 Noviembre 2017, 02:22 PM

Pídele por privado a Indiket el binario de la última versión, que no lo tengo yo aquí a mano. Él arreglo ese bug y ahora lo de ver la memoria ya funciona.

Lo del emu es raro. Sí que es verdad que sin sonido se debería notar algo la velocidad, pero no tanto.

De todas formas yo te recomiendo que uses Demul siempre ya que va mejor y es más fiel (NullDC por si tienes algún bug y quieres ver la consola para ver que te dicen los says que metas para detectarlo).

Un saludo!
 



 
avatar
japan.png Ryo Suzuki Sexo: Masculino
Alfonso Martínez González
Webmaster
Webmaster
Shenmue Freak
 
Registrado: Agosto 2005
Ubicación: 難波
Mensajes: 10781
  • Volver arriba Página inferior
 

Mensaje Re: Tutorial BennuGD De Indiket Para Dreamcast

#27  KeiDash 20 Noviembre 2017, 11:46 PM

Duda con el PAD. Que teclas del teclado van asociadas a los botones de la Dreamcast??

_LEFT, _RIGHT, _UP, _DOWN y _START no tengo problema, pero no se con qué se mapean los botones A, B, X, Y , L y R

Citar:
Editado


Ya me han dicho como encontrar los botones. Me han indicado en los foros de bennuGD que con el siguiente código, puedo averiguar que botónes están asociados a las constantes de bennuGD

write_int(0,0,0,0,&scan_code);

loop
    frame;
end


 



 
avatar
scotland.png KeiDash Sexo: Masculino
AMelian
Segata Sanshirō
Segata Sanshirō
 
Registrado: Julio 2007
Ubicación: Atlántida
Mensajes: 407
  • Volver arriba Página inferior
 

Mensaje Re: Tutorial BennuGD de Indiket para Dreamcast

#28  Ryo Suzuki 17 Diciembre 2017, 08:24 PM

Bien hecho, ya postearemos por aquí de todos modos las equivalencias de los controles del mando de la Dreamcast.

Ahora os voy a escribir un pequeño tutorial de cómo usar música en BennuGD orientado a la Dreamcast. Imaginemos que queremos una banda sonora bonita que vaya sonando durante nuestro juego.

Quería hablaros antes de como usar efectos de sonido, imágenes y otras cosas pero como al amigo KeiDash le puede venir bien esto para implementarlo en su homebrew llamado 'Beat Tendency' pues le escribo aquí un pequeño tutorial que le puede valer a todo el mundo.

Me voy a centrar en el uso de audio tracks. Como sabéis la Dreamcast puede reproducir pistas de audio ya sea en CDROM o en GDROM, el formato estándar de audio de los compact disc de toda la vida.


MÚSICA EN BENNUGD DE DREAMCAST (Y EN GENERAL ME TEMO QUE EN HOMEBREW DE DC)

En el BennuGD de Dreamcast por lo que he ido probando yo podríamos usar tres formatos para reproducir música para el juego o proyecto homebrew que sea que tratemos de desarrollar. El ya mencionado CDDA, también podríamos usar archivos ligeros en plan secuenciadores de tipo tracker y no olvidemos que podemos tirar de archivos de audio con compresión y que la consola descomprimiría 'on the fly', como puede ser el conocido .ogg.

Todos tienen sus pros y sus contras. Por ejemplo, archivos hechos con tracker -por citar algunos con extensión .mod- suelen ser ligeros y los cargas en el buffer de audio de la consola pesando muy poco y puedes reproducirlos al instante sin que tengan mucha exigencia para la máquina porque usan sus instrumentos o samples y para la CPU no suponen casi nada de esfuerzo consiguiendo una muy buena calidad y un particular feeling algo retro si están bien compuestos.

Archivos con compresión .ogg son buenos porque como los .mp3 y otros formatos con gran calidad y a la vez buena compresión pesan poco, dan buena performance y podemos exportar cualquier cosa a estos formatos sin tener que componer con trackers y similares. Lo malo es que le exigen a la máquina guardarse un hilo de ejecución podríamos decir para ir descomprimiendo el archivo y reproduciéndolo con un buffer determinado, a una máquina como la Dreamcast que es del 98 le cuesta (recordáis el reproductor mp3 que solo podía hacer eso?)

Y por último, la música que me voy a centrar es la de pistas de audio directamente o CDDA. Lo bueno es que es la calidad máxima que pueda existir en DC podríamos decir (sistema PCM con una frecuencia de muestreo de 44 100 muestras por segundo y con dos canales, 16 bits, etc). Además no solo eso, ya que la Dreamcast ni se despeina reproduciendo esta música. Para ella es que como el que oye llover, es trabajo del lector y no le consume ningún recurso estar reproduciendo una canción desde su lector que sea una audio track.

No todo podía ser tan bonito, como sabéis. Uno de los problemas es el peso. Una canción depende de la duración se puede ir a los 60 megas o más. Aquí no existe compresión así que segundos es peso, y peso gordo. Los juegos comerciales en los que su música era CDDA si os acordáis normalmente no podían contar con muchos temas, una decena o algo así en, por citar algunos, juegos de coches y similares.

Otro de los problemas del CDDA es que exige total y completa dedicación del lector de la consola. Si estamos reproduciendo una pista de audio no podemos leer nada de datos, el lector se puede ocupar solo de la reproducción de la pista. Esto quiere decir que si necesitamos cargar algún gráfico, sonido o recurso que tengamos que usar lo tendremos que hacer antes de lanzar la reproducción de la pista de audio lo que limita bastante el control de cómo cargas las cosas en RAM...

Pero bueno, para un juego homebrew nos puede ir muy bien hacer uso de CDDA y voy a explicar aquí cómo hacerlo. Cómo mandar desde BennuGD que nos reproduzca las pistas y cómo generar correctamente la imagen del CD de la Dreamcast que contiene los datos y las pistas de audio para que luego suenen correctamente y en el orden que queramos.


COMO USAR PISTAS DE AUDIO

BennGD nos viene listo con un mod para manejar pistas de CDROM. El mod_cd:

http://wiki.bennugd.org/index.php?title=Mod_cd

En principio en PC o en Linux, por citar dos sistemas en los que corre y pueden tener instalados CDROM y podemos hacer uso de la música, debería funcionar bien.
Indiket portó mod_cd a la versión de BennuGD de Dreamcast (creo que en la de los Colombians no estaba o crasheaba) y en principio podríamos usar este modulo para controlar el CDROM de la Dreamcast y que reproduzca las canciones que queramos. Pues bien, ya os adelanto que no funciona del todo bien.

Me comentaron que incluso el PC el mod cd está algo roto. Funcionar funciona, pero hace cosas raras y no nos permite por ejemplo hacer loops en las canciones, algo que necesitamos si queremos lanzar un tema que esté sonando hasta que nos interese (nos pasemos la fase, nos maten, pase algo que queramos, etc...)

Así que vamos a usar mod_dream que es un módulo que como habréis adivinado solo funciona en la Dreamcast y es para hacer cosas que sean solo para esta máquina. Los Colombians ya lo habilitaron para cosas como grabar en la VMU e Indiket ha ido introduciéndole funcionalidades que le he ido pidiendo cuando me han hecho falta.

Una de las funcionalidades que necesité es el uso de CDDA y hacerlo como si trabajaramos con KOS directamente. Para que me entendáis, con el mod dream podemos meterle funciones del KallistiOS que lanzamos directamente desde BennuGD. Un ejemplo sencillo que os pongo es en mi Dreamcastnoid, en la versión física, detecto en qué idioma está la consola Dreamcast para así poner el juego en inglés o en español depende de cómo el usuario tenga configurada la BIOS, algo que el BennuGD no tiene es algo propio de la DC.

Pero no me quiero ir más por la tangente. Aquí lo que vamos a hacer es usar el mod dream en su ultima versión de Indiket para reproducir pistas de audio CDDA.

Para ello vamos a empezar cargando ese módulo. En nuestro primer código de Hello World habíamos cargado dos módulos aunque no los mencioné para no liar mucho en un principio:

import "mod_video"
import "mod_text"


El primero como habréis adivinado era para definir el modo de vídeo, los fps, etc. Y el segundo, como también habréis anticipado, era para trabajar con textos.

Ahora le añadiremos el módulo custom para hacer cosas específicas con la Dreamcast:

import "mod_dream"


Como estamos reutilizando el ejemplo del Hello World simple de antes le pondremos música a este mismo ejemplo, si os parece bien.

Le añadiremos esto:

    if (os_id == 5)
          dc_cddaplay(2,15);    
    end

Le estamos metiendo un condicional diciéndole que si está corriendo en Dreamcast ejecute esa orden del KOS para reproducir CDDA.

El comando dc_cddaplay es la clave y los valores (2,15) significan lo siguiente. 2 es la primera track CDDA que le meteremos ahora cuando hagamos la imagen de CD. Para que no entendamos la 1 sería la falsa track con la que conseguimos el autoboot en la DC y la 2 será nuestra primera canción que usaremos.

15 significa que queremos que esa pista la reproduzca en bucle infinito, o sea que esa canción cuando llegue al final vuelva a comenzar de nuevo. 15 es el número de veces que queremos que se repita esta pista, 15 se considera infinito en KOS si quisiéramos que solo sonase una vez esta pista de audio entonces pondríamos (2,0) -o sea que repita 0 veces la track 2-

Y ya está. Básicamente está hecho. Si quisiaremos reproducir más pistas solo habría que tener en cuenta esos números a la hora de llamarlas y luego ponerlas en el orden correcto cuando generemos nuestra imagen de disco, que ahora os explicaré cómo se hace.

Así que el código actualizado esta vez con música de CD sonando de fondo sería algo tan simple como esto:

import "mod_video"
import "mod_text"
import "mod_dream"


 process Main()
 
 begin

 
 set_mode(320,240,16);  

     if (os_id == 5)
         write(0,40,69,0,"Hola DC desde Bennu Game Development!");
    else
         write(0,40,69,0,"Hola PC desde Bennu Game Development!");
    end

 write(0,40,100,0,":-)");

 write(0,30,200,0,"By Ryo -Alfons- de wwww.segasaturno.com");
 
 
     if (os_id == 5)
          dc_cddaplay(2,15);
    end
    
      if (os_id == 5)
         write(0,40,120,0,"Con CDDA track sonando");
    else
         write(0,40,120,0,"Sin musica");
    end  
    
    
  loop
  frame;
  end
  
 end



GENERANDO NUESTRA IMAGEN ALCOHOL 120

Pues ya estamos preparados para crear nuestro CD y probarlo en emulador o en consola real nuestro pequeño proyecto digamos que ahora es musical.

Volvemos a contar con el querido BooDreams pero esta vez seleccionamos el icono de Alcohol 120:

 100  

En la pestaña Extras tenemos que mirar que esté activo 'Add CDDA tracks':

Bien que no se nos olvide que necesitamos una pista de audio para que suene en nuestro proyecto. Coge cualquier .mp3 o wav o lo que tengas a mano que te de más rabia (algún tema de Joselito iría bien   ) y copialo en el directorio CDDA que verás en la carpeta del Bootdreams.

Yo le he llamado a mi canción 02.mp3 y la he colocado en ese directorio. Tranquilo porque el Bootdream la convierte automáticamente a formato WAV de calidad audio CD.

Le damos a Process y se nos abrirá una ventana que nos dirá 'Select the CDDA tracks'.

Bien, aquí lo primero que tenemos que seleccionar y añadir a la parte derecha es audio.raw. Esta es la fake track muy ligera que consigue engañar a la consola y hacer el autoboot.

Luego añado mi pista que he puesto, en mi caso 02.mp3, si la vuestra se llama de otra forma pues ya sabéis...

101

Le damos a OK y vereis que empieza a procesar y convertir las pistas.

Luego os pedira un nombre para el .mds de Alcohol que os generará. Yo le he llamdado cdda.mds por no ser muy original.

Y eso es todo, cuando acabe ya tenéis un mds+mdf que podéis probar en Demul y disfrutar del ejemplo Hello World esta vez con música CDDA sonando de fondo y en bucle infinito.

He intentado ir al grano y no liarme mucho pero me pilláis un poco espeso esta tarde y con un catarro de aupa.

Un saludo.


Descargad mejor la última versión del binario de BennuGD que me pasó Indiket. Está actualizado totalmente y os he metido también un IDE con la última versión de BennuGD de PC para que compiléis facilmente (tiene el mod_dream ready y actualizado, of course):

sonic_boton



P.D: Documentación: http://gamedev.allusion.net/docs/ko...1f018e9a2b5fb57

https://forum.bennugd.org/index.php?topic=4319.0
 




____________
Ayúdame a mantener este y otros proyectos, pulsa aquí

sega_firma

Choose a job you love, and you will never have to work a day in your life. (Confucius)
 
avatar
japan.png Ryo Suzuki Sexo: Masculino
Alfonso Martínez González
Webmaster
Webmaster
Shenmue Freak
 
Registrado: Agosto 2005
Ubicación: 難波
Mensajes: 10781
  • Volver arriba Página inferior
 

Mensaje Re: Tutorial BennuGD De Indiket Para Dreamcast

#29  KeiDash 18 Diciembre 2017, 10:59 AM

Ryo Suzuki escribió: [Ver mensaje]


MÚSICA EN BENNUGD DE DREAMCAST (Y EN GENERAL ME TEMO QUE EN HOMEBREW DE DC)

En el BennuGD de Dreamcast por lo que he ido probando yo podríamos usar tres formatos para reproducir música para el juego o proyecto homebrew que sea que tratemos de desarrollar. El ya mencionado CDDA, también ...


Magnífica explicación Ryo, creo que esto va a resolver el problema que tenía y te había comentado. Yo pensaba que los ficheros CDDA tenía que generarlos yo previamente, pero acabo de entender que el bootdreams junto con la opción de Alcohol120% es la que convierte los ficheros de audio (wav, mp3, ogg) a formato de audio. A continuación, voy a preparar una entrada para la detección del pad de Dremcast en BennuGD, ya que lo mío me ha costado y puede que a alguien le sirva.

Muchas gracias Ryo, lo probaré esta semana y te comento.
 



 
avatar
scotland.png KeiDash Sexo: Masculino
AMelian
Segata Sanshirō
Segata Sanshirō
 
Registrado: Julio 2007
Ubicación: Atlántida
Mensajes: 407
  • Volver arriba Página inferior
 

Mensaje Re: Tutorial BennuGD de Indiket para Dreamcast

#30  Ryo Suzuki 18 Diciembre 2017, 01:41 PM

Sí, así es.

Lo que te puedes hacer si quieres (yo lo hago en ocasiones) es tener un condicional que indique si es PC o Dreamcast y si es PC cargar un .ogg y reproducirlo para hacerte una idea de lo que hay de fondo ya que para compilar ir probando y demás es un tanto frío tener el juego sin música.

También te digo que lo del convertir de mp3 y demás, siempre que puedas usa WAV directamente a calidad CD para que no haya nada de perdida de calidad. Yo para el tutorial en plan prueba os digo que cojais cualquier archivo de audio casi, pero para un juego en plan medio en serio lo suyo es dar la máxima calidad posible (en 'Encuentro no casual' ahora estoy trabajando con wavs calidad CD que me pasa Franikku y suena de lujo)

Lo del pad, estaría bien que lo explicases bien. Yo le iba a preguntar a Indiket porque el analógico no recuero ahora cómo se detecta, todo lo demás lo tengo controlado pero me costó también lo suyo porque no está documentado.

Es como esto del CDDA. Cuando lo sabes es fácil, pero bien que me dio trabajo hasta que conseguí tenerlo funcionando (y gracias a que Indi me pudo meter las opciones de KOS en el mod dream para controlar el CD-DA)

Ah! Puedes usar también mod_cd para controlar algunas cosas como el Cd_stop() , Cd_play() y demás. En principio va todo de lujo, lo único malo es que no hacía el loop en las canciones, para eso hemos de usar el dc_cddaplay del mod_dream.

Saludos.
 



 
avatar
japan.png Ryo Suzuki Sexo: Masculino
Alfonso Martínez González
Webmaster
Webmaster
Shenmue Freak
 
Registrado: Agosto 2005
Ubicación: 難波
Mensajes: 10781
  • Volver arriba Página inferior
 


Ocultar¿Este tema fue útil?
Compartir este tema
Correo a un amigo Facebook Twitter Windows Live Favorites MySpace del.icio.us Digg SlashDot google.com LinkedIn StumbleUpon Blogmarks Diigo reddit.com Blinklist co.mments.com
technorati.com DIGG ITA linkagogo.com meneame.net netscape.com newsvine.com yahoo.com Fai Informazione Ok Notizie Segnalo Bookmark IT fark.com feedmelinks.com spurl.net

Página 3 de 7
Ir a la página Anterior  1, 2, 3, 4, 5, 6, 7  Siguiente