CE = CONDITIONS D’ENTREE
CS = CONDITIONS DE SORTIE
REGS = REGISTRES
C = FLAG CARRY
Z = FLAG ZÉRO

 

 

GESTIONNAIRE SONORE
*******************

 

#BCA7 – INITIALISE LE GESTIONNAIRE SONORE.

CE: rien.
CS: AF, BC, DE, HL sont modifi{s.

 

#BCAA – AJOUTE UN SON A UNE QUEUE SONORE.

CE: HL contient l’adresse du programme sonore qui doit se trouver dans les 32K de m{moire vive centrale.
CS: si le son a pu être ajouté a la queue sonore, C=1 et HL est modifié.
       si toutes les queues sonores sont remplies et que le son n’a pas pu être ajouté à l’une d’entre elles, C=0 et HL est préservé.
      De toute façon AF, BC, DE, IX sont modifiés. Les autres regs sont préservés.

 

#BCAD – VÉRIFIE S’IL Y A DE LA PLACE DANS UNE QUEUE SONORE.

CE: A contient le numéro du canal a tester.
        il vaut 0 si l’on veut tester le canal A.
        il vaut 1 si l’on veut tester le canal B.
        il vaut 2 si l’on veut tester le canal C.
CS: A contient l’état du canal testé.
       F, BC, DE, HL sont modifiés.

 

#BCB0 – PRÉPARE L’ÉXÉCUTION D’UNE INTERRUPTION LORSQU’UNE QUEUE SONORE EST VIDE.

CE: A contient le numéro du canal a tenir prêt ( 0=A 1=B 2=C ).
       HL contient l’adresse du programme d’interruption.
CS: AF, BC, DE, HL sont modifiés.

 

#BCB3 – PERMET DE RELACHER LES SONS ARRETES SUR CHAQUE CANAL (voir BCB6).

CE: A contient le numéro du canal à relâcher ( 0=A 1=B 2=C ).
CS: AF, BC, DE, HL sont modifiés.

 

#BCB6 – ARRÊT DE TOUS LES SONS.

CE: rien.
CS: si un son était actif, C serait=1 sinon C serait=0.
De toute façon, AF, BC, HL sont modifiés.

 

#BCB9 – REDÉMARRE TOUS LES SONS QUI ONT ÉTÉ ARRÊTÉS PAR BCB6.

CE: rien.
CS: AF, BC, DE, IX sont modifiés.

 

#BCBC – ÉTABLISSEMENT D’UNE DES 15 ENVELOPPES D’AMPLITUDE PROGRAMMABLE.

CE: A contient le numéro d’enveloppe.
       HL contient l’adresse des données concernant l’amplitude.
CS: Si une enveloppe a été établie, C=1 et HL contient l’adresse du bloc de données augmentée de 16 et A et BC sont modifiés.
       Si le numéro d’enveloppe est incorrect, C=0, A, B, HL sont modifiés.
       De toute façon F, DE sont modifiés.

 

#BCBF – ÉTABLISSEMENT D’UNE DES 15 ENVELOPPES DE FRÉQUENCE PROGRAMMABLE.

CE: A contient un numéro d’enveloppe.
       HL contient l’adresse des données concernant la fréquence.
CS: Si l’enveloppe de fréquence a bien été établie, C=1 et HL contient l’adresse du bloc de données augmentée de 16, et A et BC sont modifiés.
       Si le numéro d’enveloppe est incorrect, C=0 et A, BC, HL sont préservés.
       De toute façon F, DE sont modifiés.

 

#BCC2 – FOURNIT L’ADRESSE D’UNE ENVELOPPE D’AMPLITUDE.

CE: A contient un numéro d’enveloppe.
CS: Si l’enveloppe a bien été trouvée, C=1 et HL contient l’adresse de l’enveloppe d’amplitude et BC contient la longueur d’une enveloppe.
       Si le numéro d’enveloppe est incorrect, C=0 et HL est modifié et BC est préservé.
       De toute façon AF est modifié.

 

#BCC5 – FOURNIT L’ADRESSE D’UNE ENVELOPPE DE TON.

CE: A contient un numéro d’enveloppe.
CS: Si l’enveloppe a bien été trouvée, C=1 et HL contient l’adresse de l’enveloppe de ton et BC contient la longueur de l’enveloppe.
       Si le numéro d’enveloppe est incorrect, C=0, HL est modifié et BC est préservé.
       De toute façon AF est modifié.