PC-98オンボードIDEでSSDを使えるのか

 PC-98オンボードIDEで漫然とSSDを使ってはいけない

 2025年2月3日改訂

 PC-9800シリーズのストレージ、とくにIDEハードディスクの置き換えとして、Compact Flash(以降CFと略します)やSD-IDE変換器に加え、SATA の2.5インチSSDがあります。しかし98で使えるSSDとはどんなものなのかについてまとまった情報がこれまでなかったと思います。ハードディスクに対してSSDのメリットは、耐衝撃性、低消費電力、軽量コンパクトなどで、CFに対するメリットも耐久性では上回っています。しかしデータが記憶できなかったり意図しないところに重複して書き込むようなことになれば、それらのメリットは吹っ飛びます。

 何が問題なのか

 現在出回っているSSDには次のような問題があります。なかにはあまり知られていない事象もあるでしょう。基本的には98のIDEインターフェイスが設計された時代と今のATAの規格があまりにもズレすぎてしまったことが原因です。

 これら1.〜5.のどこかしらに該当するSSDが非常に多くなっているというのが現状です。それぞれの仕様がどういう問題を引き起こすかというと、 といったことです。5.のようなSSDは、運用開始してしまうと悲劇です。8063MBまで認識できる9821本体あるいはDV0ROMというROMアプリケーションを併用した場合でも、1.と2.は回避できても、3.以降の問題は残ります。

■ ICCFIX Version 1.10以上 の結果で解説

 以下では、本来は容量変更ツールであったICCFIX(バージョン1.10以上)を使ってSSDの問題を解説します。上記の1.〜3.の問題がないSSDでは、4351MB以下の縮小を選んだ場合、図1のような画面で終了します。

図1

1.容量の縮小ができない

 図2のような表示が出ます。コマンドに対応しないという赤い文字が通常は表示されます。希にコマンド実装していないフラグが立っているのに通るデバイスもあるので、フラグ参照時点で中止せず、容量変更を強行します。

図2

2.容量の縮小ができてもLBAアクセスについてのみでCHSでの容量が変更されない

 これは容量変更コマンドを通しただけではわからないので、コマンド発行前後でIDE indentify情報を取得し直し、CHSアクセス用のシリンダ数が規定通り縮小しているかをチェックします。ただし8063MB以上に縮小(本来の容量からみれば)のときは定かではありません。4351MB以下を選択しないと判明しません。

図3

3.CHSアクセスができる範囲が16383:16:63未満に制限されている

 これは4351MB以下に容量変更してある状態では判定できません。8063MB以上を選択したときだけテストを行います。<2月2日時点、予定>

4.HSの設定(CHS translation)の機能が実装されていない

 これはどの容量に変更するときでもテストされます。テストの結果ヘッド数Hとセクタ数Sが変化しないものは、「98で使えない」と判断できます。4351MB以下を選択した場合は、シリンダ数CやC*H*Sがおかしいかどうかもチェックします。図2や図3が該当します。この仕様だけ満たしていないというSSDはほぼなく、大概は1.〜3.も実装されていません。

5.実装されていても正しい変換でない可能性がある

 このようなデバイスはICCFIXでは判断が付きません。シリンダ数CやC*H*Sがおかしいかどうかをチェックして異常があれば、98で使えないという表示をしますが、実際には読み書きテストを行わない限り不明です。図3のSSDはどうもそのようです。

6.Multiple Sector Read/Writeに対応していない

 既に述べた通り、少し遅くなるだけの些細な問題です。このチェックはICCFIXでは行いません。IDEDEVの詳細表示に現れますので、そちらを使ってください。

■ 結論

 以上のように98のオンボードIDEで使用できるかはICCFIXの表示でおおむね判断はできます。しかし5.のような問題が隠れているかもしれないということには留意しておくべきです。とくに8063MBを超えて使おうというときは、何もかもが怪しくなります。SATA SSDはCFよりも大きな容量がありますが、まったく使い切れないというわけです。安全圏は8063MBです。その限りでは、FIXIDECF というアプリケーションで使用可能になる可能性はあります(但しIDE BIOS第3世代機種まで)。4.に該当するSSDでも規定のH:Sでは8063MBまでアクセスが可能なものが多いためです。

 お薦めできるのは、2.の問題がなく容量を4351MBに縮小でき、4.の問題がないものです。3.の問題は自動的に避けられます。5.も4351MB以下なら問題の可能性は低めです。

