Section courante

A propos

Section administrative du site

Spécification Description
Fabricant Creative Labs
Date de conception 1989
Modèle CT1320A
Nombre de transistors 100 000
Sortie 8 bits mono
Architecture ISA

Introduction

La carte de son Sound Blaster du fabricant Creative Labs est une carte de son ayant été la référence durant la fin des années 1980 et du début des années 1990 en matière de micro-ordinateurs IBM PC. Les programmeurs peuvent utilisé le DSP (abréviation de Digital Signal Processing) pour effectuer sa programmation à partir des ports d'entrées/sorties.

Remarque


Programmation

Pour détecter une carte de son Sound Blaster en Turbo Pascal, il est nécessaire d'interagir avec le matériel en accédant directement aux ports d'entrée/sortie du système. La Sound Blaster utilise des adresses de ports spécifiques et envoie des réponses caractéristiques permettant de la détecter.

Voici une approche courante pour détecter une Sound Blaster :

Voici un exemple vérifiant la présence d'une carte Sound Balster en interrogeant l'adresse de base 220h, ce qui est typique pour les cartes Sound Blaster :

  1. Program IsSB;
  2.  
  3. Uses Crt;
  4.  
  5. Const
  6.  SB_BASE=$220;  { Adresse de base typique de la Sound Blaster }
  7.  
  8.  { Vérifie si une Sound Blaster est présente à l'adresse de base spécifiée }
  9. Function DetectSoundBlaster(Base:Word):Boolean;
  10. Var
  11.  Status:Byte;
  12. Begin
  13.   { Écriture d'une commande de reset à la carte Sound Blaster }
  14.  Port[Base+$06]:=1;  { Réinitialise }
  15.  Delay(10);          { Petit délai }
  16.  Port[Base+$06]:=0;  { Fin de la réinitialisation }
  17.  Delay(10);
  18.   { Lecture du port de statut pour voir si la carte répond }
  19.  Status:=Port[Base+$0E];
  20.  If Status=$AA Then  { $AA est la réponse typique après un reset réussi }
  21.   DetectSoundBlaster:=True
  22.  Else
  23.   DetectSoundBlaster:=False;
  24. End;
  25.  
  26. BEGIN
  27.  If DetectSoundBlaster(SB_BASE)Then WriteLn('Sound Blaster détectée à l''adresse de base 220h')
  28.                                Else WriteLn('Sound Blaster non détectée.');
  29. END.

Voir également

Programmation - Sound Blaster - Accueil

Dernière mise à jour : Dimanche, le 10 septembre 2017