†逆襲のOS/2†
作成開始日 2009.10.02
最終更新日 2021.07.01
M/B | AOpen AK77-600N (SocketA) |
Audio chip | RealTek ALC650 (VIA KT600+VT8235-CD) |
OS | OS/2 Warp 4.52 |
HDD | FAT |
Driver | uniaud11RC6.zip |
このドライバはロングファイル名サポートが大前提。ドライバファイルの中に、「pcmunlock.exe」という9.3文字のファイルがあるため。しかも、このファイルはシステムドライブにコピーされるため、システムドライブがHPFSでないとインストールに失敗する(ひょっとすると、MMOS2をシステムとは別のHPFSドライブにインストールできれば問題ないのかな?)。
対処方法は、「pcmunlock.exe」を「pcmunloc.exe」のように8.3文字に切り詰め、さらに「audfiles.scr」というファイルの中身の「pcmunlock.exe」も「pcmunloc.exe」に書き換えること。これでインストーラは通るようになる。
これによって一応、WAVE音源の再生は可能になった(MIDI音源はサポートしていない模様)。なお、システムサウンドが途中で鳴らなくなるという症状が出た。正常に機能していない可能性もある。しかし、オンチップのオーディオ機能が使えることが判っただけでも大きな収穫。ようやくISAとオサラバできる可能性が出てきた。
システム構成全体はもう少し考えますか……たとえば、DOSからHPFSにアクセスして、VZでCONFIG.SYSがいじれれば、システムドライブはHPFSでも構わないわけだし…:⇒2021.07現在、既にシステムドライブは完全にHPFS化している。が、最初はFATに相当こだわったんだよな…何せトラブル頻発で、ピュアDOSからのメンテが必須だったので。今はレスキュー区画から。
ただし、このUnimixは使い方がちと面倒で、コマンドラインから;
unimix -id2 -cnt0 -val1 unimix -id2 -cnt1 -val1あるいは、
unimix -id25 -cnt0 -val24 unimix -id25 -cnt1 -val24などのように指定する。問題はこの「-id」で、これがサウンドチップの機能番号を意味しているのだが、サウンドチップごとにバラバラで統一されていない。
上の例では「id2」がミュートの解除(?)を意味していて、cnt0/1は左右チャンネル、「-val1」でミュート解除となる。また、下の例では「id25」がボリュームを意味していて、cnt0/1はやはり左右チャンネル、「-val24」が音量を意味している。
問題は、自分の使用してるサウンドチップの機能番号をどうやって知るかだが、一応「unimix -list」で一覧が表示される。
unimix -list Command line mixer for UNIAUD32. Version 1.0 Detected UNIAUD version 2.13 Control ID: 1 Interface: virtual mixer device Device(client): 0, subdevice (substream) 0この一覧を読んで目星を付けるしかないだろう。なお、unimixPMというツールもあり、こちらであれば、より簡単に設定できると思う。ただし、基本的にシステムをブートする度にunimix設定が必要なようなので、コマンドライン版の方が扱いやすい点もある。Name: [Speaker Playback Volume] Index: 0 Element type: integer type Count of values: 2 Value: Bounds: min: 0, max: 64, step: 0 value 0: 48 value 1: 48 Control ID: 2 Interface: virtual mixer device Device(client): 0, subdevice (substream) 0Name: [Speaker Playback Switch] Index: 0 ......