Karoshi MSX Community
05 de Julio de 2021, 03:35:54 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: Chuminada 1bit  (Leído 4007 veces)
0 Usuarios y 1 Visitante están viendo este tema.
MsxKun
Karoshi Forum's Guru
*******
Mensajes: 1554


Kimochi-ii


WWW Email
« : 17 de Enero de 2013, 03:54:44 pm »

Buenas!

Que estaba yo metiendo mis narices curiosas en una compo de sonido 1 bit y trasteando con el tracker BEEPOLA. Resulta que genera la musica 1bit (aparte de en WAV), lista para ser playeada en un Spectrum 48k por el beeper. Y, claro. Husmeando, veo que aparte del binario, tambien genera el codigo fuente en ASM del replayer! (De uno de ellos pq tiene varios distintos) Y claro. Digo yo, esto no queda asi. Y me puse a ver si podia portarlo a MSX aprovechando el PPI.

Y, bueno, funciona. El timing no es perfecto y, si he metido la pata, a saber que puede pasarle al PPI  angel  El caso es que en mi 8235 va bien (aunque no al mismo tempo). Pero para ser una primera aproximacion ya es algo. Asi que si quiereis oir como suena una musica 1bit por el MSX, aqui teneis algo: http://paxangasoft.retroinvaders.com/1bit.htm

Seguro que expertos en el tema como Dioniso o Edu podrian optimizarlo mas Smiley Para el que quiera husmear personalmente, encontrareis ahi mismo el link a la web del tracker.

Saludos!
En línea

--

Cindy Lauper She Bops!
MsxKun
Karoshi Forum's Guru
*******
Mensajes: 1554


Kimochi-ii


WWW Email
« Respuesta #1 : 18 de Enero de 2013, 06:15:21 pm »

Bueno, ahora que creo saber como va el player, he hecho lo que deberia haber hecho al principio de todo. Conservo las instrucciones originales, cambiando solo el puerto de salida y unos valores, y hago uso de codigo automodificable (ya que el player ya hace lo idem) para ahorrarme las instrucciones extra que antes necesitaba. Creo que el timing ha ganado bastante. Espero que este mejor ahora, aunque a veces aun chirria, no se si es normal o no Tongue  He actualizado los ficheros de la web.
En línea

--

Cindy Lauper She Bops!
pitpan
Karoshi Forum's Guru
*******
Mensajes: 1812


« Respuesta #2 : 18 de Enero de 2013, 06:37:51 pm »

Respondo por alusiones:

¿Optimiquéeeeeee? No, hombre, no. Así está perfecto. Líbreme el cielo de tocar código ajeno, ahora que ya casi no toco ni el mío...  Sad

En cualquier caso, me gusta el resultado, Kun. Eso sí, ahora te toca sincronizarlo con el resto del juego, ¿no?  Grin
En línea
MsxKun
Karoshi Forum's Guru
*******
Mensajes: 1554


Kimochi-ii


WWW Email
« Respuesta #3 : 18 de Enero de 2013, 08:06:30 pm »

Respondo por alusiones:

¿Optimiquéeeeeee? No, hombre, no. Así está perfecto. Líbreme el cielo de tocar código ajeno, ahora que ya casi no toco ni el mío...  Sad

En cualquier caso, me gusta el resultado, Kun. Eso sí, ahora te toca sincronizarlo con el resto del juego, ¿no?  Grin

Pues es lo que he tenido que hacer yo Cheesy Tocar codigo que no es mio. Pero na, este replayer es corto y, una vez te pones, medio sencillo (al menos la parte que me interesaba). Ya he optimizao lo que podia y ahora suena mejor. Y de juego na, esto playea musicas hechas con el Beepola, concretamente con uno de los seis motores de sonido diferentes que tiene, cada cual con su player. Posiblemente podria adaptar alguno mas, pero mire el modo Savage y era mas lioso Cheesy Se me puso cara de Yao Ming y dije "Que le den". Y eso, solo porque si, porque yo no tengo un Spectrum para probar las musicas en una maquina real, pero si un MSX. Y por diversion, por frikismo chiptunero. Pa juegos no creo que sirviera (solo para la intro si acaso), ya que necesita usar la CPU todo el rato. Ya tu sabe Wink

