Virtual OS/2 International Consumer Education
VOICE Homepage: http://de.os2voice.org
November 2003

[Inhaltsverzeichnis]
[Vorherige Seite] [Nächste Seite]
[Artikelverzeichnis]

editor@os2voice.org


Bearbeiten der MMPM2.INI

Von Jürgen Gaida © November 2003

Einleitung

Dieser Artikel beschreibt den Aufbau, jedenfalls bezogen auf die Soundkarteneinträge, sowie die verschiedenen Möglichkeiten zur Bearbeitung der MMPM2.INI.

Der Anlaß, diesen Artikel zu schreiben, bestand darin, daß vielerorts und zuletzt noch in Robert Fuchs Artikel im VOICE Newsletter (Februar 2003) bei Problemen mit der Soundkarteninstallation unter OS/2 Warp 4, Warp 4.5 (MCP1 und MCP2) und insbesondere eCS 1.0x immer der Rat gegeben wurde, MMPM/2 zu entfernen und anschließend neu zu installieren.

In einigen Newsgroups und auf OS/2-spezifischen Webseiten kamen jedoch auch immer wieder Vorschläge, es erst einmal anders zu versuchen.

Dieser Artikel beschreibt das "anders versuchen". Eine Funktionsgarantie kann nicht gegeben werden, allerdings erscheinen der Aufbau und das Prozedere zur Bearbeitung am Ende trivial, so daß unter normalen Umständen die MMPM2.INI erfolgreich bearbeitet werden kann.

Die Probleme bei der Soundkarteninstallation treten für gewöhnlich dann auf, wenn eine ISA-Soundkarte gegen eine PCI-Soundkarte getauscht wird. Insbesondere wenn die ISA-Soundkarte von OS/2 direkt unterstützt wurde, fehlte eine Deinstallationsroutine. Aber auch andere, externe Treiber bringen nicht immer eine funktionierende Deinstallationsroutine mit, so daß am Ende außer dem Entfernen von MMPM/2 keine Alternative blieb. Besonders problematisch erwies sich dabei eCS 1.0x, da bei vielen Installationen ein entsprechender Menüeintrag "MMPM/2 entfernen" nicht vorhanden war - ob es alle eCS Versionen/Installationen betrifft, ist unklar. Möglicherweise ist der Autor auch der einzige, der ein solches System hat. Jedoch, die Deinstallation des MMPM/2-Systems ist natürlich mit einer Menge zusätzlicher Arbeit verbunden. Müssen doch anschließend nach erfolgter Neuinstallation die diversen Multimedia-Plugins der Browser neuinstalliert werden, ebenso wie alle anderen MMPM/2-spezifischen Erweiterungen.

Mit der Bearbeitung einer bestehenden MMPM2.INI zur Vorbereitung der Installation einer neuen Soundkarte oder besser der Installation eines neuen Treibers kann nun das Entfernen von MMPM/2 vermieden werden. Sollten die hier angegebenen Lösungsschritte nicht zum Erfolg führen - MMPM/2 können Sie anschließend immer noch entfernen und neu installieren.

Dieser Artikel enthält Beispiele zu 6 verschiedenen Soundkarten - einige dieser MMPM2.INI'S wurden mir von Robert Fuchs zur Verfügung gestellt und stammen zum Teil auch von Mitgliedern des Team OS/2 Ruhr e.V. An dieser Stelle vielen Dank für die Unterstützung!

Durch die Vielzahl an Beispielen ist der Artikel nicht sehr flüssig zu lesen, jedoch hat jedes der Beispiele gewisse Strukturmerkmale, die auch auf andere Soundkartentreiber, die nicht genannt sind, zutreffen und somit deren Identifizierung vereinfachen können.

Aufbau der MMPM2.INI mit den relevanten Einträgen für die Soundkarten

Die Inhalte der MMPM2.INI sind in einer anderen Schriftart dargestellt als Kommentare und weiterer Text. Die Reihenfolge der Einträge/Sektionen kann von der hier gefundenen abweichen. Sektionen beginnen immer mit einem Begriff in eckigen Klammern [abcxyz] und enden mit der nächsten Sektion. Dieser Aufbau ist eigentlich typisch für ASCII-Steuerdateien.

Soundkartenunabhängige Einträge

[systemvalues]
closedcaption=0
mastervolume=100
headphones=1
speakers=1
workpath=C:\MMOS2
qosvalue=65537
qoserrorflag=2

Als "workpath" können andere Pfade angegeben sein. Wichtig ist dabei nur, daß der Pfad bzw. das Verzeichnis auch vorhanden ist!

[IBMDIGVIDPLAYER01]
VERSIONNUMBER=1.2
PRODUCTINFO=Software Motion Video
MCDDRIVER=SVMC
MCDTABLE=MDM
RESOURCENAME=VIDEO PLAYER01
DEVICEFLAG=1
DEVICETYPE=12
SHARETYPE=3
RESOURCEUNITS=10
RESOURCECLASSES=2,10,1
CONNECTORS=1,3,,1
EXTNAMES=5,AVI,FLC,FLI,MOV,QT
EATYPES=Digital Video
ALIASNAME=DigitalVideo Player

[SPEAKER]
VERSIONNUMBER=1
PRODUCTINFO=SPEAKER
RESOURCENAME=SPEAKER
DEVICEFLAG=2
DEVICETYPE=13
SHARETYPE=1
RESOURCEUNITS=0
RESOURCECLASSES=1,1
CONNECTORS=1,15,,0

[HEADPHONE]
VERSIONNUMBER=1
PRODUCTINFO=HEADPHONE
RESOURCENAME=HEADPHONE
DEVICEFLAG=2
DEVICETYPE=14
SHARETYPE=1
RESOURCEUNITS=0
RESOURCECLASSES=1,1
CONNECTORS=1,15,,0

[MICROPHONE]
VERSIONNUMBER=1
PRODUCTINFO=MICROPHONE
RESOURCENAME=MICROPHONE
DEVICEFLAG=2
DEVICETYPE=15
SHARETYPE=1
RESOURCEUNITS=0
RESOURCECLASSES=1,1
CONNECTORS=1,16,,0

