Karoshi MSX Community

MSX Actualidad => General => Mensaje iniciado por: Imanok en 18 de Marzo de 2006, 07:37:09 pm



Título: Haciendo 'musicas'
Publicado por: Imanok en 18 de Marzo de 2006, 07:37:09 pm
Vemo a ve... algo raro que he pensado... alguien sabe de la existencia de algún programa tipo tracker o lo que sea que, una vez compuesta la canción, genere un fichero con la canción en basic con instrucciones PLAY y tal??

Es una cosa rara... pero igual a algún pillao se le ocurrió hacer algo así en su día...  ???


Título: Re: Haciendo 'musicas'
Publicado por: Jon_Cortazar en 20 de Marzo de 2006, 12:20:25 pm
Jejejeje, eres un friki de cuidado Imanok :D, a ver... a ver quien es el guapo que se curra un MIDI2MSX_BASIC_PLAY!! -aunque, por otro lado, no debería ser algo muy difícil- ;)


Título: Re: Haciendo 'musicas'
Publicado por: Imanok en 20 de Marzo de 2006, 12:36:37 pm
Es que me da un palo ponerme a 'componer' con el PLAY a palo seco... y hacer un tracker tampoco debería ser demasiado difícil, pero claro... me 20 veces más palo!!  ;D

Lo preguntaba como curiosidad... igual existía algo... al igual que algún editor gráfico que había oído que te generaba el listado con LINE, PAINT, etc...

El caso es que ando escaso de espacio libre disponible... porque sino le podría enchufar el miniplayer ese del PT3 player ese que alguien de por aquí se curró (no recuerdo quién, sorry) y ponerle alguna que otra musiquilla... por cierto, cuanto ocupaba el player en cuestión??

Total, que me las voy a tener que dar con el PLAY y el SOUND...


Título: Re: Haciendo 'musicas'
Publicado por: WYZ en 20 de Marzo de 2006, 01:14:28 pm
Dioniso es el autor del PT3 MSX Replayer y Pazos tambien hizo algunas pruebas previas.


Título: Re: Haciendo 'musicas'
Publicado por: jltursan en 20 de Marzo de 2006, 01:23:38 pm
¿No había un tracker para MML que se llamaba MUSicA o algo así? :P


Título: Re: Haciendo 'musicas'
Publicado por: Darth_Fistro en 20 de Marzo de 2006, 03:19:54 pm
Si tienes una música en tracker, por ejemplo en el PT3, te las voy pasando a PLAY  :)


Título: Re: Haciendo 'musicas'
Publicado por: Imanok en 20 de Marzo de 2006, 11:59:31 pm
Si tienes una música en tracker, por ejemplo en el PT3, te las voy pasando a PLAY  :)

Quita, quita... no te mates... ya compondré yo mismo algún cutrerío con PLAY.
Gracias de todas formas (bueno, si al final se me cruzan los cables igual te acabo mandando algo  ;) )


Título: Re: Haciendo 'musicas'
Publicado por: carlobandini en 21 de Marzo de 2006, 09:16:31 am
Hola Imanok, soy nuevo por estos foros, pero estaría encantado en hacerte unas músicas en PLAY, a mí no me cuesta nada, soy productor musical y controlo bastante bien el play y el sound.


Título: Re: Haciendo 'musicas'
Publicado por: pitpan en 21 de Marzo de 2006, 09:33:43 am
ejem, ejem
Karoshi's Caruso
ejem, ejem

 ;)


Título: Re: Haciendo 'musicas'
Publicado por: Imanok en 21 de Marzo de 2006, 10:18:18 am
Hola Imanok, soy nuevo por estos foros, pero estaría encantado en hacerte unas músicas en PLAY, a mí no me cuesta nada, soy productor musical y controlo bastante bien el play y el sound.

Os lo agradezco, pero en un principio intentaré hacerlo yo mismo, que si no, no aprendo... pero lo dicho, que si al final veo que no hay manera, ya pediría ayuda. Gracias, de verdad.

Citar
ejem, ejem
Karoshi's Caruso
ejem, ejem

Te refieres (no creo) a que se puede hacer lo del PLAY con el Caruso??


Título: Re: Haciendo 'musicas'
Publicado por: pitpan en 21 de Marzo de 2006, 10:30:26 am
No, me refiero a que se puede crear la música con el Caruso, incluirla en el ejemplo que viene en ensamblador y llamar a las rutinas desde Basic sin mayores problemas. Además, también te sirve para reproducir los efectos sonoros con el mismo motor.


