¡Oh no! ¿Dónde está el JavaScript? El navegador Web no tiene JavaScript activado o no es compatible con JavaScript. Active JavaScript en su explorador Web para ver correctamente este sitio Web o actualizar a un navegador Web que admita JavaScript.
Sabías que...
En EEUU Dreamcast se puso a la venta el día 9 de septiembre de 1999.

Libera Ram Dreamcast - Pero audios se escuchan en 1 solo parlante

Última actualización en 3 day hace
Publicado 14 day hace
Hola!!
Mi nombre es Gabriel Santoferrara.
Les escribo desde Argentina.

Llegué aqui por medio del foro de BennuGD y por la página de segasaturno.com smile
Les quería contar que desde hace tiempo estoy desarrollando un juego para dreamcast llamado Blocks Attack
Les dejo un video del avance y se pueden bajar una demo para jugar en la descripción del videosmile
https://www.youtube.com/watch?v=lPxR1t__Kgw

En el foro de bennugd veniamos hablando con Ryo Suzuki y me brindo un interprete para bennu
1ST_READ.bin (del miércoles, ‎01‎ de ‎enero‎ de ‎2020 y pesa 1.943.572 bytes) que solucionaba un problema que se había detectado que en dreamcast no se liberaba la RAM en los juegos, Gracias a este archivo pude avanzar con mi juego y agregarle muchos niveles y demás cosas al no depender de un nro limitado de ram para consumir. Funciona genial!!!!

Ahora.... resulta que noté algo que sucede con este intérprete y es que los archivos .wav que se cargan en bennu, al ejecutar el juego en dreamcast se escuchan solamente por 1 solo parlante... de un solo lado. En realidad, si ponemos un audio muy muy fuerte se escucha por ambos parlantes, pero un canal mucho mas alto que el otro... como si el audio estuviese paneado completamente hacia uno de los lados.
Probé con un 1ST_READ.bin anterior (del ‎jueves, ‎13‎ de ‎agosto‎ de ‎2015 y pesa 1.106.980 bytes) y los audios se escuchan bien por ambos parlantes perfectamente así que tuvo que pasar algo en esta actualización.
Lamentablemente no puedo usar esa versión vieja porque no me libera la ram....
Quería saber si me podrían ayudar o si podría hacer algo para solucionar este problema o si quizás existe un 1ST_READ.bin mas nuevo del 2020 donde se haya resuelto este tema.
Les agradecería infinitamente si me pueden ayudar con esto.
Muchísimas gracias de antemano!!
Saludos desde Argentina!!
Gabriel
IndiketIndiketAdministrador
Publicado 5 day hace
Hola Gabriel!

Yo soy Indiket, el que mantuvo la versión de BennuGD de Dreamcast que estás usando. Mi gran amigo Ryo Suzuki de segasaturno.com me dio un poco de guerra con este port, mejorándolo y añadiéndole cosas por un lado y por otro. Hace ya algunos años que ya no reviso este código (y tampoco me verás activo por la scene por motivos laborales, etc). Digamos que "nos hacemos viejos jeje".

Respecto a tu tema, tienes que saber que está versión de BennuGD está compilada con una librería mía que la llamé "fake_Mixer". Harto de que nos diera muchos problemas de estabilidad y de memoria con la ineficaz "SDL_Mixer", lo que hice es una pequeña librería que traduce los comandos de la SDL_Mixer a la librería "Mikmod". Es decir, uso una librería más liviana y mantengo la compatibilidad con aplicacions que usen la SDL_Mixer.

Por fortuna o desgracia, no todos los comandos están implementados en mi versión de "fake_Mixer". Uno de ellos es el Mix_SetPanning, con lo cual en archivos MONO, efectivamente, sólo se escucha por el parlante izquierdo.

Una solución rápida es que tus WAV estén en estéreo. El panning no tiene sentido en estéreo y se escucha en los 2 parlantes.

La otra... es usar esta versión experimental (nuevo Build) de BennuGD. Aviso: No lo he probado, debería ir...
https://www.dreamcast.es/descargas/pr...082022.zip