[IBMFILTER01]
VERSIONNUMBER=2.0
PRODUCTINFO=IBM Mapper
MCDDRIVER=FILTMCD
VSDDRIVER=IBMMAP
MCDTABLE=MDM
RESOURCENAME=Filter1
DEVICEFLAG=2
DEVICETYPE=18
SHARETYPE=3
RESOURCEUNITS=10
RESOURCECLASSES=1,1
PARMSTRING=Mapper
ALIASNAME=MAPPER

[IBMFILTER02]
VERSIONNUMBER=2.0
PRODUCTINFO=IMA CODEC
MCDDRIVER=FILTMCD
VSDDRIVER=IMAFILT
MCDTABLE=MDM
RESOURCENAME=Filter2
DEVICEFLAG=2
DEVICETYPE=18
SHARETYPE=3
RESOURCEUNITS=10
RESOURCECLASSES=1,1
PARMSTRING=IMAADPCMFilter
ALIASNAME=IMACODEC

[IBMFILTER03]
VERSIONNUMBER=2.0
PRODUCTINFO=Microsoft CODEC
MCDDRIVER=FILTMCD
VSDDRIVER=MSFILT
MCDTABLE=MDM
RESOURCENAME=Filter3
DEVICEFLAG=2
DEVICETYPE=18
SHARETYPE=3
RESOURCEUNITS=10
RESOURCECLASSES=1,1
PARMSTRING=MSADPCMFilter
ALIASNAME=MSCODEC

[IBMMPEGPLAYER01]
VERSIONNUMBER=1.2
PRODUCTINFO=OpenMPEG Video
MCDDRIVER=DVMC
MCDTABLE=MDM
RESOURCENAME=OpenMPEG01
DEVICEFLAG=5
DEVICETYPE=12
SHARETYPE=3
RESOURCEUNITS=10
RESOURCECLASSES=2,10,1
CONNECTORS=1,3,,1
EXTNAMES=7,MPG,VBS,DAT,M2P,CDI,M2T,M1T
ALIASNAME=OpenMPEG Video 2

[IBMCDAUDIO01]
VERSIONNUMBER=2.0
PRODUCTINFO=IBMCDAUDIO
MCDDRIVER=CDAUDIO
VSDDRIVER=GENCDVSD
PDDNAME=CDROM
MCDTABLE=MDM
RESOURCENAME=CD1
DEVICEFLAG=1
DEVICETYPE=3
SHARETYPE=2
RESOURCEUNITS=1
RESOURCECLASSES=1,1
PARMSTRING=Drive=1
CONNECTORS=1,6,HEADPHONE,1
ALIASNAME=Compact Disc

[IBMCDAUDIO02]
VERSIONNUMBER=2.0
PRODUCTINFO=IBMCDAUDIO
MCDDRIVER=CDAUDIO
VSDDRIVER=GENCDVSD
PDDNAME=CDROM
MCDTABLE=MDM
RESOURCENAME=CD2
DEVICEFLAG=1
DEVICETYPE=3
SHARETYPE=2
RESOURCEUNITS=1
RESOURCECLASSES=1,1
PARMSTRING=Drive=2
CONNECTORS=1,6,HEADPHONE,1
ALIASNAME=CD 2

Folgender Eintrag verdeutlicht bereits den einfachen Aufbau der MMPM2.INI:
in diesem Abschnitt wird der Digital Video Encoder beschrieben, der in der Sektion [drivers] (folgt weiter unten) in der Zeile "Digitalvideo" auftaucht.

[IBMDIGVIDENC01]
VERSIONNUMBER=1.21J
PRODUCTINFO=Hauppauge WinCast TV
MCDDRIVER=SVMC
VSDDRIVER=VIDVCI
PDDNAME=WCAST 1$
MCDTABLE=MDM
RESOURCENAME=Wcast01
DEVICEFLAG=1
DEVICETYPE=12
SHARETYPE=3
RESOURCEUNITS=10
RESOURCECLASSES=2,10,1
CONNECTORS=1,3,,1
ALIASNAME=Wcast 3

Der nächste Abschnitt listet alle vorhandenen Treiber auf und ist der wichtigste Abschnitt, da er die Begriffe und Namen aufzeigt, die im weiteren zur Bearbeitung benötigt werden.

[drivers]
Digitalvideo=IBMDIGVIDPLAYER01,IBMMPEGPLAYER01,IBMDIGVIDENC01
Speaker=SPEAKER
Headphone=HEADPHONE
Microphone=MICROPHONE
Filter=IBMFILTER01,IBMFILTER02,IBMFILTER03
CDaudio=IBMCDAUDIO01,IBMCDAUDIO02
CDXA=IBMCD0XA_1

Je nach vorhandener Hardware, können auch weniger oder mehr CD-Audioeinheiten gelistet sein. Es können Player fehlen oder weitere vorhanden sein. Sowohl die aufgeführten Filter als auch CD-Audioeinheiten sollten auch vorhanden sein. D.h. jeder Filter muß in der MMPM2.INI beschrieben sein, ebenso wie CD-Audiogeräte, welche natürlich auch hardwareseitig vorhanden sein sollten!

Nachfolgende Einträge (immer noch in der Sektion [drivers]) verweisen auf die installierte Soundkarte!

ProAudioSpectrum 16

Waveaudio=IBMWAVEPAS1601
Sequencer=IBMSEQPAS1601
Ampmix=IBMAMPMIXPAS1601

Unabhängig vom gewählten Beispiel stehen in diesen 3 Zeilen alle installierten Treiber und Kontrolleinheiten sowie Regel-/Mixereinheiten. Unter Sequencer und Ampmix sind auch mehrere Einträge möglich.

Aureal Vortex AU8820

Waveaudio=AURVORTEXWAVE01
Ampmix=AURVORTEXAMPMIX01,AURWTAMPMIX01,AURMPUAMPMIX01
Sequencer=AURVORTEXWT01,AURVORTEXMPU40101

WaveAudio (Crystal-Chipsatz)

Waveaudio=IBMWaveBusAudio01
Ampmix=IBMAmpMixBusAudio01,IBMAMPMIXMPU40101
Sequencer=IBMSEQMPU40101