Título: Re: Haciendo 'musicas'
Publicado por: Imanok en 21 de Marzo de 2006, 12:05:56 pm
Ok. La cosa es que no tengo apenas espacio libre, así que me limitaré a hacer un par de efectos y alguna fanfarria corta.


Título: Re: Haciendo 'musicas'
Publicado por: pitpan en 21 de Marzo de 2006, 12:15:06 pm
Entonces lo más cómodo es ir "a pelo", como pretendes, o incluir el mini-replayer que programo WYZ para el Stratos, que, si no recuerdo mal, era bastante compacto.


Título: Re: Haciendo 'musicas'
Publicado por: WYZ en 21 de Marzo de 2006, 12:36:43 pm
A disposicion de Imanok esta si lo requiere. Desde aquella version ha mejorado bastante (ahora soporta SCC tambien) siempre con la idea de que ocupe lo minimo y no consuma casi recursos durante el gameplay.



Título: Re: Haciendo 'musicas'
Publicado por: pitpan en 21 de Marzo de 2006, 12:43:12 pm
WYZ: yo también he hecho mis pruebas con SCC y lo cierto es que es una maravilla, porque es muy fácil trabajar con él y tiene una potencia increíble gracias a la definición de ondas.

Lo que te pediría, si lo has resuelto ya bien y tienes un ratito libre, es que extraigas del código un snippet para la detección de SCC en slots/subslots. Creo que podría servir a mucha gente dispuesta a meterse en estas aventuras... Si lo prefieres, describe simplemente el proceso que has seguido.

Gracias.


Título: Re: Haciendo 'musicas'
Publicado por: WYZ en 21 de Marzo de 2006, 12:50:44 pm
Por supuesto. La verdad es que la rutina de deteccion del SCC (SCC+ no lo he probado aun) es bien sencilla. Solo hay que ir buscando en la página 2 una ROM que tenga RAM en $9800-$98E0. Pero mas facil que ir creando tu propia rutina para deteccion del SCC es mas facil y mas seguro que Konami te la preste de, por ejemplo, alguna SCC collection.


Molaría mucho un Caruso con soporte para SCC. Sería el primer Tracker de SCC para MSX1? (El Musica no cuenta ;D)


Título: Re: Haciendo 'musicas'
Publicado por: Imanok en 21 de Marzo de 2006, 01:18:42 pm
A disposicion de Imanok esta si lo requiere. Desde aquella version ha mejorado bastante (ahora soporta SCC tambien) siempre con la idea de que ocupe lo minimo y no consuma casi recursos durante el gameplay.

Cuánto ocupa??... bueno... y de dónde puedo bajarla??


Título: Re: Haciendo 'musicas'
Publicado por: WYZ en 21 de Marzo de 2006, 01:32:03 pm
El caso es que solo es codigo ASM y la partitura se codifica de forma "manual".  Enviamela ristra de Plays y el resto del trabajo corre de mi cuenta.el resultado será un binario de menos de 1kb al que podras llamar para reporducir/parar la musica. Antes de nada,¿que espacio libre tienes y donde?

jvicentemz[]yahoo[]es


Título: Re: Haciendo 'musicas'
Publicado por: pitpan en 21 de Marzo de 2006, 02:01:40 pm
Gracias por el snippet, WYZ!

Respecto a lo de añadir soporte SCC al Caruso, lo cierto es que todavía le falta mucho para ser un buen tracker para PSG, así que habrá que darle un tiempo de maduración.


Título: Re: Haciendo 'musicas'
Publicado por: Imanok en 21 de Marzo de 2006, 05:59:59 pm
El caso es que solo es codigo ASM y la partitura se codifica de forma "manual".  Enviamela ristra de Plays y el resto del trabajo corre de mi cuenta.el resultado será un binario de menos de 1kb al que podras llamar para reporducir/parar la musica. Antes de nada,¿que espacio libre tienes y donde?

jvicentemz[]yahoo[]es

Que hay que hacer un bin con cada música??... no os preocupéis, de verdad... ya pondré un par de PLAY's por ahí y un par de SOUND's por allá y listo... total, tengo menos de 1Kb libre...


Título: Re: Haciendo 'musicas'
Publicado por: Imanok en 22 de Marzo de 2006, 09:19:53 am
A ver esos expertos del PLAY y el SOUND  ;)

Qué parámetros debería poner para conseguir diferententes 'instrumentos' y una batería chachi??


