FreeBSD(98) ハードウエア忘備録

 FreeBSD(98)はMacOSやWindowsのような"商品"ではないから、誰でも簡単に走らせるという訳にはいかない。いわゆる"How to本"はたくさん出回っているので、それに書かれている通りにすればいいのだが、ネットワークインターフェースカード(NIC、いわゆるLANボード)など、自分で取り付けたオプション機器については、ドライバの選択・I/Oアドレスや割り込みの設定を独自に行う必要がある。

 その昔、MS-DOSを走らせ、アセンブラでプログラムを書いていた頃は、そんなことはあたりまえであったが、Plug and Play(PnP)なぞという便利な仕組みが出来てからは、ハードウエアの構成なぞすっかり忘れてしまっている。

 そこで、手持ちの古いマニュアル等から、FreeBSD(98)を走らせるのに必要な情報を書き出してみた。

Plug and Playについて

 最近のFreeBSD(98)は、PnPに対応しており、主だったオプションボード類は面倒な設定をしなくても動作する。
 しかし、一部の古いボード(例:PC-9801-55とその互換製品など)を併用する場合は、あらかじめパソコンに付属している『PCIセットアップディスク』を使って従来型のボードを使っていることを設定しておかないと、割り込みやDMAチャネルがかちあって起動できないようである。

ディスプレイの設定

 PC-9801/9821標準のディスプレイ解像度は、640dot×400dot、水平走査周波数は24KHzである。しかし、最近のディスプレイは、31KHz以上の信号にしか対応していないものが多く、そのままでは使用できない。
 起動時に[GRPH]キーと[2]を同時に押すことにより、水平走査周波数を31KHzにすることができる。(24KHzに戻す場合は、[GRPH]+[1])

BOOT装置の指定

 PC-9801/9821シリーズは、通常、起動時にFDDにセットされたフロッピーディスク(システムディスク)を読み込んで起動する。もし、フロッピーディスクがセットされていなければ、今度は内蔵固定ディスク(HDD)の読み込みを試みる。HDDに複数のOSがインストールされている場合は、(通常は)NEC製の"固定ディスク起動メニュープログラム"が立ち上がり、どのOSで起動するかを選択することになる。

 FDDにシステムディスクをセットしてあるにもかかわらずHDDから起動してしまったり、あるいは、HDDに複数のOSがインストールしてあるにもかかわらず特定のOSでしか起動しない場合は、次の点を確認するとよい。

メモリスイッチの設定

 メモリスイッチ(本体に内蔵されている不揮発性RAM)の設定によっては、起動時にFDDは無視される。メモリスイッチの書き換えは、MS-DOSの"SWITCH"コマンドで行うのが一般的だが、肝心のMS-DOSが起動しなければこれも不可能だ。

 この場合、[HELP]キーを押しながら電源を入れる(or リセットボタンを押す)と、"システムセットアップメニュー"が現れるから、カーソルキーを使って、"ディップスイッチ2の設定" → "メモリスイッチ"を選択し、"初期化する"を選ぶ。

 これで、FDD → HDDという通常の起動プロセスが復活する。

 なお、大昔のPC-9800シリーズはシステムセットアップメニューがなく、物理的なDIPスイッチが装備されている。SW2-5がメモリスイッチ初期化の指定で、OFFにすると次回の起動時にメモリスイッチが初期化される。

自動起動の設定

 HDDに複数のOSがインストールしてあるにもかかわらず特定のOSでしか起動しないのは、たいていの場合、"固定ディスク起動メニュープログラム"で自動起動が設定されているからである。
 この場合、電源投入時から[TAB]を押し続けると、"固定ディスク起動メニュープログラム"が起動する。カーソルキーを使って装置を選択すると、その右側に領域が表示されるが、末尾に"*"がついている場合は、そのOSが無条件で起動する設定(自動起動)になっている。[f・1]を押すと、その設定が解除できる。

 これで、次回からは何もしなくても"固定ディスク起動メニュープログラム"が立ち上がるはずである。