Soundblaster Live

Waveaudio=SBLIVEWAVE01
Ampmix=SBLIVEAMPMIX01
Sequencer=DOCTiMidity01

Soundblaster AWE32

Waveaudio=IBMWAVESB01
Ampmix=IBMAMPMIXSB01,IBMAMPMIXMPU40101
Sequencer=IBMSEQSB01,IBMSEQMPU40101

Yamaha M724

Waveaudio=IBMWAVEYMF01
Sequencer=IBMSEQYMF01
Ampmix=IBMAMPMIXYMF01

Wichtig! Bevor diese Einträge bearbeitet werden: die Treibernamen verweisen auf weitere Sektionen in der MMPM2.INI.

Man sollte daher zuerst die Sektionen lokalisieren und bearbeiten. Danach können die drei vorgenannten Einträge modifiziert oder gelöscht werden.

Ebenfalls wichtig: Die Wave- und Sequencersektionen werden meist zusätzlich mit dem Zusatz PLAY und einmal mit Zusatz RECORD aufgeführt. Insgesamt kann damit sowohl der Waveaudiotreiber als auch der Sequencer bis zu 3mal in der MMPM2.INI auftauchen. Die Anordnung der Einträge kann auch von den Beispielen abweichen. Wichtig sind jedoch immer die Zeilen für Waveaudio, Sequencer und Ampmix.

Soundkartenabhängige Einträge

Im folgenden nun die Soundkartenspezifischen Einträge, entsprechend der obigen Beispiele.

Waveaudiodrivers

ProAudioSpectrum 16

[IBMWAVEPAS1601]
VERSIONNUMBER=2.0
PRODUCTINFO=Pro AudioSpectrum 16
MCDDRIVER=AUDIOMCD
VSDDRIVER=AUDIOIF
PDDNAME=PAS161$
MCDTABLE=MDM
RESOURCENAME=ProAudioSpecW01
DEVICEFLAG=1
DEVICETYPE=7
SHARETYPE=3
RESOURCEUNITS=1
RESOURCECLASSES=1,1
CONNECTORS=1,3,IBMAMPMIXPAS1601,1
PARMSTRING=FORMAT=1,SAMPRATE=22050,BPS=16,CHANNELS=1,DIRECTION=PLAY
EXTNAMES=7,WAV,_AU,VOC,AU,SND,AIF,IFF
EATYPES=Digital Audio
ALIASNAME=Digital Audio

[IBMWAVEPAS1601-PLAY]
NUMDEVICES=1
NUMCONNECTIONS=1
DEVICE01=AMPMIX
CONNECTION01=0,3,1,1,3,1

[IBMWAVEPAS1601-RECORD]
NUMDEVICES=1
NUMCONNECTIONS=1
DEVICE01=AMPMIX
CONNECTION01=1,3,1,0,3,1

Aureal Vortex AU8820

[AURVORTEXWAVE01]
VERSIONNUMBER=0.1.3
PRODUCTINFO=Aureal Vortex AU8820
MCDDRIVER=AUDIOMCD
VSDDRIVER=AUDIOIF
PDDNAME=ASPOS21$
MCDTABLE=MDM
RESOURCENAME=AurealWave01
DEVICEFLAG=1
DEVICETYPE=7
SHARETYPE=3
RESOURCEUNITS=17
RESOURCECLASSES=1,1
CONNECTORS=1,3,AURVORTEXAMPMIX01,1
PARMSTRING=FORMAT=1,SAMPRATE=22050,BPS=8,CHANNELS=1,DIRECTION=PLAY
EXTNAMES=1,WAV
EATYPES=Digital Audio
ALIASNAME=Digital Audio

[AURVORTEXWAVE01-PLAY]
NUMDEVICES=1
NUMCONNECTIONS=1
DEVICE01=AMPMIX
CONNECTION01=0,3,1,1,3,1

[AURVORTEXWAVE01-RECORD]
NUMDEVICES=1
NUMCONNECTIONS=1
DEVICE01=AMPMIX
CONNECTION01=1,3,1,0,3,1

Wie bereits eingangs erwähnt, taucht der Waveaudiotreiber dreimal auf. Zur vollständigen Entfernung müssen also alle drei Sektionen gelöscht werden. Ebenfalls gut erkennbar ist, daß über die Zeile CONNECTORS der Zugriff auf den AMPMIX festgelegt wird.

WaveAudio (Crystal-Chipsatz)

[IBMWaveBusAudio01]
VERSIONNUMBER=1.76.
PRODUCTINFO=Crystal Audio
MCDDRIVER=AUDIOMCD
VSDDRIVER=AUDIOIF
PDDNAME=BSAUD1$
MCDTABLE=MDM
RESOURCENAME=BusAudioW01
DEVICEFLAG=1
DEVICETYPE=7
SHARETYPE=3
RESOURCEUNITS=2
RESOURCECLASSES=2,1,2
VALIDCOMBINATIONS=1,2,2,1
CONNECTORS=1,3,IBMAmpMixBusAudio01,1
PARMSTRING=FORMAT=1,SAMPRATE=22050,BPS=16,CHANNELS=2,DIRECTION=PLAY
EXTNAMES=4,WAV,VOC,OGG,MP3
EATYPES=Digital Audio,
ALIASNAME=Digital Audio

[IBMWaveBusAudio01-PLAY]
NUMDEVICES=1
NUMCONNECTIONS=1
DEVICE01=AMPMIX
CONNECTION01=0,3,1,1,3,1

[IBMWaveBusAudio01-RECORD]
NUMDEVICES=1
NUMCONNECTIONS=1
DEVICE01=AMPMIX
CONNECTION01=1,3,1,0,3,1

Soundblaster Live

[SBLIVEWAVE01]
VERSIONNUMBER=0.8.0
PRODUCTINFO=SoundBlaster Live! Wave Audio
MCDDRIVER=AUDIOMCD
VSDDRIVER=AUDIOIF
PDDNAME=SBLIVE1$
MCDTABLE=MDM
RESOURCENAME=SBLiveWave01
DEVICEFLAG=1
DEVICETYPE=7
SHARETYPE=3
RESOURCEUNITS=33
RESOURCECLASSES=2,32,1
VALIDCOMBINATIONS=1,2,2,1
CONNECTORS=1,3,SBLIVEAMPMIX01,1
PARMSTRING=FORMAT=1,SAMPRATE=22050,BPS=8,CHANNELS=1,DIRECTION=PLAY
EXTNAMES=1,WAV
EATYPES=Digital Audio
ALIASNAME=Digital Audio

