La Place des Développeurs Compilateur MML Jouer une musique MML via le BIOS
Hello,
En complétant le module BIOS de MSXgl, je suis retombé sur la fonction STRTMS (0099h) qui est censée permettre de jouer une musique au format MML en assembleur.
J'ai tracé la fonction PLAY du BASIC pour voir si elle passait bien par cette fonction du BIOS et c’est bien le cas. Par contre, j’ai eu du mal à comprendre les paramètres à setup pour que ça fonctionne. Après pas mal de tests et l’aide d’amis Japonais, j’ai enfin compris.
En fait, la fonction PLAY du BASIC convertit le code MML textuel en code binaire avant d’appeler STRTMS. C’est une sorte de “compilateur”.
Si j’envoie bien des données binaires à STRTMS (plus quelques autres setup), la musique se joue bien.
Le souci c’est que le code qui compile le MML n’est pas dans la partie standard du BIOS et ne peut donc pas être utilisé en assembleur.
D'où ma question : est-ce que vous connaissez un outil qui permettrait de convertir un MML textuel en binaire ?
Je précise que c’est juste pour le fun d’utiliser le player intégré au BIOS car je fais un mini-jeu où j’essaye de n’utiliser que les fonctions de base du MSX.
En complétant le module BIOS de MSXgl, je suis retombé sur la fonction STRTMS (0099h) qui est censée permettre de jouer une musique au format MML en assembleur.
J'ai tracé la fonction PLAY du BASIC pour voir si elle passait bien par cette fonction du BIOS et c’est bien le cas. Par contre, j’ai eu du mal à comprendre les paramètres à setup pour que ça fonctionne. Après pas mal de tests et l’aide d’amis Japonais, j’ai enfin compris.
En fait, la fonction PLAY du BASIC convertit le code MML textuel en code binaire avant d’appeler STRTMS. C’est une sorte de “compilateur”.
Si j’envoie bien des données binaires à STRTMS (plus quelques autres setup), la musique se joue bien.
Le souci c’est que le code qui compile le MML n’est pas dans la partie standard du BIOS et ne peut donc pas être utilisé en assembleur.
D'où ma question : est-ce que vous connaissez un outil qui permettrait de convertir un MML textuel en binaire ?
Je précise que c’est juste pour le fun d’utiliser le player intégré au BIOS car je fais un mini-jeu où j’essaye de n’utiliser que les fonctions de base du MSX.
On est toujours ignorant avant de savoir.
Dans le livre pratique du MSX2 il y a un exemple page 207
https://msxvillage.fr/download/18-livres-msx/3-pratique-du-msx2/
Mais la routine est située en 73E5 donc c'est pas ce que tu veux je suppose
convertir un MML en binaire... le problème c'est que chaque MML a son format spécifique
https://msxvillage.fr/download/18-livres-msx/3-pratique-du-msx2/
Mais la routine est située en 73E5 donc c'est pas ce que tu veux je suppose
convertir un MML en binaire... le problème c'est que chaque MML a son format spécifique
site en Français sur la musique MSX
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie

