Karoshi MSX Community
05 de Julio de 2021, 03:53:22 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] 2 3 4
  Imprimir  
Autor Tema: Vortex Tracker y PT3  (Leído 18192 veces)
0 Usuarios y 1 Visitante están viendo este tema.
burguera
Visitante
« : 01 de Noviembre de 2006, 05:36:19 pm »

Estaba haciendo unas cosillas para mi juego, y he empezado a testear cuatro cosillas musicales. El problema es que no consigo que suene nada.
Me he bajado el Vortex Tracker y el replayer de PT3 de Dioniso. Como el replayer usa la sintaxis del Chaos Assembler, pues le he hecho unos cambios para que corra en asMSX. Después de eso, al ensamblar, me da los siguientes warning:

Código:
PT3.ASM, line 972: Warning: 8-bit overflow
PT3.ASM, line 984: Warning: 8-bit overflow
PT3.ASM, line 997: Warning: 8-bit overflow
PT3.ASM, line 1009: Warning: 8-bit overflow

Por ejemplo, en la línia 972 hay un código tal que

Código:
T_PACK: .db $06EC*2/256,$06EC*2

El warning es normal o es por diferencias entre Chaos Assembler i asMSX?

Luego, aún con los warnings, he intentado hacer sonar música. He cargado el fichero PT3 con un .incbin en la zona de memoria que requiere el replayer. Después llamo al INIT y al PLAY, y, nada, no suena nada. También he probado a llamar al PLAY continuamente en un bucle, y nothing de nothing. Alguna idea?

Por otro lado... es triste de pedir, pero más triste es de robar: alguno de vosotros ha usado el replayer con asMSX? Podríais compartir ese código adaptado a asMSX con un servidor?
En línea
Dioniso
Visitante
« Respuesta #1 : 01 de Noviembre de 2006, 06:32:01 pm »

   Hola.

   No te preocupes. Tan sólo dime qué líneas te dan problema. Escríbemelas todas, por favor.

   Sé cuál es el problema. Ya intenté pasar el código a la gramática de otros ensambladores pero esa parte del código daba problemas. Antes de enviarme algo de código prueba a cambiar la rutina T_PACK completamente por:

Código:
T_PACK: .db $0d,$d8,$69,$70,$76,$7d,$85,$8d,$95,$9d,$a8,$b1,$bb,$0c,$da,$62
.db $68,$6d,$75,$7b,$83,$8a,$92,$9c,$a4,$af,$b8,$0e,$08,$6a,$72,$78
.db $7e,$86,$90,$96,$a0,$aa,$b4,$be,$0f,$c0,$78,$88,$80,$90,$98,$a0
.db $b0,$a8,$e0,$b0,$e8

   Ya que sólo el Chaos Assembler (bueno, el TASM) puede interpretarla (que esa parte del código tiene su cosa  Wink )

   Prueba y me cuentas. Si eso no funciona pues entonces ya tendríamos que operar. Me escribes por privado.

   Un saludo.
En línea
pitpan
Karoshi Forum's Guru
*******
Mensajes: 1812


« Respuesta #2 : 01 de Noviembre de 2006, 07:15:13 pm »

Ningún problema con los warnings: es decir, estás metiendo un valor que no cabe en un byte dentro de un byte (DB). Por eso te da el aviso. Pero claro, no sé lo que pretendía hacer el código del PT3 original Sad
En línea
Dioniso
Visitante
« Respuesta #3 : 01 de Noviembre de 2006, 07:18:52 pm »

Sí, la verdad es que es un poco raro. Pero el TASM da los valores correctos  Huh

Bulba lo hizo de ese modo para que quedara claro de dónde viene el valor/byte resultante  Huh
En línea
burguera
Visitante
« Respuesta #4 : 01 de Noviembre de 2006, 07:22:43 pm »

Muchas gracias Dioniso. Ahora lo pruebo, espero que no haya que operar.

Otra preguntilla algo más filosófica: los archivos PT3 ocupan mucho, o es la música MSX en general? Lo digo porque empiezo a ir algo justo de memoria (quiero hacer una ROM de 32KB) y veo que los PT3 comen mucha memoria.

Por cierto, robsy: el Caruso genera ficheros más compactos? Tienes alguna música de ejemplo que pueda ver en el propio Caruso? La que viene puede reproducirse, pero no verse en el editor.
En línea
Dioniso
Visitante
« Respuesta #5 : 01 de Noviembre de 2006, 07:27:48 pm »

Bueno, espero que no haya pelea con Robsy aquí  Wink

El Caruso te crea canciones más compactas y el replayer que se ha currado Robsy es mucho más compacto.

Todo depende de lo que quieras explotar el PSG ... El PT3 crea un sonido que algunos no reconocen como típico MSX (con envolventes de todo tipo), explotando el PSG a tope.

Depende de lo que busques.
En línea
burguera
Visitante
« Respuesta #6 : 01 de Noviembre de 2006, 07:58:51 pm »

Depende de lo que busque... buen comentario  Cool
Por un lado, como voy corto de espacio, preferiría un formato que ocupara poco, aquí el Caruso sale ganando. Pero por otro lado, veo bastante cómodo poder trabajar en Windows con el Vortex Tracker, aquí gana el PT3. No se, haré más pruebas antes de tomar una decisión.