Título: Re: Haciendo 'musicas'
Publicado por: carlobandini en 22 de Marzo de 2006, 10:41:18 am
Depende de si lo quieres hacer con PSG o FM-PAC.
En el PSG, no hay "instrumentos", sólo puedes usar dos formas de onda: cuadrada o ruido(tono o ruido).
Lo primero es asignar tono, ruido o ambos a cada 1 de los 3 canales.
(No te pongo la tabla de asignación por que es un poco larga, búsicala en cualquier libro de Basic).

Así pues, definimos:
SOUND 7,asignación de los canales (según la tabla)
SOUND 6,frecuencia del ruido (0,63)
PLAY "canal A", "canal B", "canal C"
De manera que cada uno de los canales (A,B,C) responderán con tono o ruido según hayas asignado.

Lo más parecido a los "instrumentos" se consigue utilizando envolventes:
PLAY "S[nº de envolvente] M[Frecuencia de la envolvente]... O4L8...etc."
Ten en cuenta que sólo puedes usar una envolvente para los tres canales, a menos que en alguno de ellos no la utilizes:
PLAY "S1M5000","S1M5000","V13"
El V13 (cantidad de volumen=13) provocará que el canal C no responda con la envolvente 1, sinó con un sonido plano.

Bueno, espero que ésto te sirva de algo...





Título: Re: Haciendo 'musicas'
Publicado por: MsxKun en 22 de Marzo de 2006, 01:52:26 pm
Gracias por el snippet, WYZ!

Respecto a lo de añadir soporte SCC al Caruso, lo cierto es que todavía le falta mucho para ser un buen tracker para PSG, así que habrá que darle un tiempo de maduración.

Yo aun tengo que meterle mano al Caruso, a ver que tal tira :) Que era exactamente lo que faltaba y no por ponerle? El editor de patterns ya tiraba verdad? Animo con el!


Título: Re: Haciendo 'musicas'
Publicado por: Imanok en 22 de Marzo de 2006, 04:23:19 pm
Depende de si lo quieres hacer con PSG o FM-PAC.
PSG

Citar
En el PSG, no hay "instrumentos", sólo puedes usar dos formas de onda: cuadrada o ruido(tono o ruido).
Lo primero es asignar tono, ruido o ambos a cada 1 de los 3 canales.
(No te pongo la tabla de asignación por que es un poco larga, búsicala en cualquier libro de Basic).

Así pues, definimos:
SOUND 7,asignación de los canales (según la tabla)
SOUND 6,frecuencia del ruido (0,63)
PLAY "canal A", "canal B", "canal C"
De manera que cada uno de los canales (A,B,C) responderán con tono o ruido según hayas asignado.

Lo más parecido a los "instrumentos" se consigue utilizando envolventes:
PLAY "S[nº de envolvente] M[Frecuencia de la envolvente]... O4L8...etc."
Ten en cuenta que sólo puedes usar una envolvente para los tres canales, a menos que en alguno de ellos no la utilizes:
PLAY "S1M5000","S1M5000","V13"
El V13 (cantidad de volumen=13) provocará que el canal C no responda con la envolvente 1, sinó con un sonido plano.

Todo esto ya viene más o menos explicado en el libro que tengo. Lo que me interesaría saber son valores concretos para conseguir algún efecto de batería e "instrumentos" diferentes al que suena por defecto.





Citar


Título: Re: Haciendo 'musicas'
Publicado por: carlobandini en 22 de Marzo de 2006, 05:09:31 pm
Pues así de cabeza...

Prueba a definir el canal 3 para ruido y el 1 y el 2 para tono+ruido, luego reproduce ésto:

X$="T108M4000S1L16"
Y$="T108V13L16"
A1$="O2AO8AO2AO8AAO2AO8AAO2AO8AO2AO8AAO2EGA32"
B1$="V13O6EO5AR16O6CO5BR16O6DCR16DER16GEAO5A32"
C1$="O4R16R16R16R16AR16R16R16R16R16R16R16AR16R16R32"
PLAY X$+A1$,Y$+B1$,X$+C1$
PLAY X$+A1$,Y$+B1$,X$+C1$
(espero que no haya errores, lo he echo sin probarlo)

Esta melodía no te vale como canción porque es muy corta, pero si la sigues, puede quedar resultona.
Por cierto, lo del 32 al final de cada línea es por lo del error del ese famoso del PSG.