[SBLIVEWAVE01-PLAY]
NUMDEVICES=1
NUMCONNECTIONS=1
DEVICE01=AMPMIX
CONNECTION01=0,3,1,1,3,1

[SBLIVEWAVE01-RECORD]
NUMDEVICES=1
NUMCONNECTIONS=1
DEVICE01=AMPMIX
CONNECTION01=1,3,1,0,3,1

Soundblaster AWE32

[IBMWAVESB01]
VERSIONNUMBER=1.1
PRODUCTINFO=Sound Blaster AWE32
MCDDRIVER=AUDIOMCD
VSDDRIVER=SBAWEVSD
PDDNAME=SBAUD1$
MCDTABLE=MDM
RESOURCENAME=SoundBlasterW01
DEVICEFLAG=1
DEVICETYPE=7
SHARETYPE=3
RESOURCEUNITS=1
RESOURCECLASSES=1,1
CONNECTORS=1,3,IBMAMPMIXSB01,1
PARMSTRING=FORMAT=1,SAMPRATE=22050,BPS=16,CHANNELS=2,DIRECTION=PLAY
EXTNAMES=2,WAV,VOC
EATYPES=Digital Audio
ALIASNAME=Digital Audio

[IBMWAVESB01-PLAY]
NUMDEVICES=1
NUMCONNECTIONS=1
DEVICE01=AMPMIX
CONNECTION01=0,3,1,1,3,1

[IBMWAVESB01-RECORD]
NUMDEVICES=1
NUMCONNECTIONS=1
DEVICE01=AMPMIX
CONNECTION01=1,3,1,0,3,1

Yamaha M724

[IBMWAVEYMF01]
VERSIONNUMBER=2.0
PRODUCTINFO=YM724
MCDDRIVER=AUDIOMCD
VSDDRIVER=AUDIOIF
PDDNAME=YM7241$
MCDTABLE=MDM
RESOURCENAME=YmfW01
DEVICEFLAG=1
DEVICETYPE=7
SHARETYPE=3
RESOURCEUNITS=1
RESOURCECLASSES=1,1
CONNECTORS=1,3,IBMAMPMIXYMF01,1
PARMSTRING=FORMAT=1,SAMPRATE=22050,BPS=16,CHANNELS=1,DIRECTION=PLAY
EXTNAMES=1,WAV
EATYPES=Digital Audio
ALIASNAME=Digital Audio

[IBMWAVEYMF01-PLAY]
NUMDEVICES=1
NUMCONNECTIONS=1
DEVICE01=Ampmix01
CONNECTION01=0,3,1,1,3,1

[IBMWAVEYMF01-RECORD]
NUMDEVICES=1
NUMCONNECTIONS=1
DEVICE01=Ampmix01
CONNECTION01=1,3,1,0,3,1

Mit diesen Einträgen sind alle Einstellungen und Referenzen der Soundkarte in Bezug auf WaveAudio erfaßt. Werden diese gelöscht, steht auch kein Sound mehr zur Verfügung. Der Soundkartentreiber ist damit jedoch noch nicht deinstalliert, da ja noch der Sequencer und der Ampmix ausstehen.

Wie man an den Beispielen sehen kann, sind die Einstellungen der alten ISA-Karten durchaus nicht antiquierter als die der neueren PCI-Karten. Die AWE32 kommt neben der WaveAudio (Crystal Chipsatz) als einzige Karte in den Beispielen mit 2 Kanälen als Standard. Und selbst die Standardeinstellungen der steinalten PAS16 müssen sich nicht hinter denen des Aureal-Chipsatzes oder der Soundblaster Live verstecken.

Amplifier (Verstärker)/Mixer

Es folgen nun die Beispiele für die Abschnitte AMPMIX.

ProAudioSpectrum 16

[IBMAMPMIXPAS1601]
VERSIONNUMBER=2.0
PRODUCTINFO=Pro AudioSpectrum 16
MCDDRIVER=AMPMXMCD
VSDDRIVER=AUDIOIF
PDDNAME=PAS161$
MCDTABLE=MDM
RESOURCENAME=ProAudioSpecA01
DEVICEFLAG=2
DEVICETYPE=9
SHARETYPE=3
RESOURCEUNITS=2
RESOURCECLASSES=2,1,1
VALIDCOMBINATIONS=1,2,2,1
CONNECTORS=5,4,,0,9,,0,8,,0,10,,0,7,,0
PARMSTRING=TREBLE=50,BASS=50,PITCH=50,GAIN=70,BALANCE=50,VOL=70,INPUT=MIC,OUTPUT=SPEAKER,RESOURCEDLL=AUDIOIF,RCID=5

Aureal Vortex AU8820

[AURVORTEXAMPMIX01]
VERSIONNUMBER=0.1.3
PRODUCTINFO=Aureal Vortex AU8820
MCDDRIVER=AMPMXMCD
VSDDRIVER=AUDIOIF
PDDNAME=ASPOS21$
MCDTABLE=MDM
RESOURCENAME=AurealAmpMixer01
DEVICEFLAG=2
DEVICETYPE=9
SHARETYPE=3
RESOURCEUNITS=17
RESOURCECLASSES=2,16,1
VALIDCOMBINATIONS=1,2,2,1
CONNECTORS=5,4,,0,9,,0,8,,0,10,,0,7,,0
PARMSTRING=BALANCE=50,VOL=100,INPUT=LINE,OUTPUT=SPEAKER

