* Pour NN=1 jusqu'au nombre d'enregistrements Moves dc.w Nombre_De_Mouvements * Pointeurs vers la liste des coordonnées X REPT Nombre_De_Mouvements dc.w (XMove_NN-Moves)/2 Offset vers les coordonnées X /2 Ou zéro si non définies ENDR * Emplacement des coordonnées Y REPT Nombre_De_Mouvements dc.w (YMove_NN-Moves)/2 Offset vers les coordonnées Y /2 Ou zéro si non définies ENDR * Stocke un nom de huit octets pour chaque table de mouvement REPT Nombre_De_Mouvements dc.b "MoveName" 8 octets par mouvement ENDR * Enfin, voici les définitions des mouvements eux-mêmes * REPT Nombre_De_Mouvements XMove_NN dc.w Vitesse Vitesse d'enregistrement en 1/50 sec dc.w Longueur_De_X_Move Longueur de la table en octets dcb.b ... définition XMove ... YMove_NN dcb.b ... définition YMove ... ENDR
Les mouvements sont stockés de la manière suivante. La table de mouvement utilise le même format pour les coordonnées X et Y. Elle commence et se termine par une valeur zéro, ce qui permet de terminer la liste aussi bien en lecture avant qu'en arrière.
%00000000 Fin du mouvement %0ddddddd ddddddd contient la distance à déplacer en pixels, signée sur 7 bits (-128 à +128) Cette distance sera ajoutée à la coordonnée actuelle de l'objet pour obtenir la nouvelle position à l'écran %1wwwwwww spécifie le nombre de périodes de 1/50 sec à attendre jusqu'au prochain mouvement
Les programmes AMAL
Les chaînes de commandes AMAL sont stockées au format Ascii standard.
Progs dc.w Nombre_De_Programmes Contient le nombre de programmes AMAL * Liste des offsets REPT Nombre_De_Programmes dc.w (Prog_NN-Progs)/2 Distance jusqu'au programme numéro NN