ZX Beep

Subforo oficial del Sinclair QL: realiza aquí las consultas relativas a tu QL.

Moderador: Sir Cilve Sinclair

Responder
Avatar de Usuario
programandala.net
Manic Miner
Mensajes: 210
Registrado: Mié Ago 04, 2010 9:20 pm
Ubicación: España
Contactar:

ZX Beep

Mensaje por programandala.net » Mar Sep 19, 2017 12:20 am

He escrito ZX Beep, un procedimiento para emular el comando BEEP de ZX Spectrum. Lo necesitaba para Ritimba (aunque más adelante añadiré sonidos digitalizados), y puede servir para facilitar la conversión de otros programas desde Sinclair BASIC a S*BASIC.

Por cierto, la información sobre los siete parámetros del BEEP de S*BASIC siempre ha sido escasa y poco fiable. He tenido que mirar muchos de los programas y documentos que hay en la utilísima sede de Dilwyn Jones, hasta encontrar la información necesaria para calcular la correspondencia entre los parámetros de tono de ambos comandos (los detalles están en la fuente de ZX Beep).

Quedan algunos detalles por mejorar, que están anotados en el fichero correspondiente.

Algo que me ha sorprendido, pues no lo recordaba, era que el BEEP de S*BASIC tiene una duración máxima muy pequeña, de unos 2,3 segundos, pues se mide en unidades de 72 microsegundos y se indica con un entero (0..32767). Además, según dice el manual de SuperBASIC original, y los posteriores de SBASIC, una duración de cero hace que el sonido no termine.
pero en SMSQmulator no pasa, no suena. No sé si es un fallo de la emulación o de los manuales.

Por otra parte, a pesar de que los cálculos de conversión de la duración parecen correctos, en SMSQmulator he tenido que aumentar la duración de las notas multiplicando por 2,1. Si alguien puede probar ZX Beep en cualquier otro emulador o máquina real, le agradecería que me informara. Se trata de saber si, por ejemplo, `zx_beep 2,x` en S*BASIC dura lo mismo que `BEEP 2,x` en Sinclair BASIC, es decir dos segundos.
Marcos Cruz (programandala.net)

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados