IRQ(ハードウェア割り込み)とDMAチャンネルの空きを探す方法 [DOS/Win9x]
![Image: IRQ(ハードウェア割り込み)とDMAチャンネルの空きを探す方法 [DOS/Win9x]](/blog/img/2025/Roland_MPU-401AT_IRQ.webp)
マザーボードが使用するリソースは、マザーボードのマニュアルなどで事前に分かっている場合はそれを参照するのが早い。
→ ASUS P2Bのハードウェアリソース (IRQ, DMA, I/Oアドレス)
ただ、結局、PnPデバイスの使用リソースは調べないと分かりません。
Windows 9xの場合
スタート→ファイル名を指定して実行 からmsinfo32
を実行。非PnPデバイスと未認識のデバイス以外は全てリストにあり、(空き)となっている番号は使用可能なはずです。
DOSの場合
ICU (ISA Configuration Utility)
PnP対応BIOSを搭載したDOS/Vプリインストール機であればICUが付属していることがあるので、これを利用します。(私は昔ディスクを持っていましたが、今はそれがどこに行ったか分かりません。ネット上にも探せば見つかるようです。)
参照→システムの資源 を選択すると、現在使用中のリソースが表示されるので、そこに表示されていない数字が空いていることになります。
CTCU
Sound Blaster 16/32/64 PnP等に付属するCTCUを使う場合。ここでは英語版ドライバーを使用。
CHEV USコマンドで英語環境へ切り替えた上でCTCUを実行し、Menu→System Devicesを選択。
ここにはマザーボードが使用するリソースしか表示されないようです。他のデバイスはリストから個別に選択して参照する必要があります。
Windows 3.1の場合
DOS上でMSD
を実行します(C:\WINDOWSが環境変数PATHに設定されている前提)。
Qキーを押すとシステムが使用しているIRQが表示されます。検出が「No」となっている項目はたぶん未使用です。ただし、PCIカードを含むプラグアンドプレイデバイスが使用しているリソースは表示されないので注意が必要です。
PCIカードが使用しているIRQはBIOSのPOST画面で確認できる場合があります。
非PnPデバイス用にIRQを予約する
上記の手順で空いているIRQが判明したとしても、今後新しいPnPデバイスを追加するとそちらに割り当てられて競合する恐れがあるため、事前にBIOSの設定で非PnPデバイス用に予約すべきです。
Award BIOSの場合は次の手順で設定します。
- メインメニューでPNP AND PCI SETUPを選択。
- 予約したいIRQやDMAを選択してPageUpまたはPageDownキーで「Yes」に変更する
- メインメニューでSAVE & EXIT SETUPを選択。
BIOSにこのような設定がない場合は、ICUのリストに非PnPデバイスを逐一追加する必要があります。