PC-98でPCI Sound Cardを使う


前書き
最近はPC互換機用のPCI Sound Cardが低価格ながら高機能で結構魅力的です。 ここではPC互換機用のPCI Sound CardがPC-98で使えるかどうか実際に試したことを記載します。 当然ながら動作保証外なのでここで動作すると書いてあっても個体差や仕様変更、 driverのupdateで動作しない事もありますがご了承ください。
共通事項
私がPC-98で動作する事を確認したSound Cardで今のところJoyStickは使えてません。 またdriverのinstallの際にOS標準のJoyStick Driverを要求される場合がありますが、 PC互換機用のJoyStick DriverとPC-98用のモノではdriver名が違います。 PC互換機からJoyStick Driverを持ってきて入れた場合にどうなるか分かりません。 またinf fileを書き換えてPC-98用のJoyStick Driverを入れてみましたが、 今のところJoyStickを認識できていません。
Driverをinstallした後にI/O port addressを変更する必要がある場合もあります。
各Sound Cardのスペック
PC互換機用Sound Cardを参照。
動作確認表

Sound Card Chip Xa7 Xv20 Driver Version 備考
Ensniq AudioPCI ES1730 ? 4.05.1033
97/06/30
下を参照
Versionはeapci.drv
QVC SP-801 S3 Sonic Vibes ? × 4.10.00.1101-1.01.00
97/09/05
installerではねられる。infからinstallしてもノイズが出るだけ。
Versionはs3wave.drv
A-TREND HARMONY 3DS724A YAMAHA YMF724 ? 95v1020
98/07/29
下を参照
Versionはydsxg.drv
AVer TVPhone Bt848 ? 1.36
98/05/14
VideoCaptureCard
Versionはinf file

Xa7の環境は、 Xa7/C4をAll SCSI化してP55Cを載せた状態。 確認したアプリはMediaPlayerかTMIDI。

Xv20の環境は、 Xv20/W30はほぼ出荷時状態。 確認したアプリはMediaPlayerとTMIDI、 Ultra Marin(PCM合成音楽ソフト)
前にXv20で使用していた時に日付や時刻が変わってしまう現象が発生したと書いたが追試験の結果再現しなかった。 どうやら使用していなかったXv20なのでバックアップ電池が空になってカレンダーがおかしくなってしまったらしい。 AudioPCIでWin95の起動時にカレンダークロックをいじってしまい日付や時間が狂ってしまう問題が発生しているのでので同じ現象かと思ったが関係無いようだ。

AVer TVPhoneはTV,FMチューナーを内蔵したVideoCapture Card。


AudioPCIをPC-98で使う場合の注意

時計が狂う場合がある

前にも書いたがAudioPCIをPC-98で使うと時計が狂う場合があります。 なぜ狂うかと言うとWin95の起動時にEAPCI.VXD(ES1370用)またはES1371.VXD(ES1371用)がI/O portの0020hをいじっている。 I/O portの0020hはPC-98のシステムタイマーなので時計が狂ってしまうのだ。

なぜ0020hをいじるのか

niftyのFNECHARDのMES8で話題になったが、 問題の部分はPC互換機で空いているIRQを探すルーチンである。 15個のIRQの空きを知るのに、 マスターPICが管理するIRQ=0〜7の状態を知るには0020hを使用し、 スレーブPICが管理するIRQ=8〜15の状態を知るには00A0hを使用する。 (Thanks T.A.Labs.さん)

解決方法

問題なのは0020hをいじる部分なのでEAPCI.VXD若しくはES1371.VXDの該当ルーチンを問題無いように書き換える。 PC-98のマスターPICは0000h、スレーブPICは0008hなのでそのように書き換える。
Binary Editorで66 BA 20 00(mov dx,0020h)と66 BA a0 00(mov dx,00a0h)を探し、 前者を66 BA 00 00に、 後者を66 BA 08 00に書き換えればOK。 (Thanks T.A.Labs.さん)


その他

S3 SonicVibesで動作したという情報があります。 しかし私が使おうとしたDriverではどうしても組込めませんでした。 inf fileを編集すれば使えるようになるかもしれないので時間を見て検討する予定です。


Return to Home