DOS und Sound – Grundlagen der Soundkarten Konfiguration

Hintergrund

Mit Adlib kam 1987 die erste klangvolle Soundkarte für den PC auf dem Markt. Die Karte nutzte  einen OPL2 Chip von Yamaha um Musik zu synthetisieren. Soundeffekte waren noch nicht möglich.

Musiksynthese:
Es wird mit Software ein Chip/eine Hardware angesprochen, der/die sich um die Klangerzeugung kümmert. Im Gegensatz zu einer gespeicherten Musikdatei müssen nur die Noten gespeichert werden, was einen enormen Speicherplatzvorteil bot.

Die erste Soundkarte von Creative Labs kam 1989 auf den Markt. Sie war voll kompatibel zur Adlibkarte, nutzte sie doch den gleichen Chip für die Musikgenerierung. Diese Karte konnte erstmals digitale Samples abspielen. Digitale Samples sind vorab aufgenommene Sprach-/Effektdateien.

Damit war die Soundkarte in der Lage, neben toller Musik auch Effekte wie Laserschüsse und gesprochene Worte wiedergeben. Der Siegeszug begann.

Danach folgten zahllose Clones, Alternativen und Modernisierungen. Hier eine Übersicht der Entwicklungen bei den Soundblastern von Creative.

Aber im Wesentlichen sind die Grundzüge für die Nutzung einer Soundkarte unter DOS identisch geblieben. Daher sind die meisten DOS Soundkarten zu Adlib und/oder Soundblaster kompatibel. Im Folgenden werden nur diese Soundkarten beleuchtet.

Technischer Hintergrund

Unter DOS ist es in der Regel so, dass sich die Programme und Spiele selbst um die Ansteuerung der Soundkarte kümmern müssen. Es gibt keine einheitliche Schnittstelle.

Wenn eine Software eine Soundkarte ansprechen will, liest sie die BLASTER Variable aus, die mit dem Booten des DOS Betriebssystems in der Regel in der autoexec.bat gesetzt wurde. Diese Variable kann aber auch über die DOS Eingabe manuell gesetzt und auch verändert werden.

Für die Musikerzeugung nach Adlib muss nichts gesetzt werden. Die Karte wird über den Port 388 angesprochen. Daher gibt es weder auf einer Adlibkarte noch unter DOS etwas zu konfigurieren.

Somit muss die Blastervariable nur für den digitalen Sound gesetzt werden. Sollte die Soundkarte nicht zu Adlib kompatibel sein, natürlich auch für die Musikerzeugung.

Die Konfiguration

Die Blastervariable sieht im Grunde so aus:

BLASTER=Axxx Iy Dz Hv Pwww Euuu Tq

  • xxx – steht für den Port (I/O port), normalerweise 220 oder 240
  • y – ist der Interrupt (IRQ), normalerweise  5 oder 7
  • z – steht für DMA 8bit-Sound, normalerweise 1 oder 3
  • v – steht für DMA 16bit-Sound, normalerweise 5 oder 7
  • www – steht für den externen MPU-401 / Wavetable Anschluss, oft 330 oder 300
  • uuu – ist der EMU8000 chipsatz bei neueren Soundblasterkarten wie die SB32/AWE32/AWE64, in der Regel 620
  • q definiert noch den Typ der Soundkarte
    •             1 – Sound Blaster 1.x (8 bit mono, 22 kHz) oder kompatible
    •             2 – Sound Blaster Pro (8 bit stereo, 22 kHz) oder kompatible
    •             3 – Sound Blaster 2.x (8 bit mono, 44.1 kHz)  oder kompatible
    •             4 – Sound Blaster Pro 2
    •             5 – Sound Blaster Pro MCA
    •             6 – Sound Blaster 16, also SB 32, AWE32/64, ViBRA.
    •             10 – Sound Blaster MCA

Wichtig sind die ersten 3-4 Parameter. So sieht ein oft genutzte Eintrag in der autoexec.bat bspw. so aus:

BLASTER=A220 I7 D1
Damit ist die Soundkarte unter dem Port 220 mit dem IRQ 7 und DMA 1 erreichbar.

Es gibt aber auch eine Reihe, vor allem modernerer DOS Spiele, welche die Parameter auch ohne die BLASTER Variable ermitteln können. Das ist hilfreich, wenn nicht klar ist, ob die Karte richtig läuft oder wie die Jumper gesetzt wurden.

Jumper

Die ersten Soundkarten wurden über Jumper konfiguriert. Du hast eine Soundkarte, die über Jumper eingestellt werden muss und brauchst weitere Details? Diese kannst du für sehr viele Soundkarte in diesem Verzeichnis finden.