Título: Re: Haciendo 'musicas'
Publicado por: pitpan en 22 de Marzo de 2006, 05:29:01 pm
Fallo del PSG? 32? Podrías darnos más detalles sobre este problema que comentas?

No tenía noticia de problema alguno en este sentido, así que toda la información será bienvenida.

Gracias.


Título: Re: Haciendo 'musicas'
Publicado por: carlobandini en 22 de Marzo de 2006, 06:22:35 pm
Pues la verdad, no soy programador ni técnico de nada, pero lo ntentaré explicar a mi manera.

No se si os habeis dado cuenta de que al enlazar 2 cadenas usando PLAY, se produce como una pequeña pausa entre la primera y la segunda.
Y que si poneis una cadena con L8 y otra con L16, la de L16 no suena al doble de velocidad que la de L8.
Y que aunque pongais L16, si detrás de las R, no poneis un 16, las R sonarán con el valor que les dé la gana.

Bien, un día leí en alguna web (no me pregunteis en cual) que ésto era debido a que existía un error en el PSG o el Z-80A o alguno de éstos, un error que solventaron en la siguiente generación de chips de lo que sea.



Título: Re: Haciendo 'musicas'
Publicado por: carlobandini en 22 de Marzo de 2006, 06:23:40 pm
Ops! me olvidaba, lo del 32 lo saqué probando  ;D


Título: Re: Haciendo 'musicas'
Publicado por: pitpan en 22 de Marzo de 2006, 06:30:12 pm
Suena más bien a problema de implementación del macro comando PLAY en BASIC más que a deficiencia del hardware. De todos modos, esperaremos a que lleguen por aquí Dioniso o WYZ para que nos ilustren con su parecer.

En cualquier caso, es una patología interesante que tenemos que conocer si queremos programar en BASIC.

Gracias por la explicación.


Título: Re: Haciendo 'musicas'
Publicado por: WYZ en 22 de Marzo de 2006, 07:48:22 pm
Pues sabes lo mismo que yo Edu. Lo que siempre me ha parecido es que la longitud de las notas no esta bien resuelto por el play, y se nota bastante, ahi carlobandini tiene razon. Por lo demas me parece de lo mas manejable.

Le dejo tambien a Imanok un ultraminiplayer de 60 bytes (y un ejemplo), con el que el play hace un chorus en el 3er canal y ademas sirve para hacer ritmo como en un casio pt10  ;D


Hay que quitar el .txt y descomprinir


Título: Re: Haciendo 'musicas'
Publicado por: Darth_Fistro en 22 de Marzo de 2006, 08:13:13 pm
Suena más bien a problema de implementación del macro comando PLAY en BASIC más que a deficiencia del hardware. De todos modos, esperaremos a que lleguen por aquí Dioniso o WYZ para que nos ilustren con su parecer.

En cualquier caso, es una patología interesante que tenemos que conocer si queremos programar en BASIC.

Gracias por la explicación.

Sastamente. En una msxclub se comentaba que era un defecto del comando PLAY, al utilizar distintos valores para el comando de duración de nota en canales diferentes. Aconsejaban utilizar por ejemplo L8L8 en lugar de L16 si al mismo tiempo en otro canal se definía un L8.


Título: Re: Haciendo 'musicas'
Publicado por: Imanok en 23 de Marzo de 2006, 09:20:19 am
Pues así de cabeza...

Prueba a definir el canal 3 para ruido y el 1 y el 2 para tono+ruido, luego reproduce ésto:

X$="T108M4000S1L16"
Y$="T108V13L16"
A1$="O2AO8AO2AO8AAO2AO8AAO2AO8AO2AO8AAO2EGA32"
B1$="V13O6EO5AR16O6CO5BR16O6DCR16DER16GEAO5A32"
C1$="O4R16R16R16R16AR16R16R16R16R16R16R16AR16R16R32"
PLAY X$+A1$,Y$+B1$,X$+C1$
PLAY X$+A1$,Y$+B1$,X$+C1$
(espero que no haya errores, lo he echo sin probarlo)

Esta melodía no te vale como canción porque es muy corta, pero si la sigues, puede quedar resultona.
Por cierto, lo del 32 al final de cada línea es por lo del error del ese famoso del PSG.

Anoche probé este ejemplo en casa y suena muy guay!
Lo que comentabas de la tabla de asignación de tono y ruido a los 3 canales no viene en el libro que yo tengo. Te suena de algún sítio por internet que venga eso??

A ver si pruebo esta noche el ejemplo de WYZ!