ハードウエア構成の調査方法について

 もし、これからFreeBSD(98)をインストールしようと考えているPC-9801/9821シリーズにWindowsがインストールされているならば、なるべくこれを温存したほうがよい。
 仮にFreeBSD(98)専用とする場合であっても、一度はWindowsを起動して、ハードウエア構成を調査しておくのが正解である。

 Windows98ならば、デスクトップ上の"マイ コンピュータ" → "コントロールパネル" → "システム"を選択すると、ハードウエアの詳細情報が簡単に取得できる。プリンタをお持ちならば、印刷しておくといいだろう。

 上図のように、"コンピュータ"を選択して、"プロパティ"をクリックすると、割り込み要求やI/Oポートアドレスが容易に判明する。

 現実問題として、FreeBSD(98)をインストールするにあたって最大の難関は、LANボードであろうと思う。
 100BASE-TX/10BASE-T LANポートを標準装備したPC-9821シリーズをお持ちの方は少ないだろう。つまり、多くの方は、Cバス、もしくはPCIスロットにLANボードを増設している訳だが、その仕様は、メーカーによって、あるいはモデルによって全然異なり、いわゆるde facto standardが存在しないと言ってよい。
 LANボードのマニュアルが現存してればいいが、そうでなければ、情報収集は相当に骨が折れる。場合によっては、ドライバ片手に一旦ボードを引っこ抜く羽目になるかも知れない。

 もし、Windowsが起動するならば、FreeBSD(98)をインストールするまえに、システムのプロパティを記録しておくことをお勧めする。

周辺機器メーカーへのリンク

 I/Oポートアドレス・割り込みの設定用ユティリティーのダウンロード。メーカーによっては、マニュアルをPDFファイルで提供しているところもある。

割り込み設定(PC-9821V20 / V13)

  INT0
(IRQ3)
INT1
(IRQ5)
INT2
(IRQ6)
INT3
(IRQ9)
INT41
(IRQ10)
INT42
(IRQ11)
INT5
(IRQ12)
INT6
(IRQ13)
本体内蔵FDD I/F              
本体内蔵マウス I/F              
本体内蔵HDD I/F              
本体内蔵サウンド機能        
本体内蔵2nd CCU              
FAXモデムボード      
ISDN TAボード      

LANボードの諸元

LGY-98J-T(メルコ):C-bus

LD-98P(Laneed):C-bus

ET/T-98 (I-O DATA):C-bus

ET100-PCI-R(I-O DATA):PCI

IDEハードディスクのジャンパ設定

 PC-9821をFreeBSD(98)専用にする人は少なく、WindowsやMS-DOSでも起動できるようにしておく場合が大半であると思う。その場合、既存のハードディスク(HDD)には手をつけず、FreeBSD(98)専用の2台目HDDを増設するのが手っ取り早い。PC-9821のカバーを空けると、マザーボードからHDDへのフラットケーブルが見える。どこにも接続されていないコネクタがあるので、これにHDDを接続、更に電源コネクタをつなげば一丁あがり----なのだが、HDDのジャンパプラグを差し替えなければ正常に起動できないことがある。
 以下にPC-9821シリーズに内蔵されているIDE HDDユニットのジャンパ設定の概要を示す。メーカー毎に、どのように設定すればいいかの目安を示すものであって、そのメーカーの全てのHDDユニットにあてはまる訳ではない。(出典:I-O DATA UHDI-GH/98シリーズ取り扱い説明書)

凡例

 一般的なIDE HDDユニットには、信号コネクタと電源コネクタの間にジャンパピンが並んでいる。ここにジャンパプラグを差し込んでピン間をショートすることにより、マスタ/スレーブのどちらで動作させるかを決める。

Western Digital社製

Quantum社製

Maxtor社製

その他の会社製の一般的な設定

SCSIインターフェースボード IFC-NN

 近所の量販店に行ったら、(株)メルコのPC-9800シリーズ用C-busSCSIインターフェースボード IFC-NNが980円で売られていた。どうやら、PC-9800シリーズ専用の商品を一気に処分してしまうつもりらしい。無論、その場で購入した。
 FreeBSDのSCSI HDDへのインストールについては、機会をみてレポートすることにして、とりあえずハードウエアに関する情報を掲げておく。