Por cierto, he probado el código que me has mandado. Obviamente, así no aparecen los warnings, pero sigue sin sonar nada de nada. Puede que sea algun error mío al hacer los cambios (básicamente he cambiado los paréntesis de las indirecciones por corchetes, y alguna cosilla más), pero la cosa es que el programa no se cuelga ni nada. He probado con el ejemplillo que ponéis en la documentación de las PT3Tools, y, nada, que no suena. También he comprobado que el módulo PT3 no tenga algún problema, y no lo tiene (el PT3PLAY.COM lo reproduce)
En línea
Dioniso
Visitante
« Respuesta #7 : 01 de Noviembre de 2006, 08:19:16 pm »

Vaya  Undecided

Pues otra solución sería compilarlo con el TASM a partir de $c000-7 (7 bytes de cabecera), por ejemplo, e incluirlo como un incbin en el asMSX. Si el código del PT3 player es:

Código:
START:
;LD HL,_songdata ;Address of PT3 module (esto lo quitas, no lo necesitas)
JR INIT ;START+3
JP PLAY ;START+5
JR MUTE ;START+8
 SETUP: .db 0 ;set bit0 to 1, if you want to play without looping
CrPsPtr: .dw 0
   
CHECKLP: LD HL,SETUP
SET 7,(HL)
BIT 0,(HL)
RET Z
POP HL
LD HL,DelyCnt

etc ...

y haces lo siguiente en el asMSX:

org $c000
PT3PLAYER: incbin "pt3ply.bin" ;menos los primeros 7 primeos bytes de la cabecera del binario
;tu código aquí ...
;Cargas la canción en HL (LD HL,Mi_Canción.PT3)
;Inicializas el player con un CALL PT3PLAYER
;Tocas la canción con un CALL PT3PLAYER+2
;Y paras la canción con un CALL PT3PLAYER+5

De todas formas, envíame el código de tu replayer (fuentes asMSX + PT3PLAYER + CANCIÓN PT3) y seguro que lo arreglamos. Escríbeme por privado. Se puede recortar el player o ejecutar desde ROM.

Un saludo.
En línea
burguera
Visitante
« Respuesta #8 : 01 de Noviembre de 2006, 09:30:53 pm »

Te acabo de enviar más info en un mensaje privado.
Gracias!
En línea
pitpan
Karoshi Forum's Guru
*******
Mensajes: 1812


« Respuesta #9 : 02 de Noviembre de 2006, 01:14:04 am »

No creo que el Caruso genere canciones más compactas que el PT3, pero sí que te resuelte del tirón el tema de integración de melodías y efectos sonoros para el juego. Si lo que te preocupa es el tema de espacio, yo iría pidiéndole sopitas a WYZ, que tiene un replayer muy compacto y con buen rendimiento.

En cuanto a pirulas del PSG, PT3 es lo máximo: envolventes, dientes de sierra, digi-drum, etc.

Y si quieres reducir más aún el tamaño de las canciones, MML. Eso sí, los reproductores son un poco más pesados, me temo.
En línea
Dioniso
Visitante
« Respuesta #10 : 02 de Noviembre de 2006, 02:33:59 am »

   Hola.

   Acabo de modificar este mensaje ... son las 4 menos 20 y dentro de unas horas tengo que trabajar pero quería arreglar este tema:

PT3PLAYER para MrSpock

   De camino, igual le sirve a alguien. El player tiene arreglado lo del registro 7. La canción incluida es algo grande para ser ejecutada en la dirección $c000 pero bue ... desde una ROM no habría problema pero con un BLOAD desde BASIC habría que pulsar CTRL.

   En el fichero adjunto está todo lo necesario para compilar el player en otra dirección si es necesario. Lee el fichero.

   Si alguien tuviera el player de PT3 con la sintaxis del asMSx o del TNIasm, creo que sería una buena idea ponerlo on-line.

   Bueno, a ver esa entrada MrSpock, que ya queda menos.
« Última modificación: 02 de Noviembre de 2006, 03:49:17 am por Dioniso » En línea
pitpan
Karoshi Forum's Guru
*******
Mensajes: 1812


« Respuesta #11 : 02 de Noviembre de 2006, 09:47:59 am »

Gracias por el ejemplo. A ver si me pongo yo mismo y convierto el código del replayer PT3 a formato asMSX. No creo que sea demasiado difícil, sólo que habrá que dedicarle un ratillo, como a todo en esta vida.
En línea
Dioniso
Visitante
« Respuesta #12 : 02 de Noviembre de 2006, 09:53:03 am »

Pues eso sería genial. Para evitarte quebraderos de cabeza con la rutina T_PACK, cámbiala directamente por los valores hexadecimales que escribí al principio de este tema.
En línea
pitpan
Karoshi Forum's Guru
*******
Mensajes: 1812


« Respuesta #13 : 02 de Noviembre de 2006, 10:39:07 am »

Gracias por el chivatazo, Dioniso.

Me pondré entre hoy y mañana, que estoy muy musical últimamente Wink
En línea
Dioniso
Visitante
« Respuesta #14 : 02 de Noviembre de 2006, 10:41:58 am »

que estoy muy musical últimamente Wink

Ya sabes que yo también  Grin
En línea
Páginas: [1] 2 3 4
  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!