Karoshi MSX Community
05 de Julio de 2021, 07:44:00 pm *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias:
 
   Inicio   Ayuda Buscar Ingresar Registrarse  
Páginas: [1]
  Imprimir  
Autor Tema: Para los maestros y sabios del MSX...  (Leído 6001 veces)
0 Usuarios y 1 Visitante están viendo este tema.
nerlaska
Karoshi Excellent Member
******
Mensajes: 1102


Programador


WWW Email
« : 10 de Agosto de 2006, 08:37:28 am »

Hola a todos y espero que podáis resolver unas intrigas que corroen mis adentros.

Aclaración 1: PSG reg, value
Eso significa que escribo un valor "value" en un registro "reg" del PSG .. ya sabeis puerto A0 y puerto A1 y tal y cual.

¿Tiene significado el hacer? (por ejemplo)

PSG 7, 56
PSG 10, 12
PSG 7, 56
PSG 7, 56

Me he dado cuenta viendo la música de algunos juegos como el "Penguin Adventure" .. que se escriben valores repetidos a registros PSG (creo que es tonteria el hacerlo o no?) .. con valores repetidos me refiero a por ejemplo escribir PSG 7,56 varias veces seguidas.

También me he dado cuenta de que por ejemplo .. al registro 7 .. se escribe muchas veces el mismo valor de manera aleatoria y me pregunto si es necesario .. quiero decir ... por ejemplo:

PSG 7, 56
PSG 10, 12
PSG 7, 56
PSG 10, 10

Sería lo mismo que:

PSG 7, 56
PSG 10, 12
PSG 10, 10

¿Es lo mismo? O no .. porque creo que no es lo mismo .. al menos esa impresión me da cuando intento interpretar yo la misma secuencia de escrituras.

Resumen pues de dudas:

1) Tiene sentido escribir varias veces seguidas el mismo valor a un registro?
2) Tiene sentido escribir varias veces seguidas distintos valores a un registro?
3) Tiene sentido escribir varias veces de forma "random" el mismo valor a un registro?
4) Hay registros PSG que al leerse cambian su valor o el de otro registro?
5) Hay registros PSG que al escribirse cambian su valor o el de otro registro?

Bueno .. espero que podáis ayudarme de momento con esto .. luego seguire con otras dudas y del PSG pasaremos al SCC

En línea

MSX4EVER2GETHER
www.nerlaska.com
jltursan
Karoshi Forum's Guru
*******
Mensajes: 1516


¿Que es lo que has aprendido hoy?


WWW Email
« Respuesta #1 : 10 de Agosto de 2006, 09:04:17 am »

Citar
¿Tiene significado el hacer? (por ejemplo)

PSG 7, 56
PSG 10, 12
PSG 7, 56
PSG 7, 56

A priori no mucho creo yo, con ese valor en el registro 7 (que por cierto es ilegal *) se activa el ruido en los 3 canales. Repetido de esa forma, salvo que se produzca algún efecto de "pop" o algún sonido especial, no se para que puede valer. Huh

Citar
Me he dado cuenta viendo la música de algunos juegos como el "Penguin Adventure" .. que se escriben valores repetidos a registros PSG (creo que es tonteria el hacerlo o no?) .. con valores repetidos me refiero a por ejemplo escribir PSG 7,56 varias veces seguidas.

¿No será que estás capturando el estado de los registros del PSG y no lo estás haciendo a la velocidad adecuada o ritmo constante?

Citar
1) Tiene sentido escribir varias veces seguidas el mismo valor a un registro?

El mismo valor yo creo que no...; bueno, salvo que quieras mantener un tono o efecto durante un tiempo, claro (descartado el PSG#7).

Citar
2) Tiene sentido escribir varias veces seguidas distintos valores a un registro?

Por supuesto; así consigues la mayoría de los efectos. Habría que precisar que significa "varias veces seguidas", lo normal es que se envíen valores al conjunto de los 14 registros cada interrupción (50 o 60 veces por segundo). Si con esa frecuencia vas haciendo oscilar la frecuencia (valga la redundancia) del sonido del canal A puedes conseguir un efecto "sirena", por ejemplo.

Citar
3) Tiene sentido escribir varias veces de forma "random" el mismo valor a un registro?

A lo mejor el efecto es curioso. Wink

Citar
4) Hay registros PSG que al leerse cambian su valor o el de otro registro?

¿Al leerse?, para mí que no.

Citar
5) Hay registros PSG que al escribirse cambian su valor o el de otro registro?

De eso se trata, su valor cambia; el de otro registro casi seguro que en ningún caso.


A ver si alguno de los entendidos en música que por aquí paran puede comentar algo, que yo estoy más bien pez en estos temas Tongue