(株)メルコ IFC-NN

DIPスイッチの設定

 基板上には、4つのDIPスイッチがある。出荷時はすべてOFFとなっている。DIPスイッチ3及び4は使用しないので、OFFのままにしておく。

DIPスイッチ1

 OFF:プラグ&プレイ(PnP)モード(出荷時設定)
 ON:非プラグ&プレイ(PnP)モード

 設置するパソコンがPnPに対応していない場合は、非PnPモードにする。FreeBSDで使用する場合は、非PnPモードに設定したほうが無難。Win95/98共に、非PnPモード用のドライバが準備されているので、他のOSで動作させる際も問題はない。

DIPスイッチ2

 OFF:1st(出荷時設定)
 ON:2nd

 IFC-NNを1枚だけ使用する場合は、OFFとする。2枚使う場合は、ON。

仕様

バス転送方式 SMIT, MIT, DMA, I/O転送
SCSIインターフェース SCSI-2(FAST SCSI) シングルエンド, データバス幅:8bit, 転送速度:最大10MB/Sec(同期転送時の理論値)
SCSI-ID 7
割り込みレベル(INT) INT 0, 1, 2, 3
DMAチャネル 0, 3
I/Oアドレス

非PnPモード
0CC0H, 0CC2H, 0CC4H, 0CC6H(1st)
0CD0H, 0CD2H, 0CD4H, 0CD6H(2nd)

PnPモード
CCCXH〜CFFXH (10Hステップ, Xは0, 2, 4, 6

BIOSアドレス

ノーマルモード
0Dn000H〜0DmFFFH
(n,m)=(0,1), (2,3), (4,5), (6,7), (8,9), (A,B), (C,D), (E,F)

ハイレゾモード
0En000H〜0EmFFFH
(n,m)=(8,9), (A,B), (C,D), (E,F)

ウインドウサイズ 8KB(BIOSサイズ:4KB)
対応パソコン

80286以上のCPUを搭載し、Cバスを搭載した次の機種

NEC PC-9801/PC-9821/PC-H98シリーズデスクトップ
(PC-98Do/Do+, PC98XAを除く)

EPSON PC-286/386/486/586シリーズデスクトップ
(PC-386SR, PC-486PROを除く)

対応OS

MS-DOS Ver5.0A-H以降/Windows3.1/Windows95/WindowsNT4.0/3.51

※マニュアルに記載はないが、Windows98にも対応

基板サイズ 148.7×169.4mm (Cバス標準サイズ)

ボードスイッチ設定メニュー

 [CTRL] + [GRPH] + [S] を同時に押し続けながら電源を入れると起動する。画面に従って、IFC-NNの動作を設定できる。
 なお、サードパーティー製のキーボードの一部は、"特定キーを押しながら電源ON"に対応していないものがあるので、純正キーボードを使用したほうがよい。

BIOS書き換え

 (株)メルコのサイトによれば、旧バージョンのファームウエア(BIOS)では、8GBを超えるHDDは認識できないそうである。
 私が入手したIFC-NNは、既に最新のファームウエア(Ver1.10)となっていたが、古い製品をそのまま使っている方は、更新したほうが良いであろう。ファームウエア書き換えユティリティは、こちらから入手できる。

デバイスドライバ

 FreeBSD(98) 4.7までは、bsドライバで動作する。

 FDからのインストールの際、kernel configurationにおいて、Srorage → PC-9801-55 SCSI Interface を選択すれば、とりあえず起動とインストールが可能であった。
 Port address、IRQ number、Flags、DRQ numberは適宜設定する必要がある。前述のメーカー出荷状態のまま取り付けた場合は、Port address:0xcc0、IRQ number:3、DRQ number:3である。Flagsは、SMIT転送方式(メーカー出荷状態)を使う場合、0x40000とする。
 

 ここに記載した内容は、私が独自に調査したものが含まれます。結果については責任を負いかねますので、あなたの自己責任でご利用ください。

戻る


Copyright by Heian Software Engineering (C)H.S.E. 2001 - 2005 Allrights reserved.
2001.8.11 制作 2003.3.9 訂補 2005.4.21 訂補