Utiliser une carte son PCI sous DOS avec le SB-Link

Assez souvent, quand je parle de rétro pour Canard PC Hardware (et pour ici), le problème du son intervient. Et surtout le choix de la carte son. Et il existe une solution intéressante pour faire fonctionner une carte son PCI avec les jeux qui attendent une carte son ISA, le SB-Link.

Je ne vais pas trop entrer dans les détails, mais en gros les cartes son des années 80 et du début des années nonante sont en ISA, un bus ancien qui passe par des interruptions (IRQ) et des plages DMA. Beaucoup de titres programmés pour les Sound Blaster ou les cartes Adlib attendent leurs présences, ce qui pose des soucis avec les cartes son en PCI. Et quand le PCI a commencé à être vraiment courant, Creative Labs a eu une idée : proposer un connecteur qui permet de recréer les IRQ et DMA en question. Ce connecteur s’appelle SB-Link (et parfois PC/PCI). C’est la solution idéale pour les cartes PCI, mais il en existe évidemment d’autres : il est uassi possible d’utiliser un programme résident (TSR) qui va intercepter les appels… avec plus ou moins de succès.

La prise SB-Link sur la carte mère

Le SB-Link va surtout servir avec les PC qui n’ont pas d’ISA : en pratique il est plus simple d’installer une carte son ISA que de configurer le SB-Link. La carte mère de mon exemple n’est pas forcément la plus intéressante du coup : cette Asus P2B dispose de trois connecteurs ISA (dont un partagé avec un connecteur PCI), mais pour montrer le fonctionnement, c’est suffisant. Vous trouverez à cette adresse une liste de cartes mères compatibles, mais sachez que certaines cartes plus récentes ont les traces de la prise, et qu’il est possible de souder le connecteur.

Une carte son Yamaha

Pour la carte son, j’ai commandé un modèle à base d’YMF724 sur eBay, mais on trouve aussi des cartes avec du YMF744. Ce modèle PCI a plusieurs avantages pour les jeux vidéos. Premièrement, le sujet ici, il y a une prise SB-Link qui permet donc d’utiliser la carte en DOS pur. Il existe bien quelques cartes Creative avec cette prise, mais elles sont hors de prix. Deuxièmement, la carte possède une sortie numérique, en S/PDIF coaxial. C’est toujours pratique pour récupérer du son propre. Et troisièmement, la puce de Yamaha offre une bonne qualité sonore sur les effets FM. Typiquement, les premières Sound Blaster (et les cartes Adlib) utilisent une puce OPL3 pour cet usage (YMF262) mais les dernières Sound Blaster et les cartes audio d’autres marques ont parfois des copies plus ou moins efficaces (CQM chez Creative, un clone maison, etc.). Les cartes à base d’YMF724 (ou 744), elles, ont l’équivalent d’un OPL3 intégré, qui sonne de la même façon que la version originale.

La carte a une sortie numérique


Et évidemment une prise SB-Link

J’ai commencé par brancher la carte avec le connecteur SB-Link. Si vous n’avez pas de câble, comme moi, de simples films jumper suffiront. Le brochage est basique : il suffit de relier les prises en suivant le détrompeur. Et l’agencement est généralement donné dans le manuel de la carte mère.

Lors de mes premiers essais, le PC se bloquait au lancement de Windows, mais en plaçant la carte dans le PCI partagé avec le port ISA, ça marche. Les pilotes se trouvent encore sur le site de Yamaha (j’ai quand même dû passer par archive.org pour les fichiers). Il faut les pilotes pour votre OS (dans mon cas Windows 98) et pour DOS. Sinon, il y a le nécessaire sur le site de Phil. J’ai aussi dû assigner un IRQ spécifique à la carte son, et indiquer que l’IRQ 5 était assigné à une carte ISA (même sans carte présente).

Il faut assigner les IRQ manuellement


Sous Windows


Les réglages

A l’usage, c’est finalement assez simple. Une fois sous DOS, il faut lancer setupds, qui permet de régler le volume et de bien vérifier que tout fonctionne (la ligne DMA Mode doit bien être sur PC-PCI). Ensuite, on peut le lancer en automatique (setupds /s) avec un fichier batch.

Le programme en automatique


Les réglages

J’ai testé rapidement avec quelques jeux et ça fonctionne assez bien. Une fois le programme lancé, le son fonctionne généralement. Dans la vidéo, on voit le programme de test, Wolfenstein 3D, Epic Pinball, Prince of Persia (bizarrement, ma version ne propose pas les effets sonores), Ween: The Prophecy et Indiana Jones 3. Sur ce dernier, il y a un bug particulier : par défaut, ma machine est trop rapide (un Pentium II à 450 MHz) et donc le son est affreux (vers 3:50). Mais en ralentissant la machine en désactivant le cache de niveau 1, tout revient à la normale (mais la machine est évidemment très lente). Au passage, j’ai fais mes tests en redémarrant en mode MS-DOS depuis Windows, mais il est évidemment plus simple (et efficace) d’installer directement DOS 6.22. C’est juste que j’avais la flemme pour la démonstration.

Pour terminer, je n’ai fait que survoler le sujet (et avec sûrement certains raccourcis un peu rapides) mais si le sujet vous intéresse, il y a pas mal de trucs sur les forums Vogons, dont ce long guide.