Título: Re: Haciendo 'musicas'
Publicado por: Imanok en 23 de Marzo de 2006, 09:36:26 am
Me autorespondo. Mirando el TH, esto es lo que pone:
_____________
I/O port (Input=0  Output=1)
B7 (chB)
B6 (chA)

Noise output (ON=0  OFF=1)
B5 (chC)
B4 (chB)
B3 (chA)

Tone output (ON=0  OFF=1)
B2 (chC)
B1 (chB)
B0 (chA)
_____________

Con eso ya me vale. Poniendo SOUND7,28 tengo los canales A y B para tonos y el C para ruidos.


Título: Re: Haciendo 'musicas'
Publicado por: pitpan en 23 de Marzo de 2006, 09:43:36 am
Si utilizaras ese valor en ensamblador directamente correrías el riesgo de fundir el PSG. Afortunadamente, el BASIC es bondadoso y pongas el valor que pongas en el registro 7, siempre hace primero OR &h80. Esto es así porque los dos bits de más peso tienen que ser 1 y 0 respectivamente, indicando el "flujo" del PSG. De usar valores diferentes, podría reventar todo. De hecho, a eso se refería Patriek Lesparre cuando decía en el fallo de MSXdev'05 lo de "dangerous writes to reg #7".

Cuidadín con esos puertos.


Título: Re: Haciendo 'musicas'
Publicado por: carlobandini en 23 de Marzo de 2006, 10:11:33 am
Pues he buscado como un loco, pero no encuentro la tabla, pero en casa seguro que la tengo, te la traigo.

Además hace tiempo saqué un ruidito curioso poniendo el primer canal en vacío (sin tono ni ruido) y escribiendo:

PLAY"M500S1T120L8O4C"

Pruébalo (cuando tengas la tabla) y prueba también a cambiar el valor de M.

Se puede usar como bombo si haces patrones de batería.
 :D


Título: Re: Haciendo 'musicas'
Publicado por: carlobandini en 23 de Marzo de 2006, 04:48:51 pm
Encontré la tabla:

       RUIDO                        TONO
  C       B       A             C       B       A
  32     16      8             4       2       1

Sumas los valores y luego:

SOUND 7, 63-suma.




Título: Re: Haciendo 'musicas'
Publicado por: SapphiRe en 23 de Marzo de 2006, 05:11:54 pm
Encontré la tabla:

       RUIDO                        TONO
  C       B       A             C       B       A
  32     16      8             4       2       1

Sumas los valores y luego:

Código:
SOUND 7, 63-suma

Y si no quieres que te penalicen por escribir un valor ilegal en el PSG mejor haces

Código:
SOUND 7,128+63-suma

 ;D ;D


Título: Re: Haciendo 'musicas'
Publicado por: pitpan en 23 de Marzo de 2006, 05:15:34 pm
Lo que comentaba antes: el intérprete de BASIC ya comprueba eso y añade por defecto ese 80h al escribir al registro 7 del PSG. Si usas el comando SOUND no puedes freír nada en el MSX.

Lo que sí haría sería penalizar por la operacion 128+63-valor. Podríamos usar 191-valor, por ejemplo.

De todos modos, ¿cómo nos estamos liando tanto con una cosa así? Es mejor optimizar mini-rutinitas en ensamblador, para ver si hay pique sano y todos nos ahorramos algún byte o algún ciclo. ¿Alguien propone alguna?


Título: Re: Haciendo 'musicas'
Publicado por: SapphiRe en 23 de Marzo de 2006, 05:27:10 pm
Lo que comentaba antes: el intérprete de BASIC ya comprueba eso y añade por defecto ese 80h al escribir al registro 7 del PSG. Si usas el comando SOUND no puedes freír nada en el MSX.

Ah, no lo sabía. Interesante es conocerlo :)