Das ist relativ einfach- die Werte notieren und in der BLASTER Variablen einstellen.

Plug & Play (PnP)

Nach der Einführung von Plug & Play (PnP) sollte sich das BIOS und Betriebssystem automatisch um die Ressoucenzuweisung kümmern und damit die Jumper auf einer Karte, nicht nur Soundkarten, reduzieren und komplett obsolet machen.

In diesem Zuge kamen dann auch die ersten Soundkarten ohne Jumper und mit Treibern auf Disketten auf dem Markt.

Wie eingangs erwähnt, braucht man unter DOS keine Treiber, da die Software und Spiele diese fast immer selbst mitbringen. Im Grunde macht daher der Treiber einer PnP Soundkarte unter DOS nichts anderes als die Karte zu initialisieren.

Vereinfacht ausgedrückt setzt die Software beim Start des Betriebssystems virtuelle Jumper.

Damit ist es nun möglich die Parameter der Soundkarte durch Software zu verändern und die Karte muss nicht mehr aus dem PC geholt werden, um die Parameter per Jumper zu verändern oder was häufiger der Fall war, zu prüfen wie die Parameter gesetzt sind.

Treiber

Oft ist es nun so, dass in unserem Retrorechner eine Soundkarte werkelt bzw. werkeln soll für die diese (Initialisations-)Treiber im Netz gefunden werden.

Die Konfiguration dieser in der autoexec.bat oder config.sys reicht von einfach bis unglaublich kompliziert.

Allerdings gibt es auch eine Reihe von Exoten, deren Treiber nicht mehr gefunden werden können. Oft hilft hier einfach den Soundblaster Treiber von Creative zu nutzen. Ist der Soundblaster Clone bspw. kompatibel zur Soundblaster Pro 2.0, dann versuche ich den Creative Treiber für die Soundblaster Pro 2.0 zu benutzt.

Oft ist die Kompatibilität so groß, dass es funktioniert. Wenn man ganz viel Glück hat, funktioniert auch der Mixer mit dem die Lautstärke der verschiedenen Kanäle eingestellt werden kann. Denn sonst hört man entweder Garnichts oder die Karte ist voll aufgedreht.

Unisound

Waren diese Versuche nicht von Erfolg gekrönt, war die Karte bisher nicht mehr zu gebrauchen. Glücklicherweise hat JazeFox das Tool namens Unisound entwickelt. Hier aktuell in der Version 0.77a – UNISOUND077a.

Die Nutzung des Tools ist unglaublich einfach. Es nutzt die Werte der Blastervariable und initialisiert die Soundkarte mit diesen. Für alle anderen Werte nimmt der Treiber default Werte.

Die Karte bringt auch gleich einen integrierten Mixer mit. Es ist kinderleicht Unisound einzusetzen. Ein Beispiel aus dem Handbuch:

SET BLASTER=A220 I5 D1 T4 J200 P330
UNISOUND.COM /V70 (V70 = Lautstärke (Master Volume) 70%)

Fertig!

Unisound ist mein Tool der Wahl geworden, um eine PnP Soundkarte unter DOS zu initialisieren. Bisher habe ich noch keine Probleme feststellen können.

Solltest du Schwierigkeiten haben deine PnP Soundkarte unter DOS zu aktivieren, ist Unisound sicherlich ein guter Rettungsanker. Selbst wenn du Purist bist und gerne den originalen Treiber deiner Soundkarte nutzen möchtest, kannst du mit Unisound prüfen, ob die Karte funktioniert, falls deine Einstellungen in dem originalen Treiber nicht funktionieren sollten.

 

Jetzt wünsche ich dir ein zauberhaftes Klangerlebnis mit deiner Soundkarte! Solltest du Fragen oder Anmerkungen haben, schreib gerne einen Kommentar.

Ein Gedanke zu „DOS und Sound – Grundlagen der Soundkarten Konfiguration“

  1. Sehr hilfreicher Beitrag – vielen Dank!
    Bin zwar seit dem ersten Tage (Start zu 8086er Zeiten, davor C64) dabei, dennoch, nach so langer Zeit wirklich leicht überfordert, mir meinen Retro-Laptop einzurichten, um zum Anfang Wing Commander 3 spielen zu können. Aktuell ein Toshiba mit P133 und W98SE.
    Eine tolle Erfahrung – kann ich jedem empfehlen.
    Aktuell intensiv auf der Suche nach einen Toshiba Libretto – Das wird das Projekt für die nächsten Monate 🙂
    VG und Danke für die informativen Beiträge
    Jan

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert