Karoshi MSX Community
06 de Julio de 2021, 12:21:40 am *
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: Parar el PLAY  (Leído 3257 veces)
0 Usuarios y 1 Visitante están viendo este tema.
j4mk3
Karoshi Maniac
****
Mensajes: 376


MSx Powa!


WWW Email
« : 01 de Octubre de 2009, 08:59:06 pm »

Una pregutna muy rapida para los que controlan el MSXBASIC.

Tengo una canción sonando de fondo, al personaje le dan un golpe. Tengo que parar el PLAY que está en marcha para poner otro PLAY con el FX.
¿Hay alguna marera de parar un PLAY que ya está sonando que no sea metiendole un BEEP en la ejecución?
¿Algun DEF USR ? ¿Un Poke?

"JEEELP "
En línea

---  G Fan  ---  Galious & Gradius  & G Boys   ---
--- Play HANS' ADVENTURE, STAN, THE DREAMER & BITLOGIC ---
j4mk3
Karoshi Maniac
****
Mensajes: 376


MSx Powa!


WWW Email
« Respuesta #1 : 01 de Octubre de 2009, 09:13:43 pm »

Me autocontesto
DEFUSR1 =&H90

A=USR1(0)

si, me falla algunas veces. Sad
En línea

---  G Fan  ---  Galious & Gradius  & G Boys   ---
--- Play HANS' ADVENTURE, STAN, THE DREAMER & BITLOGIC ---
mohai
Karoshi Fan
**
Mensajes: 80



« Respuesta #2 : 01 de Octubre de 2009, 11:56:39 pm »

¿Has probado a tocar el registro mezclador del PSG y deshabilitar todo, ruido y melodía?
En línea
j4mk3
Karoshi Maniac
****
Mensajes: 376


MSx Powa!


WWW Email
« Respuesta #3 : 02 de Octubre de 2009, 10:03:18 am »

Mohai,
El Play actua como un buffer y "man que" toques con SOUNDS, la rutina coge bytes y reentra al PSG. Solo he encontrado esta rutinica de la BIOS que elimina el buffer del PLAY.
más sugerencias ? Wink
En línea

---  G Fan  ---  Galious & Gradius  & G Boys   ---
--- Play HANS' ADVENTURE, STAN, THE DREAMER & BITLOGIC ---
mohai
Karoshi Fan
**
Mensajes: 80



« Respuesta #4 : 10 de Octubre de 2009, 02:58:00 pm »

Mohai,
El Play actua como un buffer y "man que" toques con SOUNDS, la rutina coge bytes y reentra al PSG. Solo he encontrado esta rutinica de la BIOS que elimina el buffer del PLAY.
más sugerencias ? Wink


Claro, es verdad.
Además quieres mandar otro PLAY despues de cortar el otro.

Supongo que la solución sería engañar al BASIC y trampear el buffer del PLAY. Supongo que en alguna parte dice dónde acaba con un valor cero o algo así (ignoro cómo funciona el buffer de PLAY) o la catidad de notas que quedan por tocar... luego saltar al vector de PLAY o esperar una interrupcion...

Una sugerencia es que mandes un play largo y cotillees que hay en la cola mientras escuchas y luego vuelvas a cotillear cuando esté en silencio y saques conclusiones.
En línea
j4mk3
Karoshi Maniac
****
Mensajes: 376


MSx Powa!


WWW Email
« Respuesta #5 : 10 de Octubre de 2009, 03:16:47 pm »

ya lo solucié mohai , gracias.

la funcion 90h de BIOS cumple perfectamente.

respecto al buffer de play q dudas...sino recuerdo mal en cierta MSX-CLUB con un articulo llamado "musica en codigo maquina" decia q el PLAY tiene en RAM 128 bytes de buffer por canal, es decir 128*3 = 384 bytes por ahí guardadetes.

Nah! pero de verdad, la 90h va bien para lo q queria y lo hace super rapido.
Lo utilizo en el juego que he presentado pal concurso de www.konamito.com
Ahí podeis ver un ejemplo de uso.
En línea

---  G Fan  ---  Galious & Gradius  & G Boys   ---
--- Play HANS' ADVENTURE, STAN, THE DREAMER & BITLOGIC ---
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!