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: 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 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: 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 ) 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
|
|
« 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
|
|
|
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 Bulba lo hizo de ese modo para que quedara claro de dónde viene el valor/byte resultante
|
|
|
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í 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 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 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: 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
|
|
« 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
|
|
« 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
|
|
« 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
|
|
|
En línea
|
|
|
|
Dioniso
Visitante
|
|
« Respuesta #14 : 02 de Noviembre de 2006, 10:41:58 am » |
|
que estoy muy musical últimamente Ya sabes que yo también
|
|
|
En línea
|
|
|
|
|