[AURWTAMPMIX01]
VERSIONNUMBER=0.1.3
PRODUCTINFO=Aureal Vortex AU8820 Wavetable
MCDDRIVER=AMPMXMCD
VSDDRIVER=AUDIOIF
PDDNAME=ASPOS21$
MCDTABLE=MDM
RESOURCENAME=AurealWtMixer01
DEVICEFLAG=2
DEVICETYPE=9
SHARETYPE=3
RESOURCEUNITS=1
RESOURCECLASSES=1,1
CONNECTORS=5,4,,0,9,,0,8,,0,10,,0,7,,0
PARMSTRING=BALANCE=50,VOL=100,INPUT=LINE,OUTPUT=SPEAKER

[AURMPUAMPMIX01]
VERSIONNUMBER=0.1.3
PRODUCTINFO=Aureal Vortex AU8820 MPU-401
MCDDRIVER=AMPMXMCD
VSDDRIVER=AUDIOIF
PDDNAME=ASPOS31$
MCDTABLE=MDM
RESOURCENAME=AurealMpuMixer01
DEVICEFLAG=2
DEVICETYPE=9
SHARETYPE=3
RESOURCEUNITS=1
RESOURCECLASSES=1,1
CONNECTORS=5,4,,0,9,,0,8,,0,10,,0,7,,0
PARMSTRING=BALANCE=50,VOL=100,INPUT=LINE,OUTPUT=SPEAKER

WaveAudio (Crystal-Chipsatz)

[IBMAmpMixBusAudio01]
VERSIONNUMBER=1.76.
PRODUCTINFO=Crystal Audio
MCDDRIVER=AMPMXMCD
VSDDRIVER=AUDIOIF
PDDNAME=BSAUD1$
MCDTABLE=MDM
RESOURCENAME=BusAudioA01
DEVICEFLAG=2
DEVICETYPE=9
SHARETYPE=3
RESOURCEUNITS=2
RESOURCECLASSES=2,1,2
VALIDCOMBINATIONS=1,2,2,1
CONNECTORS=5,4,,0,9,,0,8,,0,10,,0,7,,0
PARMSTRING=TREBLE=50,BASS=50,PITCH=50,GAIN=70,BALANCE=50,VOL=75,INPUT=LINE,OUTPUT=SPEAKER,RESOURCEDLL=BSAUDRES,RCID=8

[IBMAMPMIXMPU40101]
VERSIONNUMBER=2.0.0
PRODUCTINFO=MPU-401
MCDDRIVER=AMPMXMCD
VSDDRIVER=AUDIOIF
PDDNAME=MPU4011$
MCDTABLE=MDM
RESOURCENAME=MPU-401AMPMIX01
DEVICEFLAG=2
DEVICETYPE=9
SHARETYPE=3
RESOURCEUNITS=1
RESOURCECLASSES=1,1
CONNECTORS=2,4,,0,14,,0
PARMSTRING=TREBLE=50,BASS=50,PITCH=50,GAIN=70,BALANCE=50,VOL=100,INPUT=LINE,OUTPUT=SPEAKER,RESOURCEDLL=MPU401,RCID=9

Soundblaster Live

[SBLIVEAMPMIX01]
VERSIONNUMBER=0.8.0
PRODUCTINFO=SoundBlaster Live! Wave Audio
MCDDRIVER=AMPMXMCD
VSDDRIVER=AUDIOIF
PDDNAME=SBLIVE1$
MCDTABLE=MDM
RESOURCENAME=SBLiveAmpMixer01
DEVICEFLAG=2
DEVICETYPE=9
SHARETYPE=3
RESOURCEUNITS=33
RESOURCECLASSES=2,32,1
VALIDCOMBINATIONS=1,2,2,1
CONNECTORS=5,4,,0,9,,0,8,,0,10,,0,7,,0
PARMSTRING=BALANCE=50,VOL=100,INPUT=LINE,GAIN=70,OUTPUT=SPEAKER

Soundblaster AWE32

[IBMAMPMIXSB01]
VERSIONNUMBER=1.1
PRODUCTINFO=Sound Blaster AWE32
MCDDRIVER=AMPMXMCD
VSDDRIVER=SBAWEVSD
PDDNAME=SBAUD1$
MCDTABLE=MDM
RESOURCENAME=SoundBlasterA01
DEVICEFLAG=2
DEVICETYPE=9
SHARETYPE=3
RESOURCEUNITS=2
RESOURCECLASSES=2,1,1
VALIDCOMBINATIONS=1,2,2,1
CONNECTORS=5,4,,0,9,,0,8,,0,10,,0,7,,0
PARMSTRING=TREBLE=75,BASS=75,PITCH=50,GAIN=50,BALANCE=50,VOL=100,INPUT=MIC,OUTPUT=SPEAKER,RESOURCEDLL=SBAWEVSD,RCID=4

[IBMAMPMIXMPU40101]
VERSIONNUMBER=2.0.0
PRODUCTINFO=MPU-401
MCDDRIVER=AMPMXMCD
VSDDRIVER=AUDIOIF
PDDNAME=MPU4011$
MCDTABLE=MDM
RESOURCENAME=MPU-401AMPMIX01
DEVICEFLAG=2
DEVICETYPE=9
SHARETYPE=3
RESOURCEUNITS=1
RESOURCECLASSES=1,1
CONNECTORS=2,4,,0,14,,0
PARMSTRING=TREBLE=50,BASS=50,PITCH=50,GAIN=70,BALANCE=50,VOL=100,INPUT=LINE,OUTPUT=SPEAKER,RESOURCEDLL=MPU401,RCID=9

Yamaha M724

[IBMAMPMIXYMF01]
VERSIONNUMBER=2.0
PRODUCTINFO=YM724
MCDDRIVER=AMPMXMCD
VSDDRIVER=AUDIOIF
PDDNAME=YM7241$
MCDTABLE=MDM
RESOURCENAME=YmfA01
DEVICEFLAG=2
DEVICETYPE=9
SHARETYPE=3
RESOURCEUNITS=2
RESOURCECLASSES=2,1,1
VALIDCOMBINATIONS=1,2,2,1
CONNECTORS=5,4,,0,9,,0,8,,0,10,,0,7,,0
PARMSTRING=TREBLE=75,BASS=75,PITCH=50,GAIN=70,BALANCE=50,VOL=100,INPUT=LINE,OUTPUT=SPEAKER,RESOURCEDLL=AUDIOIF,RCID=4

