Je n'ai pas testé en live (le debugger de DcVG5k permet un mode pas à pas, ça peut être utile dans ce cas, mais :
Dans ton premier exemple, tu empiles "PLAY" puis HL
Dans ton deuxième exemple, tu empiles HL puis "PLAY".
Si la routine qui joue la musique fait un POP de trop, dans le deuxième cas, tu vas te retrouver à l'adresse HL+3 sur le PC, donc potentiellement pas tout tout à la suite des instructions après le CALL initial.
comment jouer une note en asm sur VG5000µ ?
Modérateurs : Papy.G, fneck, Carl
Re: comment jouer une note en asm sur VG5000µ ?
Dernière modification par Markerror le 07 mai 2020 08:19, modifié 1 fois.
Re: comment jouer une note en asm sur VG5000µ ?
Il manque le ld e,5 dans le second exemple. Est-ce aussi simple que ça ?
Patrick
Re: comment jouer une note en asm sur VG5000µ ?
@Patrice. j"avais mal écrit le code dans mon message. Il y avait bien un ld e,5
L'explication de Markerror doit être la bonne.
Je crois qu'il y a encore une blague avec cette routine. Il faut que le buffer soit de longueur au moins 7.
Je pense que la partie interpréteur du basic envoie une chaine de taille au moins 7 (complétée par des 0 si on envoie moins de caractères). Si on lance directement la routine avec moins de 7 (strictement) caractères, aucun son ne se produit. Il suffit pour régler le problème de rajouter des 0 à la fin du buffer pour compléter jusqu'à au moins 7.
Mokona pourrait peut-être nous en dire plus.
L'explication de Markerror doit être la bonne.
Je crois qu'il y a encore une blague avec cette routine. Il faut que le buffer soit de longueur au moins 7.
Je pense que la partie interpréteur du basic envoie une chaine de taille au moins 7 (complétée par des 0 si on envoie moins de caractères). Si on lance directement la routine avec moins de 7 (strictement) caractères, aucun son ne se produit. Il suffit pour régler le problème de rajouter des 0 à la fin du buffer pour compléter jusqu'à au moins 7.
Mokona pourrait peut-être nous en dire plus.