(*) Los valores que se introducen en el registro 7 tienen que ser siempre de la forma 10xxxxxx; si no, se corre el riesgo de dañar el hardware del MSX, o por lo menos eso se indica en las especificaciones... Tongue
En línea

Doom dee doom dee doom
nerlaska
Karoshi Excellent Member
******
Mensajes: 1102


Programador


WWW Email
« Respuesta #2 : 10 de Agosto de 2006, 10:19:07 am »

Bueno .. la captura la hago cada VBLANK.
Y ciertamente .. veo cosas curiosas...

Por ejemplo .. si capturo la musica del Penguin .. ok? .. y lo hago teniendo en cuenta que siempre guarde las escrituras aunque sean del mismo valor ...
La reproducción posterior es 100% perfecta.
Pero! .. si hago la optimización de no guardar las escrituras de valores repetidos .. la jodimos .. algo pasa .. ya no suena igual.

O sea ... Optimizacion 1 .. y si que funciona bien...

PSG 7, 63
PSG 7, 63
PSG 7, 63
PSG 10, 12

Se puede convertir a:

PSG 7, 63
PSG 10, 12

Eso sin problemas pero...

PSG 7, 63
PSG 10, 12
PSG 7, 63
PSG 2, 120
PSG 7, 63

Esto ya no se puede convertir a:

PSG 7, 63
PSG 10, 12
PSG 2, 120

Es como si el hecho de escribir al registro 7 .. SIEMPRE tuviera sentido.

Con el resto de registros parece no importar .. quiero decir .. que puedes evitar guardar que se escribe el mismo valor.
En línea

MSX4EVER2GETHER
www.nerlaska.com
nerlaska
Karoshi Excellent Member
******
Mensajes: 1102


Programador


WWW Email
« Respuesta #3 : 10 de Agosto de 2006, 10:59:33 am »

EN FIN .. SOY UN PAQUETE .. jejejeje ... NADA .. NI CASO .. Y QUE SIRVA PARA TODO EL MUNDO :-)

No es necesario escribir 2 o más veces .. SEGUIDO o SIN SEGUIR.. el mismo valor a los registros PSG

NO PASA NADA! DE NADA! .. Funciona con todo su sentido lógico.

Perdonad las molestias ... y que sirva de información adicional .. que lo mismo para el SCC.

Un saludo!

En línea

MSX4EVER2GETHER
www.nerlaska.com
jltursan
Karoshi Forum's Guru
*******
Mensajes: 1516


¿Que es lo que has aprendido hoy?


WWW Email
« Respuesta #4 : 10 de Agosto de 2006, 11:16:57 am »

...y entonces, solo por curiosidad, ¿que te hizo pensar que había diferencias entre repetir y no repetir?, ¿que es lo que has descubierto? Huh
En línea

Doom dee doom dee doom
nerlaska
Karoshi Excellent Member
******
Mensajes: 1102


Programador


WWW Email
« Respuesta #5 : 10 de Agosto de 2006, 11:24:28 am »

Nada .. que me he montado un capturador de audio .. pillo el SCC+PSG que se esta generando en el MSX .. de manera que creo un pseudo codigo optimizado .. vamos ..tipo un MP3 .. pero mas simple y que ocupa menos ..
¿Con que idea? .. pues con idea de poder pillar música de cualquier tracker, editor o juego .. sin complicarme la vida en como funciona su formato o lo que sea!
De esta manera .. pues ya tengo resuelta la parte del audio en el jueguecillo de la DEV .. que me traia de cabeza.
En línea

MSX4EVER2GETHER
www.nerlaska.com
Jon_Cortazar
Administrator
Karoshi Forum's God
********
Mensajes: 2777



WWW Email
« Respuesta #6 : 10 de Agosto de 2006, 12:10:49 pm »

Enhorabuena nerlaska!, eres todo un hacha!  Cheesy
En línea

Jon Cortázar Abraido (aka El Viejo Archivero)
RELEVO Videogames
[Dioniso: La cafeína está haciendo su trabajo; yo espero hacer el mío.]
[pitpan: Me sigue pareciendo más productivo jugar al SNAIL MAZE que seguir esta discusión.]
nerlaska
Karoshi Excellent Member
******
Mensajes: 1102


Programador


WWW Email
« Respuesta #7 : 10 de Agosto de 2006, 12:25:43 pm »

Mi sufrimiento ha costado!!! pero al final mola .. no veas el place que da .. pillar un musica del SDSnatcher .. y meterla de fondo en tu pantalla de combate .. por decir algo .. da alegria .. aunque la verdad .. espero conseguir una BSO nueva .. vamos .. se supone que hay un músico por ahí que está haciendo algo .. yo por si las moscas estoy hasta por hablar con los de TeddyWarez :-) .. pero la verdad es que molaría BSO Nueva y además PSG+SCC .. hosti .. la caña .. yo estoy todo el santo dia escuchando la MSX Nostalgia (la radio del www.live365.com) .. una BSO nueva .. es lo que hace falta.
En línea