Mea culpa, no había leído tu contestación de antes... estoy tan despistado últimamente que antes me he dejado el móvil en los servicios. Menos mal que lo ha visto un compañero y me lo ha recogido, que si no...  :'( :'( si es que no puedo más con tanto trabajo :'( :'( :disbelief: :disbelief:

Citar
Lo que sí haría sería penalizar por la operacion 128+63-valor. Podríamos usar 191-valor, por ejemplo.

Lo sé, lo sé... simplemente no tenía ganas de sumar :voguel:


Título: Re: Haciendo 'musicas'
Publicado por: Imanok en 23 de Marzo de 2006, 06:01:01 pm
Lo que sí haría sería penalizar por la operacion 128+63-valor. Podríamos usar 191-valor, por ejemplo.

Supongo que bromeas, pero eso es un tema puntilloso... igual que penalizar ciertas cosas que se han penalizado y no creo que sea justo. Y lo digo porque el MSXDev es un concurso de juegos, no un concurso de programación pulcra... vamos, que las tripas del juego deberían dar igual a la hora de valorarlo. La valoración del juego no debería ir más allá de gráficos, música, jugabilidad y originalidad.

Vamos... es mi opinión...

Además, en mi caso (ya que utilizo NestorPreter) como puedo definir constantes, al operar con ellas se proporciona claridad, pero una vez generado el programa basic quedan como lo que había escrito SapphiRe.

Un ejemplo tonto:

Si declaro:
@DIR_BASE 100

Y luego hago:
X=@DIR_BASE+100

En el programa basic quedará así:
X=100+100


Título: Re: Haciendo 'musicas'
Publicado por: pitpan en 23 de Marzo de 2006, 06:37:40 pm
Otro anatema: 100+100!

Bromas aparte, Imanok, las penalizaciones que impuso el juez en el concurso de juegos en BASIC tenían que ver no con aspectos de limpieza de código o elegancia, sino de funcionalidad. Sólo se penalizaron juegos que corrían el riesgo de no ser compatibles con todos los ordenadores MSX por diversos motivos. El criterio de compatibilidad, sin embargo, lo fijó el juez dentro de sus competencias.


Título: Re: Haciendo 'musicas'
Publicado por: jltursan en 23 de Marzo de 2006, 09:23:38 pm
Volviendo al topic del audio :

Citar
Encontré la tabla:

       RUIDO                        TONO
  C       B       A             C       B       A
  32     16      8             4       2       1

Échale un vistazo a este enlace del "MSX Technical Handbook" :

http://www.konamiman.com/msx/th-5a.txt

Aquí vas a encontrar información muy interesante acerca del funcionamiento del PSG. ;)

Y si lo quieres completo (que no sólo de PSG vive el MSXero), Robsy te lo ofrece gentilmente en su página :

http://www.robsy.net/msxtech.pdf


Citar
PLAY"M500S1T120L8O4C"

Pruébalo (cuando tengas la tabla) y prueba también a cambiar el valor de M.

Estaría genial que, teniendo en cuenta las limitaciones del pobre PSG, se recopilara una colección de snippets de sonido con la simulación de instrumentos o de efectos como el de sirenas, explosiones, clicks, ping y pongs. En fin, algo rápido de usar para el que no tiene ni idea de como hacer el ruido del motor de un cohete para su juego, por ejemplo.

Citar
estoy tan despistado últimamente que antes me he dejado el móvil en los servicios

Espero que no haya sido dentro de la taza... ::) :P

Citar
Menos mal que lo ha visto un compañero y me lo ha recogido, que si no...

¡Por Dios!, ¡¡que no haya sido dentro de la taza!!  :o


Título: Re: Haciendo 'musicas'
Publicado por: SapphiRe en 23 de Marzo de 2006, 09:32:18 pm
¡Por Dios!, ¡¡que no haya sido dentro de la taza!!  :o

No, encima de la encimera de los lavabos, mientras me lavaba los dientes ;D ;D


Título: Re: Haciendo 'musicas'
Publicado por: Imanok en 24 de Marzo de 2006, 09:46:00 am
Otro anatema: 100+100!
Pero has entendido el por qué?

Bromas aparte, Imanok, las penalizaciones que impuso el juez en el concurso de juegos en BASIC tenían que ver no con aspectos de limpieza de código o elegancia, sino de funcionalidad. Sólo se penalizaron juegos que corrían el riesgo de no ser compatibles con todos los ordenadores MSX por diversos motivos. El criterio de compatibilidad, sin embargo, lo fijó el juez dentro de sus competencias.
Me estaba refiriendo al MSXDev, más que al concurso de BASIC... pero vamos... que da igual, ya que el criterio debería ser el mismo. Creo que temas como lo del R#7 del PSG no deberían haberse penalizado porque, para empezar, el código del replayer no era ni siquiera propio de cada programador. Si, por poner un ejemplo, en un futuro se pudiesen presentar juegos hechos en NestorBasic, yo hago un juego y luego resulta que el Nestorbasic tiene un error... debería penalizarse mi juego??

Evidentemente, si pruebas el juego en cinco modelos distintos de MSX y en cuatro no va... eso es otro tema...

