CバスSCSIボードの DIPスイッチ設定表示

[ SCSI_DSW ] V1.05 

Copyright(C) 2004,2021 まりも

1.目的

 CバスのSCSIボードの DIPスイッチ設定を表示します。対象となるのは、PC-9801-55または92互換のボードです。PnPのボードは対象ではありませんが、非PnPモードであれば読み出しできるかもしれません。ジャンクで購入したがスイッチの設定がわからないという場合に、本プログラムを使って読み出すことができます。またスイッチ設定を一ヶ所づつ変えてみることで、スイッチの機能を調べることもできます。

2.使い方

 SCSI_DSW.EXE はMS-DOSプログラムですので、コマンドプロンプトから

    scsi_dsw

とタイプして下さい。コマンドオプションなどはありません。 WindowsのGUIモードのDOSプロンプト(いわゆるDOS窓)では 実行できません。なお動作可能なMS-DOSの最低バージョンは 2.11です。WindowsのDOS窓から実行された場合や、 SCSIボードが存在しない場合は、結果を表示せずに終了します。

実行結果表示例

3.注意

 SCSIボードの2枚挿しは、SCSI BIOSが生きている限りできませんので、既にSCSIがある環境では、調べたいほうのボードのBIOS ROMを無効にして下さい。無効にするには、SW2-8 をOFFにするか、ROM そのものを取り外します。また、種類に関わらず、SCSIボードのI/Oアドレスが競合しないように設定して下さい(PnPのSCSIボードなら大丈夫)。なお、BIOS ROM有効/無効のスイッチ(SW2-8)の情報は、本プログラムでは読み出せません。  本プログラムでは、PC-9801-92/55互換のCバスSCSIボードが装着されている枚数全て表示できます。ただしI/Oアドレスはそれぞれ異なっている必要があります。ボードを識別するのはI/Oアドレスです。I/Oアドレスの設定がわからないような場合は、2枚挿しはおこなわないでください。

4.技術的なこと

 ほとんどの 92/55互換SCSIボードでは、スイッチの役割りが決まっています。少なくとも SW1,SW2は8連のDIPスイッチとなっています(しかしSW1,SW2の名称や形状が異なるボードもあるようです)。

 I/Oアドレスを決めるスイッチはSW3,SW4というジャンパピンのことが多いですが、物によっては SW1,2と別のDIPスイッチになっています。このときデフォルト側がONかOFFかは物によって異なります。本プログラムの存在意義は、これを調べることにあるといってもよいでしょう。なお、比較的古い(55互換の)ボードでは、SW3,4は ROMのアドレスピンA14,A15と連動になっているものが多いようです。SW3,4をデフォルト以外の設定にすると、ROMのアドレスは 2000hまたは4000hずれることになります。SW3,4を動かすとROMが無効になるのは、ROMアドレスがずれることで、データのない部分(値 FFh)が出現するためのようです。したがって、例えばI/Oアドレスを CD0hにしてもROMが動くようにするには、ROMの物理アドレス2000hに SCSI BIOSをコピーして焼けばよいということになります(ただしBIOSルーチンは CD0,CD2,CD4を使うように改変する必要がありますが)。そのほか、SCSIとは関係ないROMプログラム(例としてはIDE BIOSのパッチなど)を格納しておくということにも使えます。

 プログラミング上の参考資料として、小高輝真・こうのたけし 共著、Undocumented9801/9821 vol.2 があります。 http://www.webtech.co.jp/undoc/

 本プログラムでは、SCSIボード標準の 0Cx0hを叩いてDIPスイッチ読みだしコマンドを送り、読み出した値を表示しています。添付ソースプログラムがありますが、フリーソフトを作るのにこれを参考にすることは構いません。

●資料 SW1,SW2の意味
bitと書いてあるものは、値0 が スイッチのOFFで、1 がONです。
設定が禁止されている値もあります(例 DMAch2 , INT6,INT7 )。

■SW1
1  SCSI ID bit0
2  SCSI ID bit1
3  SCSI ID bit2
4  INT LEVEL bit0  (#)
5  INT LEVEL bit1  (#)
6  INT LEVEL bit2  (#)
 (#)  0=INT0(IRQ3),   1=INT1(IRQ5),  2=INT2(IRQ6),  3=INT3(IRQ9)
      4=INT41(IRQ10), 5=INT5(IRQ12), 6=INT6(禁止),  7=禁止
7  DMA channel bit0
8  DMA channel bit1   (2bitで DMA ch0から3を表す)


■SW2
1  ROM address (N) bit0   (*)
2  ROM address (N) bit1   (*)
3  ROM address (N) bit2   (*)
 (*)値  0=D000, 1=D200, 2=D400, 3=D600, 4=D800, 5=DA00, 6=DC00, 7=DE00
4  ROM address (H) bit0   (+)
5  ROM address (H) bit1   (+)
 (+)値  0=E800, 1=EA00, 2=EC00, 3=EE00
6  HOST PC TYPE bit0      00b   V30,8086      ,  01b   PC-98XA
7  HOST PC TYPE bit1      10b   ハイレゾ兼用  ,  11b   80286以上ノーマル
8  ROM kill (OFF)/ ROM enable(ON)


5.お約束

 このプログラムはフリーソフトです。今後改版をおこなうつもりがないので、転載も自由とします(許可不要)。著作権は、作者である「まりも」にあります。このプログラムの表示する情報内容に関して、作者は保証するわけではありません。

まりも(連絡先メールアドレスはwebページ上で)

ここをクリックしてダウンロード

6.改変履歴

2004-9-1 作成
2004-9-8 改訂
2004-9-17 改訂 V1.01 I/Oアドレス0CF0hに設定したボードが検索漏れする問題を修正
2004-9-21 改訂 V1.02 無意味に386命令を使わないようにした
2017-12-23 改訂 V1.04 SMITボードの検索強化
2021- 3-17 改訂 V1.05 SW2 6,7機種タイプ名(XAと8086/V30)の入れ違いを修正