Section courante

A propos

Section administrative du site

Les premiers pas

L'unité ADLIBDRV.PAS, proposée dans la bibliothèque ADLIBLIB-TP, permet d'exploiter les capacités sonores de la carte AdLib via Turbo Pascal. Conçue pour fonctionner sous DOS, elle offre une interface simple pour accéder directement au synthétiseur FM (OPL2), utilisé autrefois dans de nombreux jeux et applications musicales. Grâce à cette bibliothèque, il devient possible de jouer des notes, de contrôler des canaux audio, et de produire des sons synthétiques de manière directe et précise. Elle s'adresse aux développeurs passionnés par la programmation rétro ou l'émulation audio. Son approche bas niveau conserve l'esprit de l'époque, tout en restant assez accessible. Elle constitue un excellent point de départ pour explorer le son programmable sous DOS.

Utiliser ADLIBDRV permet de redécouvrir une époque où le son n'était pas géré par des bibliothèques complexes ou des pilotes multiplateformes, mais directement par des ports matériels. La carte AdLib, basée sur la puce Yamaha YM3812 (OPL2), permettait de générer des sons polyphoniques avec une signature très reconnaissable. La bibliothèque expose un ensemble de fonctions pour détecter la carte, jouer des notes à des fréquences données, et gérer les canaux indépendamment. Cela permet à l'utilisateur de construire ses propres effets sonores, musiques, ou démonstrations audiovisuelles. Que ce soit pour une animation graphique accompagnée de sons, un mini synthétiseur, ou un jeu en mode texte avec ambiance sonore, cette unité s'intègre parfaitement dans un projet DOS rétro.

Ce tutoriel propose un guide simple pour débuter avec ADLIBDRV.PAS et ADLIBDET.PAS, en se concentrant sur les étapes essentielles : détection, initialisation et lecture d'une note. Aucune connaissance avancée du matériel AdLib n'est requise, l'unité encapsule les opérations critiques tout en vous laissant le contrôle sur le comportement sonore. Vous découvrirez comment jouer une note simple, arrêter un canal, et manipuler plusieurs canaux si nécessaire. Pour une meilleure expérience, l'utilisation de DOSBox est fortement recommandée, car elle émule fidèlement le matériel sonore d'époque. Ce guide vous permettra d'entendre concrètement les résultats de votre code, et de comprendre les bases du son synthétisé par programmation. Vous êtes maintenant prêt à explorer les possibilités audio offertes par Turbo Pascal et la carte AdLib.

Prérequis

Inclure l'unité dans votre projet

Créez un nouveau fichier Pascal et ajoutez ADLIBDRV dans la clause Uses :

  1. Program TestAdlib;
  2.  
  3. Uses
  4.  Crt, ADLIBDET, ADLIBDRV;

Initialiser le pilote AdLib

Avant de pouvoir jouer un son, vous devez initialiser la carte :

  1. BEGIN
  2.  If Not DetectIsAdlib Then Begin
  3.   Writeln('Carte AdLib non détectée.');
  4.   Halt(1);
  5.  End;
  6.  
  7.  ADLIB_InitDriver;

Jouer une note simple

Après l'initialisation, vous pouvez jouer une note en spécifiant :

  1.   Writeln('Lecture d''une note...');
  2.   ADLIB_PlayNote(0, 440);  { Canal 0, Fréquence 440 Hz (La) }
  3.   Delay(500);              { Joue pendant 500 ms }
  4.   ADLIB_SetMode(0);        { Arrête la note sur le canal 0 }
  5. END.

Résultat attendu

Dans DOSBox, vous devriez entendre un bip synthétique de 440 Hz pendant une demi-seconde. Cela confirme que :

Remarques



Dernière mise à jour : Vendredi, le 24 novembre 2023