逆襲のOS/2 | (2003.01.21/2006.11.03upd) |
オーディオ・サポート
|
その場合は仕方ないので、PCIのサウンドカードを使うか、オンボードのサウンドチップを使用するしかない。特に、廉価機ではAC'97 Codecのサウンド機能がチップセットに統合されている可能性が高く、これを使いたいこともあるのだが、こいつのサポートが実に貧弱なのだ。ドライバがないのではなく、見つけるのがたいへんなのだ。
【更新/09.10.03】UniAudioドライバ ver.1.1RC6はけっこう使える。AK77-600NのVT8235で動作を確認。以下の記述はこのドライバを試す前のもの。
チップセット | サウンドチップ | 備考 | 動作確認 |
---|---|---|---|
VIA Apollo PLE133 | VT82C686A/B | VIAのHPより入手。Comboドライバの中にある。 | OK? |
VIA Apollo Pro266 | VT8233/33C/33A, VT8235 | Hobbesより入手。Warp 3.xだとCSD必要? | 未確認 |
Intel 810 | SoundMax AD1881 | Suttle ME62のHPより入手 | 未確認 |
Intel 815EG | RealTek ALC201A | RealTekのHPより入手。なぜかWinZipの自己解凍形式(^_^; | OK |
Intel 915G | RealTek ALC880 | uniaudioでサポートしているがインストールすら不能 | ダメ! |
また、上記の表では、サウンドチップとしてサウスブリッジのチップ名を挙げているものもあるが、この中のサウンド部分だけとなると、また別の話で…。PLE133のVT82C686だって、サウンド部分は確かAD1881かALC100Pだったような…。それに、チップセットの場合はサウスブリッジだけ替わることもあるから、たとえば、PLE133なら何でも動くということでもなさそうだし…(そもそもチップセットの名称って、サウスを含む場合とノースのみを指す場合があるからなあ)。ということで、けっこう何だかわかんない状態なのだ。とりあえず、探して試して鳴りました、ということしかないみたいね。
なお、動作を確認しているPLE 133も、OS/2では再生速度がおかしいし、WindowsではCPU負荷が高いことが判明した(ゲームが異様に重くなる)。快適な動作を望むなら、単体のサウンドボードの方が良いだろう。また、Intel 815EGでUSBサポートを組み込んだら、サウンドが組み込み不能になった。恐らくリソース競合。現時点では対策は試みていない。
その後、新しいバージョン(1.0.9)が出たので試してみたが、今度はインストールすら不能になっていた(u_u;) インストールの途中で「mmpm2.ini」がないとメッセージが出て、そこでおしまい。しかも、これでシステムの起動が不能になる(>_<) ま、\mmos2\mmpm2.iniを削除すればよいのだが。おまけに、インストーラ(REXXスクリプト)にバグがあって、途中でエラーが出て止まっちゃう。原因はSysCreateShadowの関数の組み込み忘れ。フォルダにテキスト・ファイルのシャドウを作成しているだけなので、これ自体が致命的なものではないのだが、実にお粗末。InnoTekはねぇ…。
しかし、問題が識別情報だけなら話は難しくない。ということで、異なるリビジョンのYMF724でも、ドライバの識別情報を書き換えて正常認識させるパッチがある。それがDaniela's YMF724 patch utility (PatchYMF)で、Hobbesから入手できる。これを使ったところ、見事、私の環境でも音が出るようになった。
でも、出力が無闇に大きくて音割れするんだよね。おまけに、ボリューム設定がおかしい。システム起動直後の音量は爆音に近く、しかもボリュームの設定値に拘らず一定なのである。ボリュームはそこからの相対値でしかコントロールできない。たとえば、ボリュームが10に設定してあると、上げる余地(10〜100)はあっても下げる余地(10〜0)がほとんどない。ミュートにしても音が聞こえる。じゃあ、予め100にしておけば下げる余地が充分あるじゃないかというかも知れないが、50より大きい設定では騒くて使い物にならない。しかも、次回起動時はその50が先回の100に相当するから、さらに25にしないと……と、どんどん基準音量が上がっていってしまうわけ。アンプやスピーカーの方を工夫すればよいのだろうが(PC上の音量設定は一定にして、アンプやスピーカーで音量を変更する)、それも面倒なので、結局、このカードは放棄することにした。
その後、CPUをC3からCeleronに変更してチェックしたところ、爆音現象は若干緩和されたが、ボリュームコントロール周りは以前不安定。ボリュームを僅かに動かしただけで音量が大きく変動し、元の位置に戻しても元の音量にはならない。やはり、私の環境では使用不可能と見るべきだろう。
その後、CPUをCeleronに換装してチェックしたところ、OS/2でも動作を確認した。しかし、再生速度が異様に遅い。ちなみに、ドライバはENSONIQ(ES1371)用だが、使用したカードはENSONIQ Audio PCI 64(ES1373)、チップの違いの影響かもしれない。あるいは、ドライバのオプションの変更で対処できるかもしれない。いずれにしろ、C3で使えないのでは困る。
ちなみに、長い間Sound BlasterのPCI版が出なかったのは、ISAとPCIのバスの根本的な互換性の問題で、Sound Blasterにとって極めて重要な信号線がPCIではサポートされていなかったためらしい。逆にいえば、Sound Blasterって、あんまりお行儀が良くなかったというわけだね。
ところで、OS/2で確実に安定動作するPCIサウンドカードって存在するのかね? 標準サポート一覧を見ると、恐ろしく古い機種しか載ってないもんなあ…
使用しているチップセットはPLE 133なのでサウンド機能も統合されている。ところが、こいつはCPU負荷が大きいので、BIOSで無効にして、わざわざISAのSound Blaster 16を使っている。どうもこの辺りに問題がありそうで、無効にしたはずのオンチップのサウンド機能がゾンビ化して、Windowsがそのゾンビ化したサウンドチップをコントロールしようとしているような気がする。
原因ははっきりしないが、ともかく、デバイスマネージャでIRQの設定を強制的に変更すると、この現象は解消される。リブートは不要。ただし、何度かシステムの再起動をしていると、やはり再発する。その場合は再度IRQを変更する。具体的には、発症する度にIRQ=5と9を交互に切り替えるということになるだろう。
それはそれとして、OS/2ではいったんPnPで設定されたリソースを、意図的に変更する方法ってないのかね? 上記の問題があったので、一度IRQ 5をLegathy/ISA(非PnP)に設定して試したことがある。すると、確かにBIOSもWindowsもIRQ 5を避けてくれるのに、OS/2だけは頑固にSound Blaster 16 PnPにIRQ 5を割り振るもんなんぁ…。動作に支障はないからいいけど……
DEVICE=D:\MMOS2\YMF724.SYS /N:YM7241$ /O:NoHWTimer DEVICE=D:\MMOS2\VYMF724.SYS YM7241$ ←仮想ドライバというように組み込まれる(仮想ドライバがない場合もある)。だから、この行をコメントアウトすれば、とりあえず使わない設定にもできるが、だからと言ってCONFIG.SYSの書き換えだけでドライバの導入/削除ができるわけではない。DLLのコピーなどの問題があるので、やはりMINSTALLを使った導入/削除が必須。
なお、この設定自体は\MMOS2\MMPM2.INIに書き込まれているが、このファイルは迂闊にいじらないこと。システムがブートしなくなることがある。
ちなみに、Intel 815EGにインストールしてみたけど全然鳴らず。そ〜だね〜、Windowにインストールして見て、チップ名を確認することから始めないといけないかなあ…ああ、情けない。
ということで、MIDIに関してはこれから調べる。そうそう、YMF724のドライバにはMIDIMAP.DLLが含まれているんだが…。CONTROL.SCRでは、なぜかこのDLLをコピーする設定がコメントアウトされている。