Con todo ésto quiero decir que para ser juez del concurso ni siquiera se debería saber programar... sino saber de juegos y de MSX. Y a poder ser, no debería haber un sólo juez... yo incluso me inclino más por votación popular (aunque eso tiene el peligro del amiguismo... pero ya somos mayorcitos).


Título: Re: Haciendo 'musicas'
Publicado por: Imanok en 10 de Abril de 2006, 01:13:38 pm
Seguimos con los misterios del PLAY...

A ver... si hago un programita con una melodía usando los tres canales y tal, desde que le hago RUN, hasta que empieza a tocar la música, pasa cierto intervalo de tiempo, al igual que también pasa tiempo hasta que vuelve a salir el cursor del basic. Hay forma de almacenar la música en el buffer del PLAY y eliminar o disminuir en la medida de lo posible esos tiempos de espera??


Título: Re: Haciendo 'musicas'
Publicado por: jltursan en 13 de Abril de 2006, 11:08:41 am
Pues me temo que no fácilmente ;). Después de todo el BASIC siempre tendrá que procesar las cadenas con la música para después procesarlas y eso le llevará tiempo.
Para cargar la música con otro método, por ejemplo con CM y un LDIR al buffer, habría que:

1) Ampliar el buffer de 128 bytes por voz a algo un poco más grande. Eso quizá se podría hacer modificando los valores de inicio del buffer y tamaño del mismo en QUETAB ($F959); pero habría que asegurarse que nadie te los chafa una vez modificados.
2) Tener la música que quieres que suene, preinterpretada. Se me ocurre que invocando directamente a la rutina del intérprete que hace sólo el parseo se podrían ir cogiendo los cachos de 128 en 128 bytes y luego irlos pegando hasta tener todo el tema interpretado.
3) Una rutinilla de nada que te copie esos datos al nuevo buffer e invoque únicamente a la rutina que procesa la cola de sonido para que le meta datos al PSG.

¿Vaya curro, eh?. Creo que lo mejor para estos casos es buscar algún método alternativo : músicas más cortas o fragmentadas, amenizar las esperas con mensajes publicitarios o incluso pasar del BASIC y utilizar algún player de CM que pueda utilizarse desde BASIC ;)


Título: Re: Haciendo 'musicas'
Publicado por: MsxKun en 13 de Abril de 2006, 01:02:20 pm
En una MSX-Club habia una rutina ASM que hacia mas o menos eso, capturar musicas del buffer del play, para luego hacer lo inverso, y tras hacer un arreglo hasta funcionaba, pero puestos a usar ASM, se usa un player decente digo yo :)


Título: Re: Haciendo 'musicas'
Publicado por: MsxKun en 07 de Julio de 2006, 09:39:16 pm
Yo aun tengo que meterle mano al Caruso, a ver que tal tira :) Que era exactamente lo que faltaba y no por ponerle? El editor de patterns ya tiraba verdad? Animo con el!

Bueno, pues por fin lo he probado :P
Pero el codigo txt generado, segun veo, no tiene informacion sobre los patterns no? Esto es lo q ha salido:
Código:
; Karoshi's Caruso "Manic Monday" pre-release
; Data converted from kunpro.dat
;-------------------------------------------------------------------------
; Silence sample
  SMP_ID_0:  db 000h,000h,080h,001h
; User-defined samples
  SMP_ID_4:  db 0E3h,0DFh,006h,084h,007h,089h,00Ch,080h,00Eh,080h,009h,080h,003h,080h,002h,080h,004h,080h,006h,080h,009h,080h,006h,080h,080h,001h
; Sample table
  SMP_TABLE: dw SMP_ID_0,SMP_ID_0,SMP_ID_0,SMP_ID_0,SMP_ID_4

; Null ornament
  ORN_ID_0:  db 000h,080h,001h
; User-defined ornaments
  ORN_ID_3:  db 002h,00Ah,012h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,080h,001h
; Ornament table
  ORN_TABLE: dw ORN_ID_0,ORN_ID_0,ORN_ID_0,ORN_ID_3

; Track data
  SNG_DAT:
    db 25 ; Tempo
    db 3 ; Channels
    dw PTN_0
    dw PTN_0
    dw PTN_1
    dw PTN_0
    dw PTN_1
    dw PTN_1
    dw 0FFFFh ; end of song