En línea

--

Cindy Lauper She Bops!
pitpan
Karoshi Forum's Guru
*******
Mensajes: 1812


« Respuesta #4 : 18 de Enero de 2013, 10:17:44 pm »

Pa juegos no creo que sirviera (solo para la intro si acaso), ya que necesita usar la CPU todo el rato. Ya tu sabe Wink

No, de hecho no sé. El que sí sabe de esto es el amigo Dioniso... Bueno, y cierto gurú viejuno llamado Matthew Smith con su Manic Miner para ZX!
En línea
Dioniso
Visitante
« Respuesta #5 : 19 de Enero de 2013, 05:44:31 pm »

Hola.

Me parece muy bien que la gente de estos rincones se dedique un poquito al sonido 1bit  Grin

Si escribir código síncrono ya es complicado, lo de retocarlo y volver a contar t-states pues ... He visto algún replayer que se dedica a almacenar 8 bits en un byte y envía todo, sin enmascarar, al puerto correspondiente; lo que en MSX se puede traducir en un bonito ecualizador azaroso de la tecla caps y un beat incesante del motor del casete ... Esto puede ser pero que muy malo; sería menos perjudicial para nuestro MSX darle de fumar, así es que ... cuidadín.

Todavía no he probado el programa que has subido, MsxKun. A ver si saco un rato de debajo de las piedras ... Según dices, una parte del problema viene de tener que enmascarar el bit a enviar, ¿verdad? No sé, no sé. Igual podrías ahorrarte algún JR, JP o CALL si no depuras tanto el código, aunque te quede más largo ... Es difícil dar consejos sin ver el código.

El BEEPOLA ya lo conocía pero nunca me había puesto con el código. Suerte y espero que lo termines. Estaría genial.  Griel

Un saludo
En línea
MsxKun
Karoshi Forum's Guru
*******
Mensajes: 1554


Kimochi-ii


WWW Email
« Respuesta #6 : 19 de Enero de 2013, 06:54:34 pm »

Todavía no he probado el programa que has subido, MsxKun. A ver si saco un rato de debajo de las piedras ... Según dices, una parte del problema viene de tener que enmascarar el bit a enviar, ¿verdad? No sé, no sé. Igual podrías ahorrarte algún JR, JP o CALL si no depuras tanto el código, aunque te quede más largo ... Es difícil dar consejos sin ver el código.

Si, vaya, no puedo enviar el byte sin mas al puerto del PPI. Me he fijado para ello en el replayer de samples 1bit de Edu. Asi que una vez tengo la mascara, la guardo. Antes la guardaba y luego recuperaba, rotaba y añadia el bit para el registro 7. Al final viendo que el replayer era mas sencillo, guarde el byte con la mascara en el mismo codigo, aprovechando que ya el original usaba lo de ser automodificable. Pues hice lo mismo, guardar la mascara donde ya debia ir el valor. El codigo original ya de por si cambiaba solo el bit necesario a ese valor (el 4 en spectrum), asi que cambie el RES 4, por un RES 7. Y cuando invierte hacia un xor $10. Pues ahora hace un xor 128. Asi que al final ya no tengo instrucciones extra y la musica suena a una velocidad ya mas parecida al original. No diria que al 100% pq no se como maneja el spectrum los t-states, eso que el MSX añade algunos extras por si mismo... Asi que no, no he contado T-states pq es un palo. Al final he dejado todo casi como estaba, la comprobacion y enmascaramiento del byte del PPI se hace al principio y se copia en el codigo donde ya se le asignaba su valor. Y no hay JR, JP ni CALLs por ahi que hagan todo mas lento. Creo que esta bien, pero si quierse te envio el fuente pa q lo veas.
En línea

--

Cindy Lauper She Bops!
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!