Der Aufbau der Sektion AMPMIX ist letztlich immer gleich. Zusammen mit der Sektion [systemvalues] lassen sich die Lautstärke, die Balance, Bässe, Höhen usw. zur Not auch ohne GUI-Mixer manipulieren. Jedenfalls sind diese Einträge einen Blick wert, wenn der Sound nur noch ganz dünn kommt.

Sequencer

Die nächste und vorerst letzte Sektion ist der Sequencer. Wie schon erwähnt, sind meist mehrere Sektionen SEQUENCER möglich.

Es folgen nun die Beispiele für die Sektion SEQUENCER.

ProAudioSpectrum 16

[IBMSEQPAS1601]
VERSIONNUMBER=2.0
PRODUCTINFO=Pro AudioSpectrum 16
MCDDRIVER=MIDIMCD
VSDDRIVER=AUDIOIF
PDDNAME=PAS161$
MCDTABLE=MDM
RESOURCENAME=ProAudioSpecS01
DEVICEFLAG=1
DEVICETYPE=8
SHARETYPE=3
RESOURCEUNITS=1
RESOURCECLASSES=1,1
CONNECTORS=1,1,IBMAMPMIXPAS1601,1
PARMSTRING=CHANNELS=1111111111111111 MIDITYPE=General MIDI
EXTNAMES=1,MID
EATYPES=MIDI
ALIASNAME=MIDI

[IBMSEQPAS1601-PLAY]
NUMDEVICES=1
NUMCONNECTIONS=1
DEVICE01=AMPMIX
CONNECTION01=0,1,1,1,4,1

Aureal Vortex AU8820

[AURVORTEXWT01]
VERSIONNUMBER=0.1.3
PRODUCTINFO=Aureal Vortex AU8820 Wavetable
MCDDRIVER=MIDIMCD
VSDDRIVER=AUDIOIF
PDDNAME=ASPOS21$
MCDTABLE=MDM
RESOURCENAME=AurealWavetable01
DEVICEFLAG=1
DEVICETYPE=8
SHARETYPE=3
RESOURCEUNITS=1
RESOURCECLASSES=1,1
CONNECTORS=1,1,AURWTAMPMIX01,1
PARMSTRING=CHANNELS=1111111111111111 MIDITYPE=General MIDI
EXTNAMES=1,MID
EATYPES=MIDI
ALIASNAME=MIDI

[AURVORTEXWT01-PLAY]
NUMDEVICES=1
NUMCONNECTIONS=1
DEVICE01=AMPMIX02
CONNECTION01=0,1,1,1,4,1

[AURVORTEXMPU40101]
VERSIONNUMBER=0.1.3
PRODUCTINFO=Aureal Vortex AU8820 MPU-401
MCDDRIVER=MIDIMCD
VSDDRIVER=AUDIOIF
PDDNAME=ASPOS31$
MCDTABLE=MDM
RESOURCENAME=AurealMPU40101
DEVICEFLAG=1
DEVICETYPE=8
SHARETYPE=3
RESOURCEUNITS=1
RESOURCECLASSES=1,1
CONNECTORS=1,1,AURMPUAMPMIX01,1
PARMSTRING=CHANNELS=1111111111111111 MIDITYPE=General MIDI
ALIASNAME=MIDI 2

[AURVORTEXMPU40101-PLAY]
NUMDEVICES=1
NUMCONNECTIONS=1
DEVICE01=AMPMIX03
CONNECTION01=0,1,1,1,4,1

WaveAudio (Crystal-Chipsatz)

[IBMSEQMPU40101]
VERSIONNUMBER=2.0.0
PRODUCTINFO=MPU-401
MCDDRIVER=MIDIMCD
VSDDRIVER=AUDIOIF
PDDNAME=MPU4011$
MCDTABLE=MDM
RESOURCENAME=MPU-401SEQ01
DEVICEFLAG=1
DEVICETYPE=8
SHARETYPE=3
RESOURCEUNITS=1
RESOURCECLASSES=1,1
CONNECTORS=1,1,IBMAMPMIXMPU40101,1
PARMSTRING=CHANNELS=1111111111111111, MIDITYPE=General MIDI
EXTNAMES=1,MID
EATYPES=MIDI
ALIASNAME=MIDI

[IBMSEQMPU40101-PLAY]
NUMDEVICES=1
NUMCONNECTIONS=1
DEVICE01=AMPMIX02
CONNECTION01=0,1,1,1,4,1

Soundblaster Live

[DOCTiMidity01]
VERSIONNUMBER=2.10.
PRODUCTINFO=TiMidity 2.10.4
MCDDRIVER=TIMIDITY
MCDTABLE=MDM
RESOURCENAME=TiMidity01
DEVICEFLAG=1
DEVICETYPE=8
SHARETYPE=1
RESOURCEUNITS=1
RESOURCECLASSES=1,1
ALIASNAME=TiMidity
EXTNAMES=2,MID,MOD

Soweit TiMidity eine Deinstallationsroutine besitzt, sollte diese auch verwendet werden!

Soundblaster AWE32

[IBMSEQSB01]
VERSIONNUMBER=1.1
PRODUCTINFO=SoundBlaster AWE32
MCDDRIVER=MIDIMCD
VSDDRIVER=SBAWEVSD
PDDNAME=SBAUD1$
MCDTABLE=MDM
RESOURCENAME=SoundBlasterS01
DEVICEFLAG=1
DEVICETYPE=8
SHARETYPE=3
RESOURCEUNITS=1
RESOURCECLASSES=1,1
CONNECTORS=1,1,IBMAMPMIXSB01,1
PARMSTRING=CHANNELS=1111111111111111, MIDITYPE=Soundblaster
EXTNAMES=1,MID
EATYPES=MIDI
ALIASNAME=MIDI

[IBMSEQSB01-PLAY]
NUMDEVICES=1
NUMCONNECTIONS=1
DEVICE01=AMPMIX
CONNECTION01=0,1,1,1,4,1

