★ CODING ★ BIP, SON AND SOUND ★ |
Bidouilles ACPC n°32 - Bip, son and sound |
Cela fait des mois qu'ils le promettent. Cela fait des mois que sagement vous patientez sans oser monter le ton. Il était temps pour eux de mettre un terme à cette insoutenable attente qui, soit dit en passant, fait le bonheur des rockers à travers les rappels de concert. Mais, au juste, qu'attendez-vous ? Les routines pour afficher vos messages personnels Ion de la commande CAT ? Peut-être sont-ce les routines qui formateront vos disquettes à 42 pistes de 12 secteurs, soit 42*12*1024 octets ? Ah bon ? Laissez-moi deux secondes, j'y réfléchis. Ayé, yé sais ! Vous voulez faire de la zicmu en Assembleur (mais qu'est-ce qu'il est con çui-là : l'a pas vu le titre de la rubrique, là-haut. Non mais. Bip son and sound c'est quoi, alors ? Du Gainsbourg ? Ou de l'Equinoxe peut-être ? LA MUSIQUE Je suis entièrement d'accord. On ne peut improviser la musique, même si l'on s'appelle Miles Davis. Ne vous affolez pas, il ne s'agit absolument pas de vous balancer des cours de solfège, mais les notions élémentaires sur le principe de la SAO (son assisté par ordinateur). Il existe un bon paquet d'ordinateurs, genre pro (appelés vulgairement PC et compatibles) qui par défaut ne peuvent qu'émettre un vulgaire Bip sonore équivalent de notre PRINT CHR$(7). D'autres, comme nos CPC chéris, sont dotés d'un processeur sonore AY-8912. que l'on vénérera sous l'appellation de PSG (pour les ceusses qui ne comprennent rien à rien, sachez que cela n'a aucun rapport avec l'équipe de foot parisienne). Son rôle est simple. Il est capable de jouer simultanément trois sons de fréquences différentes sur trois canaux séparés. En plus, sur un des trois canaux, vous pouvez placer un bruit blanc (Noise en anglais, ce qui donnera les bruits de la mer, vent, hélico...). Les sons émis de la sorte sur le PSG, sont d'une pauvreté déconcertante. C'EST AINSI, QU'UN BEAU MATIN D'AOUT... Où notre soleil brillait de son plein éclat sur la ville de Londres et sa banlieue, et que les oiseaux heureux de vivre un tel bonheur chantaient leurs plus beaux récitals en Fa majeur. C'est ainsi, disais-je, que les programmeurs de la firme Amstrad, décidèrent de mettre au point un programme capable d'améliorer considérablement la qualité sonore de ce minable AY-8912. LE SYSTEME FUT L'idée était toute bête. Faciliter l'accès aux commandes du PSG (à travers les vecteurs système et le Basic) et pour enrichir les sons, modifier sous interruption les volumes ainsi que les fréquences émises sur les canaux. Prenons les choses une par une. Pour mieux comprendre les routines système sonore, faisons un peu de Sicba. SOUND Chaque son est joué sur un canal, ce sont les canaux 1, 2 et 4 ( 2^0,2^1, 2^2 ). On détermine la fréquence désirée (0 à 4095 où 2^12-1), le volume (0 à 15), la durée du son (-32768 à 32767). Pour utiliser les possibilités sonores programmées par les développeurs Amstrad, on donnera les paramètres pour choisir les enveloppes de volume (1 à 15) et fréquence (1 à 15). On finit les paramètres sonores en balançant, si le Cœur vous en dit, la valeur désirée pour le bruit (0 à 31). Voilà donc en résumé la commande SOUND de votre machine. Si vous utilisez les enveloppes, faudra pt'être définir ces dernières. ENV pour les enveloppes de volume, et ENT pour les fréquences (16 paramètres maximum par enveloppe). Je ne vous apprends rien en vous disant que l'on peut tester à n'importe quel moment l'état des canaux sonores à l'aide de la commande SQ. Toutes ces possibilités sagement apprises avec le Basic, sont utilisables telles quelles en assembleur. — CALL &BCA7 - Il initialise le gestionnaire sonore. En arrêtant tous les sons et remettant les enveloppes à zéro. En deux mots, c'est comme si vous éteigniez et rallumiez votre CPC. — CALL &BCAA - C'est l'équivalent de la commande SOUND du Basic. Cela marche comme en Basic, à savoir, un son n'est pas joué immédiatement si son canal est déjà occupé (c'est le principe des queues sonores). Il attend gentiment son tour et passera dès que possible. Il va de soit que l'on pourra forcer son passage en mettant le bit 7 de son canal à 1 (si vous préférez, en ajoutant 128 au numéro du canal 1 devient 129, 2, 130, etc.). Le registre HL doit pointer dans les 32 Ko de Ram centrale (de &4000 à &C000) sur une zone de données qui n'est autre que les paramètres sonores de la commande SOUND mais dans un ordre différent. ORG 30000 LD HL,SON |
Page précédente : Bidouilles ACPC n°31 - RSX |
|