WYZTracker 2

Chit chat general. Habla con los MojonTwins y con los amigos de los MojonTwins. Reza a Vah-ka. Delinque. Aviso: está PROHIBIDO tirarse peos fuerte. Si les cortas el pescuezo, vale.

Moderador: na_th_an

Avatar de Usuario
Haplo
Mensajes: 20
Registrado: Lun, 26 Ene 2015, 20:01

Re: WYZTracker 2

Mensajepor Haplo » Mié, 28 Sep 2016, 23:26

Vale, ya he conseguido echarlo a andar :) Voy a ver si lo integro con más cuidado esta vez.

En la web existe un SFX.asm que supuestamente es para añadirlo al player y poder reproducir sonidos fx, ¿es funcional?¿con qué programa se hacen esos fx?¿valdría para los archivos que genera el AY Sound FX Editor?
Avatar de Usuario
AugustoRuiz
Mensajes: 108
Registrado: Mié, 25 Ago 2010, 11:51

Re: WYZTracker 2

Mensajepor AugustoRuiz » Mié, 28 Sep 2016, 23:30

En teoría los sfx siguen el mismo formato q las percusiones... hablo de memoria, pero creo que es así...
Avatar de Usuario
Haplo
Mensajes: 20
Registrado: Lun, 26 Ene 2015, 20:01

Re: WYZTracker 2

Mensajepor Haplo » Vie, 30 Sep 2016, 19:00

Tras descubrir un error bastante tonto que me ha mareado varios días, ya todo funciona como debe.

Ya que estaba, le he querido meter la rutina WYZPLAYER_FADE_OUT.ASM, pero falta la etiqueta "fade_player_off"
¿está sin acabar o es una errata?.
Avatar de Usuario
Haplo
Mensajes: 20
Registrado: Lun, 26 Ene 2015, 20:01

Re: WYZTracker 2

Mensajepor Haplo » Vie, 07 Oct 2016, 17:42

Me respondo a mí mismo, es una errata, en vez de

Código: Seleccionar todo

jp z,fade_player_off   


debería ser:

Código: Seleccionar todo

jp z,player_off


Lo que sí he observado es que tarda mucho en hacer el fade, he tenido que tocar el código para que tarde menos (para que sea cosa de 2-3 segundos. Otra cuestión importante es que no afecta al volumen de los efectos, que siguen sonando como si tal cosa hasta que cesa la música. :(
Avatar de Usuario
Haplo
Mensajes: 20
Registrado: Lun, 26 Ene 2015, 20:01

Re: WYZTracker 2

Mensajepor Haplo » Jue, 13 Oct 2016, 19:04

Tras pelearme bastante y probar cosas, ya me funciona el fadeout aceptablemente, es un poco chapuza pero me vale.

Código: Seleccionar todo

start_fade_out:   ld a,12         ;valor fijado de ejemplo
      ld (decay),a
      ld (decay_temp),a
      ld a,0
      ld (fade_meter),a
      ld hl,fade
      set 0,(hl)

      ret
fade_out:      
      
      ld hl,decay_temp
      dec (hl)
      jr nz,fadeojp0
      ld a,(decay)
      ld (hl),a
      ld a,(fade_meter)
      cp 10         ;fade out completo
      jp z,player_off      ;fade_player_off
      inc a
      ld (fade_meter),a
fadeojp0:      ld a,(fade_meter)
      ld c,a
      ld hl,psg_reg+8
      ld b,3
fadeobc0:      ld a,(hl)
      sub c
      jr nc,no_reset_vol
      xor a

no_reset_vol:   ld (hl),a
      inc hl
      djnz fadeobc0
      ld hl,(sfx_v)
      ld a,(hl)
      inc c
      inc c
      sub c
      ld (hl),a
      
      ret


Ahora quería poder colocar la rutina y las músicas en la ram 3 y así liberar espacio del bloque principal. El caso es que no hay manera, se me cuelga que da gusto. Lo que hago es ubicarla a partir de 49152 y en cada interrupción, pagino a la ram 3 y salto a la rutina, restaurando después de volver. Es exactamente lo mismo que hago con el player de shiru y no me da problemas.
He comprobado los saltos, direcciones de punteros y buffers y no encuentro errores. La única manera de que me funcione es ubicando la rutina entera por debajo de 49152, dando igual si las músicas las pongo en ram3 o no (paginando antes claro).

Otra cuestión: algunas canciones funcionan y otras no, supongo que es porque están hechas con otra versión del tracker, lo que me extraña es que el tracker sí las reproduce. Así que debe ser algo que falla al exportar a .asm y .mus

En definitiva, que la rutina de música me está dando ruido :D
Avatar de Usuario
AugustoRuiz
Mensajes: 108
Registrado: Mié, 25 Ago 2010, 11:51

Re: WYZTracker 2

Mensajepor AugustoRuiz » Jue, 13 Oct 2016, 19:11

Si el compilador que usas utiliza IX e IY como punteros a variables y demás, asegurate de guardar esos registros antes de llamar a la rutina y restaurarlos después.

En cuanto a la exportación, todas deberían exportarse con la misma versión, y todas las canciones deberían usar los mismos instrumentos, con los mismos id's, si no los cargas al vuelo.

Probablemente pete si la tabla de instrumentos tiene 4 instrumentos y la canción hace referencia a un instrumento con ID=5. Y lo mismo para los fx.
Avatar de Usuario
Haplo
Mensajes: 20
Registrado: Lun, 26 Ene 2015, 20:01

Re: WYZTracker 2

Mensajepor Haplo » Jue, 13 Oct 2016, 19:44

Compilador? a qué te refieres?
Ya digo que funciona perfectamente si la ubico fuera de ram paginada, por lo que lo de IX e IY no debería afectar. De todas maneras todos los registros se guardan al entrar a la interrupción y se restauran al salir, en eso no hay problema.
Es de estas cosas que te parecen absurdas que no funcionen con tan mínimos cambios. Tiene que ser algo increíblemente tonto.
Avatar de Usuario
AugustoRuiz
Mensajes: 108
Registrado: Mié, 25 Ago 2010, 11:51

Re: WYZTracker 2

Mensajepor AugustoRuiz » Jue, 13 Oct 2016, 20:04

Es raro lo que comentas porque el código de wyz, a diferencia del arkos, es reubicable.

En que lenguaje estás desarrollando? Directamente en asm?
Avatar de Usuario
Haplo
Mensajes: 20
Registrado: Lun, 26 Ene 2015, 20:01

Re: WYZTracker 2

Mensajepor Haplo » Jue, 13 Oct 2016, 20:23

Si, casi todo en asm, con algo de boriel zxbasic para facilitar cambios y pruebas. A ver si saco un rato y te mando un test con los 2 modos, el que funciona y el que no, seguramente verás algo que yo no veo.
Avatar de Usuario
Haplo
Mensajes: 20
Registrado: Lun, 26 Ene 2015, 20:01

Re: WYZTracker 2

Mensajepor Haplo » Vie, 14 Oct 2016, 10:53

Ayer se me ocurrió poner los buffers y variables antes de 49152, dejando la rutina a partir ahí y funciona :shock:

Volver a “General”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado