Section courante

A propos

Section administrative du site

Introduction

Contrairement aux cartes vidéos, les cartes de son ne sont pas le fruit d'un standard proposé par IBM pour sa gamme des PC. Ainsi, se sont des fabricants indépendant ayant proposer des cartes de son et que seul des logiciels spécialisé était capable d'en exploiter les possibilités.

Organigramme de détection de la carte vidéo AdLib

Bien qu'il existait cette possibilité sous les ordinateurs Amiga et Atari ST de l'époque, la carte de son AdLib est la première carte de son proposé pour un ordinateur de la gamme PC d'IBM. Laquelle, remplaçait l'utilisation d'un PC Speaker Mono par une sortie stéréo de bien meilleure qualité. Cette carte de son est né de l'idée d'un professeur de musique, Martin Prevel, de l'université Laval, dans la ville de Québec et le nom de la carte de son était «AdLib Music Synthesizer Card». Puisqu'il n'y avait pas de BIOS de fournit avec la carte ISA 8 bits, il fallait détecté directement à partir des ports d'entrée/sorties 388h/389h la présence de la carte de son, sinon on pouvait utiliser un pilote chargé lors du démarrage du système d'exploitation.

Voici un code de détection de la carte de son AdLib en assembleur 8086 :

  1. ; Routine de détection de la carte AdLib en assembleur 8086
  2. MOV DX, 0388h       ; Charger l'adresse du port AdLib
  3. IN AL, DX           ; Lire l'état du port (vérification si occupé)
  4. ADD AL, 0            ; Aucun effet (simple lecture)
  5.  
  6. MOV DX, 0388h       ; Sélectionner le registre 0x04
  7. MOV AL, 04h         ; Écrire dans le port d'adresse (sélection du registre)
  8. OUT DX, AL
  9.  
  10. MOV DX, 0389h       ; Accéder au port de données
  11. MOV AL, 060h        ; Écrire une valeur de test (valeur arbitraire)
  12. OUT DX, AL
  13.  
  14. MOV DX, 0388h       ; Sélectionner de nouveau le registre 0x04
  15. MOV AL, 04h
  16. OUT DX, AL
  17.  
  18. MOV DX, 0389h       ; Lire la valeur dans le port de données
  19. IN AL, DX           ; AL contient la valeur lue
  20.  
  21. CMP AL, 60h         ; Comparer avec la valeur initiale
  22. JE AdLibDetected    ; Si les valeurs correspondent, la carte AdLib est détectée
  23.  
  24. AdLibNotDetected:
  25. ; La carte AdLib n'a pas été détectée, gestion de l'erreur
  26. JMP End
  27.  
  28. AdLibDetected:
  29. ; La carte AdLib est présente, continuer
  30. End:


Dernière mise à jour : Vendredi, le 4 mars 2016