MSX4EVER2GETHER
www.nerlaska.com
Jon_Cortazar
Administrator
Karoshi Forum's God
********
Mensajes: 2777



WWW Email
« Respuesta #8 : 10 de Agosto de 2006, 12:28:16 pm »

Pues prueba por ahí a conseguirte un musico que te eche una mano, hombre!!!

A ver... ¿alguien que se anime a hacer musicas para el RPG de nuestro amigo Nerlaska, o que?  Spank
En línea

Jon Cortázar Abraido (aka El Viejo Archivero)
RELEVO Videogames
[Dioniso: La cafeína está haciendo su trabajo; yo espero hacer el mío.]
[pitpan: Me sigue pareciendo más productivo jugar al SNAIL MAZE que seguir esta discusión.]
nerlaska
Karoshi Excellent Member
******
Mensajes: 1102


Programador


WWW Email
« Respuesta #9 : 10 de Agosto de 2006, 12:35:39 pm »

Eso eso ...
Y si encima son en SCC Blaffer NT .. mejor! :-)

Haréis de mi un hombre feliz!! .. que Diciembre se acecha vertiginosamente .. Dios!!  Cheesy
En línea

MSX4EVER2GETHER
www.nerlaska.com
jltursan
Karoshi Forum's Guru
*******
Mensajes: 1516


¿Que es lo que has aprendido hoy?


WWW Email
« Respuesta #10 : 10 de Agosto de 2006, 05:38:27 pm »

Por MRC había algunos threads muy interesantes al respecto :

http://www.msx.org/forumtopic1293.html

http://www.msx.org/forumtopic3058.html

Recuerdo otro bastante reciente en el que se anunció el AYFX editor para crear SFX para el PSG, se encuentra por aquí:

http://trd.speccy.cz/

En ese mismo hilo también aparecía un script TCL para que el OpenMSX generara archivos AY, que vienen a ser un volcado raw de los registros del PSG, algo parecido a lo que ya hace el FMSX-DOS.

El caso es que, ¿no salen unos archivos de datos impresionantemente grandes?, para que fuesen manejables deberías comprimirlos y descomprimirlos "on the fly" al reproducirlos. También supongo que podrias guardar sólo la información estríctamente necesaria de cada "frame" y no cada vez los 14 registros; pero aún así... Undecided
En línea

Doom dee doom dee doom
nerlaska
Karoshi Excellent Member
******
Mensajes: 1102


Programador


WWW Email
« Respuesta #11 : 11 de Agosto de 2006, 08:28:52 am »

Efectivamente .. si lo haces a lo bestia .. estas perdido ...
Pero haces unos cuantos volcados y dedicas unos dias al estudio estadístico de los mismos .. llegas a obtener un sistema de compresión/descompresión en tiempo real que ni el Z80 se entera.
Por ejemplo .. las canciones SCC+PSG de Konami .. se me quedan en < 16 Kb. y si sólo es PSG .. pues 4, 6 u 8 Kb suficiente. Al menos con los títulos de Konami, la verdad es que no son canciones extremadamente largas .. probaré con la del final del SDSnatcher jejeje .. que dura como 10 minutos!! :-)
Se que se puede comprimir más .. pero ya he conseguido lo que queria para el juego que estaba montando .. así que .. a otra cosa mariposa.
En línea

MSX4EVER2GETHER
www.nerlaska.com
SapphiRe
Visitante
« Respuesta #12 : 11 de Agosto de 2006, 11:14:32 am »

Efectivamente .. si lo haces a lo bestia .. estas perdido ...
Pero haces unos cuantos volcados y dedicas unos dias al estudio estadístico de los mismos .. llegas a obtener un sistema de compresión/descompresión en tiempo real que ni el Z80 se entera.
Por ejemplo .. las canciones SCC+PSG de Konami .. se me quedan en < 16 Kb. y si sólo es PSG .. pues 4, 6 u 8 Kb suficiente. Al menos con los títulos de Konami, la verdad es que no son canciones extremadamente largas .. probaré con la del final del SDSnatcher jejeje .. que dura como 10 minutos!! :-)
Se que se puede comprimir más .. pero ya he conseguido lo que queria para el juego que estaba montando .. así que .. a otra cosa mariposa.

Mmmm... ese formato suena interesante y, casi con total seguridad, se podría hacer un conversor a KSS para así poder escuchar las canciones en el winamp. Si te parece buena idea mándame un mensaje privado y lo vamos mirando, que no sería el primer conversor a KSS que hago.

Un saludo
--
SapphiRe
En línea
Páginas: [1]
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.21 | SMF © 2013, Simple Machines XHTML 1.0 válido! CSS válido!