■ 推しSSD(2025年2月時点)

 実際に持っていてテストした物しか、ここではお薦めできません。ただし3.の問題があり、4351MBに容量を縮めて使うことを前提とします。

■ 挑戦する人へ(2025年2月時点での情報)

 SSDで全容量使おうなどと思わないことを推奨しますが、いろいろな裏技ユーティリティを駆使して全容量使こうたるわ!という人向けに書いておきます。

 まず4351MBの壁がある98本体ではそれを取り払わないと1.2.の問題があるSSDを使えるようにはできません。このためにはROMアプリケーションDIV0ROMか旧作品のEXIDE**が必要です。しかしそれだけでは十分ではありません。

 ここから先はIDE BIOS がCHSアクセスしていることこそが問題となってしまうため、リウ様(twitter@drachen6jp)の作られたLBA_IDE というBIOSパッチこのリンク中のIDE-BIOS-LBA-Patch.zip)(LBA_IDE)が必要になります。このソフトウェアツールはIDE BIOSを根本から置き換えてLBAアクセスに変更するので、CHSモード依存の問題は全て解消されます。ただしIPLwareというアプリケーションですので、これを組み込む時点でIDEドライブに正常にアクセスできないようでは、インストールができません。そこをどうにか解決する必要があります。4.の問題があるSSDではそこが困難となるでしょう。5.はディスクドライブの先頭のほうでは案外正しく動作することから、見かけ上は回避できる可能性があります。

 4.や5の問題があるSSDについては、EXIDE**は全く太刀打ちできません。3.はそもそも容量拡張できていないのでEXIDE**が役に立ちません。EXIDE**はHDDおよび(最近のバージョンにおいては)32255MBまでのCFでは役に立ちますが、ここで述べたような仕様のSSDには適用しても効果がありません。

■ 補足1

 SATAのSSDをオンボードIDEに接続する際は、「SATAデバイス-IDEホスト変換器」を使います。しかしこれにも問題が隠れているのです。一概にどの製品、どのチップが良い/悪い とは断言できませんが、98本体IDEのプライマリとセカンダリのどちらかまたは両方にこの変換器を通した場合、プライマリとセカンダリのデータアクセスがおかしくなり、データが衝突する、つまり全く動作しなくなるという問題が知られています。症状としては、「電源を入れても起動しない」か「IDEデバイスが全く認識されない状態でFDやSCSIから起動」となります。

 これはプライマリとセカンダリの間のIDEのデータ信号線が導通である機種に起こりやすく、また性能が良いと言われるMarvellチップの変換器で起こりやすいようです。完全にハードウェアの問題で、避けるにはプライマリ/セカンダリの片方にしかデバイスを繋がないという対策しかありません。SSDだけでなくSATAであればHDDでも起こりますので、それでSSD固有の問題ではないと判断がつきます。

■ 補足2

 タイトルに下線を引いたように、ここで述べたSSDの問題はあくまで98オンボードで使う場合のことです。PCIスロット搭載機(山猫チップセット機を除く)では、PCIスロットにSATA アダプタカードを装着し、大熊猫様作のSiliconImage チップ SATA-BIOSを入れるのが最も効果的です。全容量使用できますし、なんといってもデータ転送速度が桁違いです。90MB/秒は期待できます。

 PCIスロット搭載のPC-9821機を持っているのにこれを使わない/知らない方々は、モグリの98使いと認定されます。PCI-SATAカードのBIOSの書き換えにPC/ATを必要とはしません。このような手段もありますから98上でBIOSを書き入れることができます。恐るるに足りません。

 難があるとすると、巨大容量にしてしまった場合、別の98のオンボードIDEに接続を変えたときに既存の領域が認識できないことです。しかしこれもIDE-BIOS-LBA-patch を駆使して解決できます。

2025-2-3初稿

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

[戻る]