[IBMSEQMPU40101]
VERSIONNUMBER=2.0.0
PRODUCTINFO=MPU-401
MCDDRIVER=MIDIMCD
VSDDRIVER=AUDIOIF
PDDNAME=MPU4011$
MCDTABLE=MDM
RESOURCENAME=MPU-401SEQ01
DEVICEFLAG=1
DEVICETYPE=8
SHARETYPE=3
RESOURCEUNITS=1
RESOURCECLASSES=1,1
CONNECTORS=1,1,IBMAMPMIXMPU40101,1
PARMSTRING=CHANNELS=1111111111111111, MIDITYPE=General MIDI
ALIASNAME=MIDI2

[IBMSEQMPU40101-PLAY]
NUMDEVICES=1
NUMCONNECTIONS=1
DEVICE01=AMPMIX02
CONNECTION01=0,1,1,1,4,1

Yamaha M724

[IBMSEQYMF01]
VERSIONNUMBER=2.0
PRODUCTINFO=YM724
MCDDRIVER=MIDIMCD
VSDDRIVER=AUDIOIF
PDDNAME=YM7241$
MCDTABLE=MDM
RESOURCENAME=YmfS01
DEVICEFLAG=1
DEVICETYPE=8
SHARETYPE=3
RESOURCEUNITS=1
RESOURCECLASSES=1,1
CONNECTORS=1,1,IBMAMPMIXYMF01,1
PARMSTRING=MIDITYPE=General MIDI 16 CHANNELS=1111111111111111
EXTNAMES=1,MID
EATYPES=MIDI
ALIASNAME=MIDI

[IBMSEQYMF01-PLAY]
NUMDEVICES=1
NUMCONNECTIONS=1
DEVICE01=Ampmix01
CONNECTION01=0,1,1,1,4,1

Default Names

Bei einigen Installationen findet sich noch eine weitere Sektion: [default names]. Diese Sektion kann, muß aber nicht vorhanden sein.

ProAudioSpectrum 16

[defaultnames]
Waveaudio=IBMWAVEPAS1601

Soundblaster Live

[defaultnames]
CDaudio=IBMCDAUDIO01

Dieser Eintrag dürfte nur in solchen Fällen zu finden sein, in denen eine bestimmte Einheit als bevorzugte Einheit definiert wurde. Falls eine Soundkarte deinstalliert werden soll, ist dieser Abschnitt zu suchen, da er ungültige Verweise enthalten kann. Nicht alle Einträge unter [defaultnames] müssen soundkartenspezifisch sein (siehe Soundblaster Live). Es sollten dann auch nur die Einträge bearbeitet/gelöscht werden, die auf die Soundkarte verweisen.

Anhand der oben gezeigten Beispiele sollte es nun möglich sein, in der MMPM2.INI die soundkartenspezifischen Einträge zu finden, auch wenn eine ganz andere Karte im Einsatz ist, als in den Beispielen aufgezeigt.

MMPM/2 scheint durchaus in der Lage zu sein, fehlende oder unvollständige Einträge zu ergänzen. Wird nur ein Eintrag übersehen, so kann es passieren, daß beim nächsten Neustart die MMPM2.INI wieder mit den alten Einträgen initialisiert wird.

Bearbeiten der MMPM2.INI

Zur Bearbeitung der MMPM2.INI bieten sich neben dem Editor E, dem erweiterten E oder Tedit natürlich auch die üblichen INI-Editoren, wie z.B. in Gorans INI Tools an, soweit sie mit einfachen Textdateien umgehen können. Denn wie die Beispiele zeigen, ist die MMPM2.INI Plain-ASCII!

Einen Haken hat die Sache aber dennoch: Wie viele INI-Dateien, wird auch die MMPM2.INI beim Systemstart von der WPS geladen und intern in das WPS-eigene Binärformat gewandelt. Erst beim Systemabschluß werden diese Daten wieder zurückgeschrieben. Alle bis dahin vorgenommen Änderungen an der MMPM2.INI werden dann überschrieben.

Somit bleiben nur zwei Möglichkeiten:

  1. Editieren der MMPM2.INI im laufenden Betrieb und mit den ungeliebten Windoze-Tasten <Strg-Alt-Entf> nach dem Speichern der MMPM2.INI einen Warmstart erzwingen. Nach dem nächsten Systemstart sollte man natürlich überprüfen, ob alle Änderungen sauber weggeschrieben wurden.
  2. Die aufwendigere und sichere Möglichkeit ist, über <Alt-F1>, <F2> auf eine Kommandozeile zu booten und MMPM2.INI mit Tedit zu bearbeiten. Der Neustart mit <Strg-Alt-Entf> (bzw. nach der Eingabe von EXIT) ist dann sowieso obligat.

Editieren der MMPM2.INI mit Tedit

Nach dem Booten auf den Prompt wird mit tedit <enter> der tiny editor aufgerufen. Mit der Funktionstaste <F8> und Eingabe der Dateiposition X:\MMOS2\MMPM2.INI ("X" = Bootlaufwerk) wird die zu editierende MMPM2.INI geladen.

Zunächst gilt es, die Treiber zu lokalisieren. Immer noch auf der Befehlszeile im Tedit wird durch L /drivers /c <enter> die Treibersektion gesucht. Nun mit Stift und Papier (oder mit dem Befehl PRINT LPT1 die Datei ausdrucken und die Einträge markieren) die Einträge in der Sektion [drivers] in den Zeilen Waveaudio, Sequencer und Ampmix notieren. Groß- oder Kleinschreibung ist nicht wichtig, nur vollständig muß es sein.

Auf meinem heimischen Rechner werkelte eine PAS16, die mangels Resourcen im ISA-Slot des Epox 8KTA3Pro jedoch weder einen IRQ noch einen DMA zur Verfügung hatte - ein ISA/PCI-shared Slot ist zwar "nützlich" aber letztlich unbenutzbar, wenn alle anderen PCI-Slots ausgelastet sind, da sich der ISA/PCI-shared seine Resourcen mit einem weiteren PCI-Slot teilt - da bleibt für ISA mit Exklusivitätsanspruch nichts übrig.

Die Einträge waren daher (siehe auch die bereits gezeigten Beispiele):

Waveaudio = IBMWAVEPAS1601
Sequencer = IBMSEQPAS1601
Ampmix = IBMAMPMIXPAS1601