No faltan los datos de PTN_0 y PTN_1? En el tracker estaba, sonaba un moooooo miiiiiiiiiiiiiii moooooooooo cutre, pero pa probar servia. Tenia dos patterns con 4 o 5 notas de na.
:( no rula bien? Que me pasa doctor?


Título: Re: Haciendo 'musicas'
Publicado por: MsxKun en 09 de Julio de 2006, 03:42:29 pm
Pos nada, lo he probado en el WSX y le he añadido mas patterns, y ahora si lo coge bien ;D
Mola mola!


Título: Re: Haciendo 'musicas'
Publicado por: Jon_Cortazar en 09 de Julio de 2006, 06:01:42 pm
Yo con el Caruso funciono de miedo. Una cosa, Kun, ¿has puesto en el guión general el orden de los patterns 0-1-etc...?. Es que si defines los patterns pero despues, en la definición de la canción, no los incluyes, pues no te saldrán en el TXT... prueba a ver, con las herramientas que creó el robsy, hacer música es una gozada, palabrita!.


Título: Re: Haciendo 'musicas'
Publicado por: MsxKun en 09 de Julio de 2006, 08:00:26 pm
Citar
Yo con el Caruso funciono de miedo.

Pues ya te pedire algun dia musicas  ;D

Citar
Una cosa, Kun, ¿has puesto en el guión general el orden de los patterns 0-1-etc...?.

Que si que si. Que puse dos patterns y luego en el tracker pues 001101 o algo asi, pero en el codigo no me salian definidos. Ahora si, no se si porque le he puesto mas o pq en el emu no grababa todo bien o que... Tanto da. Funciona y me abre nuevas posibilidades  :)

Citar
con las herramientas que creó el robsy, hacer música es una gozada, palabrita!.

Bueno, aparte de eso, ademas hay que saber hacerla y ahi no llego  :P  Pero el Caruso esta muy currao y es muy util.


Título: Re: Haciendo 'musicas'
Publicado por: nerlaska en 31 de Julio de 2006, 08:57:24 am
¿Sabéis por un casual con que editor habrán hecho las musicas del SPACE MANBOW 2?

el BLaffer quizás?
el SCCMuzix?



Título: Re: Haciendo 'musicas'
Publicado por: jltursan en 31 de Julio de 2006, 12:05:47 pm
Pues si no me equivoco, creo que usaba el SCC Blaffer...


Título: Re: Haciendo 'musicas'
Publicado por: nerlaska en 04 de Agosto de 2006, 08:12:33 am
Y sabéis de alguien que monte musicas en SCCBlaffer o similar .. vamos .. alguien que haga composiciones PSG+SCC?
O si sabéis de algún sitio donde bajarse música PSG+SCC? que no sea de Konami, claro :-)
Me da igual el tracker que se use .. mientras use PSG y SCC.

Es que me gustaría asegurarme que el juego que estoy montando para la DEV va a tener música. Es mi plan B!, por si el A falla :-)

Gracias!


Título: Re: Haciendo 'musicas'
Publicado por: jltursan en 04 de Agosto de 2006, 09:03:54 am
Citar
O si sabéis de algún sitio donde bajarse música PSG+SCC?

Creo recordar que el propio SCC Blaffer venia con un puñado de temas, igual alguno te vale...

Citar
Es que me gustaría asegurarme que el juego que estoy montando para la DEV va a tener música. Es mi plan B!, por si el A falla

Añade un plan C, ¡usa sólo el PSG!, aunque puedes usar reproductores sencillos como el caruso o el de Wyz, también tienes el PT3 con el que se pueden hacer auténticas virguerías (y tienes a tu disposición miles de temas en la comunidad).


Título: Re: Haciendo 'musicas'
Publicado por: nerlaska en 04 de Agosto de 2006, 10:33:55 am
Jo .. es que sabría mal usar sólo el PSG .. porque .. tengo un reproductor PSG+SCC que tira de cine .. y no usarlo .. me da lastimica!
Pero en fin .. si no hay mas remedio que ir al plan C .. pues .. iremos al plan C .. pero de momento .. el A sigue en marcha :-)

Al ataquer!!

Saludos!


Título: Re: Haciendo 'musicas'
Publicado por: Jon_Cortazar en 04 de Agosto de 2006, 09:14:40 pm
Ánimo nerlaska!!!, tu juego me intriga muchísimo, espero que te curres un peazo clásico!  ;)


Título: Re: Haciendo 'musicas'
Publicado por: nerlaska en 07 de Agosto de 2006, 08:53:32 am
Eso espero yo también .. Diciembre me acecha!!! .. Dios! pues no me queda curro!!