Título: Musica en 6 voces para PSG. Publicado por: toniman en 26 de Julio de 2011, 02:05:21 pm Hola chicos,
Hace poco que Arturo Ragozini me paso una prueba que habia hecho para reproducir 6 voces en un PSG, la verdad es que suena muy bien, y ademas es gratis, vamos, que no hace falta hardware adicional :) Supongo que la habreis oido, pero por si acaso no lo habeis hecho aqui esta el enlace: http://www.msx.org/modules.php?op=modload&name=Downloads&file=index&req=visit&lid=732 Segun me conto Shapphire eso se hace cambiando la nota cuando la interrupcion esta a mitad de la pantalla, en un MSX2 es mas factible. Esta claro que esto consumira ciertos ciclos de proceso, por eso a mi modo de ver es interesante en presentaciones y otras partes del juego en donde haya poco movimiento. Seria parecido a lo que hacen en el spectrum pero no parece que gaste tanta CPU. Y pensando ademas que detras de este truco no hay sofware se me ha ocurrido que se podrian hacer dos cosas: 1- Usas dos modulos de PT3 a la vez (es un poco locura pero se puede componer musica en 6 voces cuando el primer modulo esta acabado, se borra todo y se deja la bateria solo, o algun otro instrumento de referencia que nos permita hacer las otras voces). 2- Usar un modulo de PT3 y usar las otras 3 voces como efecto de eco o reverb. En fin, para mi proyecto me interesaria, ¿Que opinais vosotros del tema? Título: Re: Musica en 6 voces para PSG. Publicado por: MsxKun en 26 de Julio de 2011, 07:29:58 pm 1- Pregunta a Sapphire, que esta en el meollo :D
Título: Re: Musica en 6 voces para PSG. Publicado por: Konamito en 26 de Julio de 2011, 09:16:27 pm Suena bien aunque para mi gusto un poco recargado... Aunque como dices, es una prueba.
Título: Re: Musica en 6 voces para PSG. Publicado por: SapphiRe_MSX en 26 de Julio de 2011, 11:49:04 pm El Vortex Tracker permite componer módulos de 6 canales linkando dos módulos PT3 "normales".
Se puede aprovechar, por ejemplo, el PSG adicional del MegaFlash ROM SCC+, de momento... (dadme algo de tiempo para aprovechar otras cosas). Título: Re: Musica en 6 voces para PSG. Publicado por: toniman en 27 de Julio de 2011, 08:22:43 am Bueno, me gustaria evitar usar el PSG del MegaFlash SCC+ puesto que eso encareceria el cartucho, mi idea es hacerlo en un MSX pelao y mondao :)
Se que Aorante y MSXKUN estan haciendo programas de sonido y experimentando, me gustaria que, si tienen tiempo y se interesan por esto, que hicieran alguna prueba o integraran en sus programas esta caracteristica. A mi me gustaria incluirlo en mi proyecto, al que todavia puede que quede 2 o 3 años para que salga. Sapphire, si quieres hacerlo con un solo PSG, esperare el tiempo que necesites. Título: Re: Musica en 6 voces para PSG. Publicado por: pitpan en 27 de Julio de 2011, 09:05:09 am Si no recuerdo mal, el tema de usar 6 canales en MSX con un único PSG supone un uso intensivo de la CPU, por lo que en principio, no sería compatible con el desarrollo de videojuegos.
Por otra parte, toniman, ¿tienes ya programador para tu proyecto? Título: Re: Musica en 6 voces para PSG. Publicado por: toniman en 27 de Julio de 2011, 09:26:01 am Si, ya tengo el scroll, los sprites funcionando, es un proyecto para MSX2, ahora estamos haciendo las colisiones.
Os doy algunas pistas, es isometrico pero no como Gunfright, es un angulo diferente, tiene scroll hecho con setadjust. Me gustaria usar musica de 6 voces en PSG para la intro, menu, cinematicas y el ending. Para el resto del juego PSG normal. Título: Re: Musica en 6 voces para PSG. Publicado por: SapphiRe_MSX en 27 de Julio de 2011, 01:08:59 pm Sapphire, si quieres hacerlo con un solo PSG, esperare el tiempo que necesites. Lo que tengo en mente se puede adaptar perfectamente a cualquier configuración compatible... y hasta aquí puedo leer. Espero poder avanzar pronto, lo cierto es que sólo me falta el código para separar la lógica que ahora es conjunta... ;D ;D Pero mi prioridad ahora es KNT :D Título: Re: Musica en 6 voces para PSG. Publicado por: Konamito en 27 de Julio de 2011, 04:14:51 pm Título: Re: Musica en 6 voces para PSG. Publicado por: MsxKun en 27 de Julio de 2011, 07:15:14 pm Pero mi prioridad ahora es KNT :D KeNoTe distraigas con otras cosas!! Por mi parte, usar 6 canales (asi virtuales) no seria una buena opcion. El MSX Synth necesita tener la CPU lo mas libre posible para que no se pierdan o atasquen los datos MIDI entrantes. En todo caso, no seria lo ideal para juegos, esta mas orientado a tocar tal cual. Título: Re: Musica en 6 voces para PSG. Publicado por: SapphiRe_MSX en 27 de Julio de 2011, 09:39:23 pm KeNoTe distraigas con otras cosas!! Muy bueno ;D ;D ;D Citar Por mi parte, usar 6 canales (asi virtuales) no seria una buena opcion. El MSX Synth necesita tener la CPU lo mas libre posible para que no se pierdan o atasquen los datos MIDI entrantes. En todo caso, no seria lo ideal para juegos, esta mas orientado a tocar tal cual. Opino igual, seis canales virtuales consumen demasiada CPU y no los veo para juegos... Habría que cuidar muy mucho la sincronización, aparte de que si ya es difícil encontrar a alguien que te haga un PT3, imagina que pides dos PT3 sincronizados a seis canales... Título: Re: Musica en 6 voces para PSG. Publicado por: toniman en 27 de Julio de 2011, 10:17:49 pm Antes
"El Vortex Tracker permite componer módulos de 6 canales linkando dos módulos PT3 "normales". Se puede aprovechar, por ejemplo, el PSG adicional del MegaFlash ROM SCC+, de momento... (dadme algo de tiempo para aprovechar otras cosas)." "Lo que tengo en mente se puede adaptar perfectamente a cualquier configuración compatible... y hasta aquí puedo leer. Espero poder avanzar pronto, lo cierto es que sólo me falta el código para separar la lógica que ahora es conjunta..." "Opino igual, seis canales virtuales consumen demasiada CPU y no los veo para juegos... Habría que cuidar muy mucho la sincronización, aparte de que si ya es difícil encontrar a alguien que te haga un PT3, imagina que pides dos PT3 sincronizados a seis canales..." Pero, entonces, antes digiste que lo mirarias, y ahora me parece entender que no piensas que funcione? :-[ Si no estas convencido de ello, creo que sera mejor que yo tambien vaya pensando en dejar el tema de las 6 voces. Título: Re: Musica en 6 voces para PSG. Publicado por: SapphiRe_MSX en 28 de Julio de 2011, 10:52:50 am Pero, entonces, antes digiste que lo mirarias, y ahora me parece entender que no piensas que funcione? :-[ No, no he dicho eso. Digo que para juegos, el utilizar seis canales virtuales va a consumir mucha CPU y hace que el juego se vuelva muy muy sensible a la sincronización. Para entendernos pongamos un ejemplo basado en cómo organizo yo los frames: -Nada más saltar la interrupción y recuperar el control (si se lo quitas a la BIOS mejor que mejor) lo más urgente es SIEMPRE volcar a VRAM, ya que mientras no te salgas del retrazo vertical puedes volcar a toda velocidad. -Tras terminar el volcado a VRAM, se pueden volcar los registros del PSG. -Después viene el cálculo de movimientos, colisiones... etc. Todo lo propio del juego. -Tras eso, preparo la pantalla para volcarla en el siguiente frame. -Por último llamo al reproductor de sonido para que genere los nuevos registros del PSG y tras eso se mezclan con los FX. y volvemos a empezar. Sin embargo, para hacer seis canales virtuales (en MSX2, porque ya en MSX1 sería un poco locura) habría que activar una interrupción por línea a mitad de pantalla (pero de pantalla completa, no de pantalla visible), de forma que tras saltar la interrupción se volcasen los registros alternativos del PSG. Esto puede caer perfectamente en mitad de los cálculos del siguiente frame, por lo que hay que tener bastante cuidado a la hora de respetar registros, etc. Añade, además, que hay que ejecutar DOS VECES el reproductor del PT3, una vez sobre cada uno de los módulos. No he mirado el reproductor multi-módulo, pero me da que o introduce cambios profundos en el código del mono-módulo, o bien se mueven los datos del reproductor en RAM. Eso implica un par de LDIR grandes y un triple buffer para datos musicales. Quizá Kun pueda aportar algo aquí, que se que algo hizo al respecto. Ahora coge todo eso y mételo en un juego en el que la acción debe calcularse al frame para que todo vaya fluido. O el motor del juego está lo suficientemente optimizado como para que no de problemas o corres el riesgo de perder frames a tutiplen. El hacerlo con seis canales REALES simplifica algo la tarea, ya que te quitas el problema de la sincronización a mitad de pantalla. Aunque parezca poco ahorro, es muchísimo, ya que sólo en reconocer que tipo de interrupción es se come ni más ni menos que dos líneas completas de pantalla. Si sólo se controla un tipo de interrupción (la de retrazo vertical), el comprobar el tipo de interrupción es muchísimo más inmediato. Título: Re: Musica en 6 voces para PSG. Publicado por: pitpan en 28 de Julio de 2011, 11:38:58 am Es inviable reproducir PT3 a 6 canales en un PSG. Para conseguir el efecto de 6 canales hay que utilizar el reproductor propio de Arturo, que adaptó desde una dema técnica de Spectrum 128 (mismo PSG que el MSX). O no me he enterado de nada, que también podría ser...
Una versión síncrona del reproductor de PT3 me parece absolutamente irrealizable. Título: Re: Musica en 6 voces para PSG. Publicado por: toniman en 28 de Julio de 2011, 03:50:13 pm Hey, pero creo que no habeis leido lo que he puesto mas arriba, quiero usar 6 voces en pantallas de presentacion, intros y cosas asi, en las que apenas hay movimiento o hay poquito, con lo cual quedaria bastante CPU para las 6 voces,
Intro 6 voces En el juego, psg normal. pero en fin, creo que esto solo me gusta a mi, mejor dejarlo. |