Recuerda que en BENNU debes llamar a "SET_PANNING" con el canal, volumen izquierdo y volumen derecho.
Los valores de volumen van de 0 a 255. Si lo quieres centrado, usa 128 en izquierdo y 128 en derecho.
Esta función es válida mientras se está reproduciendo en el canal (es decir, haz el play y a continuación, setea el panning).

Disculpa por la tardanza en la respuesta!

Un gran saludo,
Indiket.
Publicado 3 day hace
Hola Indiket, un gusto en saludarte!!!
Antes que nada, muchísimas gracias por responder! Si, todos nos volvemos grandes y no podemos dedicar el tiempo que quisiéramos a algunas cosas. Yo tengo una hija de 2 años que me demanda la vida jeje.
Probé el intérprete nuevo que me pasaste. Primero te cuento una cosa muy buena... Aparentemente está mas optimizado, porque ahora mi juego anda mucho mas fluido... Antes notaba algunas caidas de fps cuando se movían muchos sprites y tuve que bajar la resolución a 320x240 para que ande bien. Ahora, con este intérprete anda muy muy fluido, no noto ninguna caida de fps.... se siente genial... y hasta me dan ganas de probar de nuevo con sprites de resolucion en 640x480. Esa parte espectacular!!

Y ahora la mala... el audio.... probé con archivos estereo tanto con el intérprete del 2020 que tenia y el nuevo que me brindaste, con ninguno de los 2 se me escuchan, ni siquiera por 1 solo parlante. Directamente no suenan.... Con wavs Mono si se escuchan, pero de igual manera con ambos intérpretes, es decir solo por 1 parlante... (En realidad se escuchan por los 2 pero en uno muy muy muy bajito)
Te comento como estoy haciendo la llamada al wav, entiendo que es como me indicaste, pero cualquier cosa me dices...

Tengo 2 variables int...
int wav;
int id_SND_Opening_CANAL;

wav = load_wav(cadenaruta + "sega3.wav"wink; //Cargo el wav
id_SND_Opening_CANAL = play_wav(wav,0); //le doy play y me guardo el canal
SET_PANNING(id_SND_Opening_CANAL,128,128); //hago el set_panning al canal mitad y mitad...

Probé también sumar otras funciones como Set_Wav_Volume(128).....Resume_wav(id_SND_Opening_CANAL) (después del play_wav) pero sin ningún resultado.
Si te preguntas que hace "cadenaruta", solo tiene un string "/cd/" que lo seteo solo para cuando OS_ID == OS_DC, es para tener la ruta correcta en dreamcast...

Acá dejo un codigo de ejemplo de reproducción muy simple y un archivo .cdi para que lo veas... "sega3.wav" Está en Estereo... "sega2.wav" está en MONO por si lo quieres cambiar y probar....
https://files.fm/u/yt3hw8z4y

No estoy seguro si la versión de bennu que uso podría tener algo que ver... yo usé siempre la que venia en un devkit (aparentemente del 2011), bajé la ultima versión de bennu y cambié todos los bin, (los adjunté también en el link por las dudas, los archivos SDL.dll y SLD_mixer.dll van cambian de versión)
El juego levanta bien con tu nuevo intérprete y con la última versión de bennu pero el audio lo mismo... solo suena por 1 parlante los MONO y los ESTERO directamente no suenan.

En fin... Puedes tomarte el tiempo que quieras en responder!!! Yo cada tanto reviso el hilo. Además este tema del audio no me es un impedimento para avanzar en el desarrollo del juego, es solo un detalle, pero si me gustaría solucionarlo en algún momento. smile
Muchísimas gracias por la ayuda!!
Abrazo Grande
Gabriel
Editado por gabysantof en 08-08-2022 01:27, 3 day hace
puede ver todos los hilos de discusión en este foro.
puede iniciar un nuevo hilo de discusión en este foro.
no puede responder en este hilo de discusión.
no puede empezar en una encuesta en este foro.
puede cargar archivos adjuntos en este foro.
no puede descargar archivos adjuntos en este foro.
Afiliados
SEGA Saturno - Saturn, SEGA y Videojuegos