Im Tedit auf der Befehlszeile (zwischen Befehlszeile und Datei wechselt man mit <Esc>) wird nun die Suche dieser "Kennwörter" ausgelöst: L /ibmwavepas1601/c <enter> liefert zuerst die Zeile aus der [drivers] Sektion. Diese wird vorerst übersprungen und durch die Tastenkombination <Alt><F> wird der nächste Treffer angezeigt.

Die gefunden Zeile wird sofort mit <Alt><L> markiert. Mit den üblichen Bildlauftasten <Pfeil auf> - <Pfeil ab> wird der Cursor auf die letzte Zeile der gefundenen Sektion gesetzt.

Auch diese Zeile wird mit <Alt><L> markiert. Dadurch ist automatisch die gesamte Sektion markiert.

Mit <Alt><D> wird sie sogleich entfernt.

<Alt><F> liefert den nächsten Treffer. Wie oben beschrieben, <Alt><L>, dann Cursor auf die letzte Zeile der Sektion, <Alt><L>, <Alt><D> und schon ist das Ziel ein wenig näher gerückt.

Dies wird fortgeführt, bis auf <Alt><F> kein Treffer gefunden wird. Nun muß noch der Eintrag aus der Sektion [drivers] gelöscht werden. <Strg><Pos1> führt an den Dateianfang. <Alt><F> findet die Zeile in der Sektion [drivers], <Alt><L> markiert und <Alt><D> löst Probleme.

Dieses Prozedere muß nun für alle Einträge hinter Waveaudio, Sequencer und Ampmix wiederholt werden.

Editieren der MMPM2.INI mit dem INI-Editor 1.10

Als Beispiel dient hier eine Kopie der ursprünglichen MMPM2.INI meines Systems mit einer PAS16.

Nach dem Start zeigt der INI-Editor links die Sektionen als Applications. Im rechten Fenster werden die Keys angezeigt (irgendwie habe ich nicht das richtige Sprachpaket installiert), und im unteren Fenster die Values in ASCII und darunter in Hexadezimal-Notation. Durch diese Art der Darstellung wirkt die MMPM2.INI auch wesentlich aufgeräumter und ist im Aufbau leichter zu überblicken.

Zunächst gilt es also wieder, die Sektion [drivers] ausfindig zu machen. Nachschauen und blättern im linken Fenster führt schnell zum Erfolg.

Anklicken der Application Drivers liefert auf der rechten Seite die gesuchten Einträge Waveaudio, Sequencer und Ampmix.

Auch lassen sich auf der linken Seite die ersten Kandidaten zur Löschung entdecken.

Iniedit_1.png
Abb.1: Ini-Editor

Also, wie gehabt, alle Einträge unter Waveaudio, Sequencer und Ampmix verweisen auf weitere Einträge im linken Applicationsfenster, die es zu löschen gilt. Der hier ausgewählte Sequencereintrag verweist auf den IBMSEQPAS1601. Also sind alle Einträge, die auf IBMSEQPAS1601 lauten, im linken Fenster ausfindig zu machen. "Nachschauen und blättern". Neben dem Eintrag IBMSEQPAS1601 ist auch IBMSEQPAS1601-PLAY auszumachen. Also müssen beide gelöscht werden.

Achten Sie darauf, daß der INI-Editor nicht im Safe-Mode läuft (leicht erkennbar an den "unsichtbaren" Symbolen)!

Der Eintrag IBMSEQPAS1601 wird selektiert und im Menü Application angewählt. Aus dem Dialog wird Delete App ausgewählt, die nachfolgende Anfrage ordnungsgemäß beantwortet, und schon ist der erste Eintrag entfernt.

Mit den anderen Einträgen wird gleichermaßen verfahren.

Iniedit_2.png
Abb.2: Ini-Editor

Zum Schluß sind die Einträge Waveaudio, Sequencer und Ampmix aus der Sektion [drivers] zu entfernen sowie, falls vorhanden, Referenzen in der Sektion [defaultnames].

Das Löschen der Einträge unter Keys verläuft analog zu den Applications.

Der Eintrag unter Keys wird selektiert, im Menü wird Keys ausgewählt, dann im Dialog Delete Key und anschließend die Abfrage mit Ok bestätigt. Der Key ist damit gelöscht.

Nach der Bearbeitung finden sich keine Einträge mehr, die auf die ursprünglich eingebaute Soundkarte ProAudioSpectrum16 verweisen.

Nach dem Entfernen der soundkartenspezifischen Einträge in der CONFIG.SYS (z.B. mit ConfigTool) und einem Neustart des Systems sollte die neue Soundkarte installiert werden können. In meinen System hat eine eingebaute Terratec DMXfire 1024 nach der Treiberinstallation jedenfalls sofort Systemtöne abgespielt.

Wie ich nach der Erstellung der Beschreibung für den TinyEditor bemerkt habe, besteht noch eine abgewandelte Möglichkeit die MMPM2.INI zu editieren, und zwar ohne Neu- oder Warmstart.

Nach Abschluß meiner Aktivitäten habe ich Checkini über das System geschickt, welches nach dem Durchlauf einen WPS-Reset herbeigeführt hat.

Die MMPM2.INI lag anschließend in der gewünschten, modifizierten Version vor.

Statt des Neustarts des Systems reicht also anscheinend ein WPS-Reset völlig aus.

Daher ist insbesondere das Bearbeiten der MMPM2.INI mit einem INI-Editor interessant, da wesentlich komfortabler.

Daten und Quellen:

Artikel "PCI-Soundkarten für OS/2 und eComStation": http://de.os2voice.org/VNL/past_issues_DE/VNL0303H/vnewsf3.htm
Team OS/2 Ruhr e.V.: http://www.teamruhr.de
Timidity: http://www.reamined.on.ca/doconnor/timidity.html
Gorans INI Tools: http://www.os2world.com/goran/initools.htm
ConfigTool: http://www.os2world.com/goran/cfgtool.htm


[Artikelverzeichnis]
editor@os2voice.org
[Vorherige Seite] [Inhaltsverzeichnis] [Nächste Seite]
VOICE Homepage: http://de.os2voice.org