Karoshi MSX Community
05 de Julio de 2021, 11:58:17 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: PT3 player y C-BIOS  (Leído 3693 veces)
0 Usuarios y 1 Visitante están viendo este tema.
burguera
Visitante
« : 28 de Noviembre de 2011, 02:04:28 pm »

Integrando el replayer de PT3 y SFX de SapphiRe con mi proyecto (desarrollo sobre sjasm) me encuentro con un algo curioso y molesto. De momento uso los temas de Caos Begins. Pues bien, al final del primer movimiento (o como se llame) del tema del castillo hay un efecto en una nota. Supongo que el efecto tendrá un nombre... lo que hace es, en lugar de cambiar "bruscamente" de nota lo hace suavemente.

Al reproducirlo ya noté que ese efecto no se oía, pero tampoco le di importancia. Eso es usando una BIOS "normal" (MSX Japanese en blueMSX). Sin embargo, al pasar a C-BIOS, el programa se cuelga justamente al llegar a esa nota.

Estoy usando el replayer PT3 con "fixed table". Veo que la versión con "all tables" incluye el comentario

"This version also allows the use of PT3 commands"

Y supongo que eso significará que la versión "fixed table" no permite "PT3 commands". Y supongo que ese efecto será un "PT3 command". Imagino que el cuelgue vendrá de ahí, no? Probaré con la versión "all tables", pero... a santo de qué una BIOS "normal" se lo traga y la C-BIOS no?
En línea
burguera
Visitante
« Respuesta #1 : 28 de Noviembre de 2011, 03:00:27 pm »

Pues nada, que con la otra versión pasa lo mismo. Con la C-BIOS se me cuelga al llegar a un punto concreto del tema musical.

Mirandolo con el Vortex, veo que se cuelga al llegar a un punto donde, en el canal B aparece

Código:
A-5  .... 31.7

Quitando el 31.7 en el Vortex Tracker, el replayer ya no se cuelga.

¿Alguna idea? Más que nada porque es muy cómodo usar el replayer de SapphiRe con los SFX integrados. Si no hay solución, veré como puedo adaptar el código que usé en el Caos.
En línea
SapphiRe_MSX
Visitante
« Respuesta #2 : 28 de Noviembre de 2011, 03:01:24 pm »

Pues no tiene mucho sentido que dependa de la BIOS, ya que el código no la usa en absoluto. Por otro lado, si mal no recuerdo, ambas versiones admiten comandos PT3, así que no se qué puede estar pasando.
En línea
burguera
Visitante
« Respuesta #3 : 28 de Noviembre de 2011, 03:45:30 pm »

Pufff... a la próxima mejor me callo, que se ve que estoy fino fino. A ver... problema resuelto, al menos sobre un ejemplo mínimo que me he montado. Es culpa mía! Por bruto!

Para pasar de sintaxis asMSX a sjasm había, entre otras cosas, hecho un buscar y cambiar de corchetes por paréntesis. Y justamente en el código original está esta línea:

Código:
LD HL,((SPCCOMS+$DF20) % 65536)

Que en sintáxis asMSX es LD HL, nn pero en sintaxis sjasm es LD HL, (nn). Y se ve que esta línea estará implicada en procesar comandos PT3. So: perdón!

Otra cosilla, por curiosity. En el fuente asMSX hay alguna línea tal que:

Código:
.db $0704*2

Esto, obviamente, supera los 8 bits. Se supone que esto se queda con el byte de menos peso, ¿no?

EDITO: Lo de que funcionara con una BIOS y con la otra no... a saber. Igual ese error provocaba algún salto a una zona baja de memoria y en una BIOS se enredaba y en otra no.
« Última modificación: 28 de Noviembre de 2011, 03:47:11 pm por MrSpock » En línea
SapphiRe_MSX
Visitante
« Respuesta #4 : 28 de Noviembre de 2011, 05:22:32 pm »

Otra cosilla, por curiosity. En el fuente asMSX hay alguna línea tal que:

Código:
.db $0704*2

Esto, obviamente, supera los 8 bits. Se supone que esto se queda con el byte de menos peso, ¿no?

La línea completa a la que aludes es

Código:
.db $0704*2/256,($0704*2 % 256)

que produce números de 8 bits... Me extrañaba, ya que a mí nunca me ha dado errores de compilación (ni warnings).
En línea
burguera
Visitante
« Respuesta #5 : 28 de Noviembre de 2011, 05:53:30 pm »

En el fichero descargado de tu web aparecen varias líneas tal que:

Código:
.db $066D*2/256,$066D*2

Entiendo por lo que dices que asMSX lo coge sin problemas pero que en sjasm necesito especificar el módulo 256, no?

Antes lo había hecho a mano, mejor así.

Por cierto: gracias a ti y a todos los implicados por preparar un player de PT3 y SFX tan cuco y fácil de utilizar.
En línea
Huey
Karoshi Newbie
*
Mensajes: 10


« Respuesta #6 : 29 de Noviembre de 2011, 09:43:48 am »

Código:
.db $066D*2/256,$066D*2

I use
Código:
LD HL, (SPCCOMS+$DF20) % 65536 ; Adapted from original Speccy version (saves 6 bytes)
in my sjasm replayer.
En línea
SapphiRe_MSX
Visitante
« Respuesta #7 : 29 de Noviembre de 2011, 11:36:37 am »

Por cierto: gracias a ti y a todos los implicados por preparar un player de PT3 y SFX tan cuco y fácil de utilizar.

Siempre es un placer Cheesy

Tras sacar KNT también habrá disponible un replayer de Protracker (FM), con soporte para FM-Pac, Music-Module, Moonsound y la tarjeta OPL3. Como siempre todo listo para ser usado Cheesy
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!