BlueSCSIは、レトロコンピュータのハードディスクをSDカードで置き換えるためのデバイスです。古いパソコンやMacに搭載されているSCSIで動作するストレージ装置の代わりとして利用できます。
レトロコンピュータに搭載されているハードディスクは古くなり、壊れて動かないか故障するリスクが高いため、BlueSCSIはこれをSDカードで置き換えることで、データの保存や読み書きをより安全かつ迅速に行えるようにします。また、SDカードを交換するだけで複数のシステムやデータを簡単に管理できる点も魅力です。
セットアップは比較的簡単で、BlueSCSIをSCSIポートに接続し、ハードディスクやCD-ROMのイメージファイルをSDカードに書き込むだけで使用可能です。低コストかつ信頼性の高いソリューションとして、レトロPCやMac愛好者の間で人気があります。
レトロコンピュータの維持が難しくなっている今、BlueSCSIは最新技術を使いながらも、古い機器を再び動かすための強力なツールです。
1990年代に普及したIDEストレージ用のSDカード変換基板は、今でも安価で手に入れやすく、IDE機材も比較的入手が容易です。一方、SCSI対応機器は現在では非常に入手が難しく、SDカード変換基板も有名なものは高価な場合が多いです。
今回紹介するBlueSCSIは、元々Macユーザーの間で改良されたオープンソースのハードウエアであり、Mac向けの拡張ソフトウェアやノウハウは豊富です。しかし、PC-98シリーズで使用するための専用ソフトウェアや情報は少ないのが現状です。また、BlueSCSIにはWi-Fi対応版も存在しますが、これはMac専用のソフトウェアだけが提供されており、残念ながらPC-98でWi-Fi機能を使えるわけではありません。
BlueSCSIには、3種類のモデルがあります。デスクトップ版は、3.5インチ 50ピンSCSIハードディスクの置き換え用で、SCSIインターフェイス背面にあるD-Sub 25ピンポートに接続する外付け版、そしてPowerBook向けのラップトップ版です。
この中で、もっとも手軽に使えるのは外付け版かもしれませんが、PC-98シリーズのSCSIインターフェースの背面ポートは大きめのアンフェノールフルピッチ50ピンかハーフピッチタイプ50ピンのコネクタが多いのでそのまま利用できません。PC-98シリーズでの利用を予定しているならデスクトップ版が適しているでしょう。今回は、BlueSCSIの日本正規販売店であるKero's Mac Modsから、正規完成品をヤフオクで購入しました。
なお、この記事では単にBlueSCSIと書いていますが、現在販売されいるのはBlueSCSI v2で、この記事で紹介しているボードもBlueSCSI v2です。

今回は、BlueSCSI v2デスクトップ版のスタンダードモデル(Wi-Fi非対応)を購入しました。国内発送のため、注文(落札)後すぐに到着し、輸送中の箱の潰れもありません。

中国製品では説明書や印刷物が同梱されないことが多いですが、今回はしっかりと紙類が入っていました。ただし取扱説明書ではありません。

写真の左側にある黒い部品は、3Dプリンタで作られたと思われるフレームで、3.5インチハードディスクの置き換えとして使う際に、ネジ穴の位置が互換性を持つようになっています。右側がBlueSCSIの本体です。

BlueSCSIの基板をフレームに嵌め込みましたが、固定ネジはまだ取り付けていません。BlueSCSIは青い基板の上に緑色のRaspberry Pi Picoが搭載されており、このRaspberry Pi Picoは、Kero's Mac Modsで販売されている完成品では、すでに組み込まれた状態で提供されています。Raspberry Pi PicoにはBlueSCSI用ファームウエアも書き込み済みなので届いてすぐ使用を開始できます。

青い基板の裏側には特に目立った部品はありません。

BlueSCSI基板を黒いフレームに取り付け、ネジで固定しました。これをPC-9801FAの内蔵ハードディスクを収納する「籠」に入っていた3.5インチハードディスクと置き換えました。50ピンのSCSIケーブルをBlueSCSIのSCSIヘッダに接続し、ハードディスクのインジケーターLEDのケーブルもBlueSCSI基板に接続しました。このインジケーターLEDのケーブルは、写真の青い基板右上に接続されている黄色いコード1本です。

SDカードは、AliExpressで購入した安価なものを使用しています。ハードディスク用イメージとしては512MB(0.5GB)から1GB程度、CD-ROM用イメージは640MBを2〜3個分の計2GB強しか使う予定がありませんが、手元にあったのが64GBのカードだけだったため、少しもったいない気もします。しかし、2024年現在、64GBのmicroSDカードは1枚約500円で購入でき、512MBから64GBまでのカードがほぼ同じ価格帯なので、大きさに関わらず費用はほとんど変わりません。
ちなみに、この記事の最初の写真では東芝のSDカードを挿していますが、15年ほど前に購入したこのSDカードは正常に使用できませんでした。

BlueSCSIデスクトップ版のカードスロットはSDカードサイズのため、microSDカードを使う際には付属のカードアダプタを利用して挿入しました。なお、microSDカードをexFATなどで適切にフォーマットし、ハードディスクイメージを書き込んだ状態でBlueSCSIに接続しないと、正常に動作しません。この作業には、Windows、Linux、MacOSなどのOSが動作する別のPCが必要です。

BlueSCSIの電源ポートはBerg 4ピンコネクタを採用しています。本来ならハードディスクの置き換えを目的としているため、一般的なペリフェラル4ピンコネクタの方が便利ですが、ペリフェラルコネクタは抜き差しに力が必要で、基板を破損するリスクがあるため、フロッピーディスクドライブに採用されていたBergコネクタで正解だと思われます。かつてはPC電源にBergコネクタ(またはペリフェラル-Berg変換アダプタ)が付属していたり、ペリフェラルからBergへの変換ケーブルが販売されていましたが、現在はフロッピーディスクドライブが廃れているため、変換ケーブルの入手は難しくなっています。しかし、Bergコネクタは2.54mmピッチのピンコネクタ4本分と同じため、自作が比較的簡単です。
今回はたくさん余っていたペリフェラル4ピン電源コネクタとシリアルATA用の電源ケーブルのシリアルATA側のコネクタを切り落として、2.54mmピンコネクタを接続して自作しました。配線は、赤が5V、黄色が12V、黒の2本がGNDです。

PC-9801FAのハードディスクの「籠」の蓋を外した状態で接続し、PC-9801FAの電源を入れました。BlueSCSIに搭載されたRaspberry Pi PicoのLEDが点灯することを確認しました。(ちなみに、蓋を閉じた状態でもスリット越しに内部を確認できますが、今回は写真撮影のため蓋を外しています。)
BlueSCSIでのイメージファイルの命名ルール
BlueSCSIを使用する際、使用するイメージファイルには、特定の命名規則に従ってファイル名を付けます。
ハードディスクとして認識させたいイメージファイルには、ファイル名の最初に「HD」を付け、次に使用するSCSI-ID (0~7の範囲で、他のデバイスと重複しない番号)を続けます。その後、アンダーバー「_」を挟んでセクターサイズを指定します(基本的には512バイト)。続けて、任意でメモ用の名前を追加できます。拡張子は数種類が利用できるようです。今回はエミュレータとBlueSCSIの両方で対応しているnhd形式を選びました。
例えば、「HD1_512_Windows95_1GB.nhd」という名前のファイルは、SCSI ID 1、セクターサイズ512バイトのハードディスクとして認識されます。なお、SCSI IDに加えて論理ユニット番号(LUN)も指定できますが、現在は「0」のみ対応し、省略可能です。
CD-ROMの場合、ファイル名の最初に「CD」を付け、その後にSCSI IDを指定します。こちらも任意のメモ用の名前を続けることができ、拡張子は通常「.iso」などが使用されます。
例えば、「CD2_Windows95_install_disc.iso」という名前のファイルは、SCSI ID 2のCDドライブに挿入されたCD-ROMメディアとして認識されます。
BlueSCSIでは、ハードディスクやCD-ROMの他にも、以下のようなストレージメディアを扱うことができます:
- FD - フロッピーディスク
- MO - MOディスク(MOドライブ)
- TP - テープメディア
- RE - その他のリムーバブルメディア (不明)
これらのメディアの場合も、同様にメディアの種類を示す2文字に続けてSCSI IDを指定します。
BlueSCSIの設定
SCSIは、ハードディスクのCHSパラメータ(シリンダ数、ヘッド数、セクタ数)を自動で認識し、適切に処理することを可能にしています。しかし、規格の互換性が不十分な場合があり、実際には正しく認識できないことが多々あります。BlueSCSIでは、ハードディスクなどのデバイスを実際の機器に似せてエミュレーションする仕組みがあり、これにより互換性を向上させています。適切な設定ファイルを作成することで、SCSIインターフェイスが正しく認識できるように調整可能です。
PC-98シリーズの55互換SCSIインターフェイスでは、ハードディスクのパラメータ取得に失敗することが多いため、設定ファイルの使用が必要になることがよくあります。一方、92互換SCSIインターフェイスでは「8ヘッド32セクタ」に統一されていますが、55互換として動作する状態で認識に問題が生じる場合は、やはり設定ファイルが役立ちます。
また、NEC純正のSCSIインターフェイスボードには、ハードディスクのベンダーチェックが行われる仕様があります。ここで、ハードディスクのベンダー名に「NEC」という文字列が含まれていないと、そのハードディスクを使用できないという制約があります。しかし、BlueSCSIの設定ファイルでベンダー名の文字列に「NEC」を含めることで、SCSIインターフェイスボードに対して利用可能なハードディスクとして認識させることが可能です。
512MB(480MB)のハードディスクとして認識させたときのbluescsi.ini[SCSI] System="Generic" Quirks=0 EnableSCSI2=0 MaxSyncSpeed=0 SectorsPerTrack=32 HeadsPerCylinder=8併せて、CHSパラメータを指定してハードディスクのイメージファイルを作成しています。(後述) 1GB(902MB)のハードディスクとして認識させたときのbluescsi.ini
[SCSI] System="Generic" Quirks=0 EnableSCSI2=0 MaxSyncSpeed=0 SectorsPerTrack=64 HeadsPerCylinder=8
上は、日本テクサのSCSIは4ヘッド64セクタのフォーマットという情報を得たので、それに従ってCHSパラメータを合わせてイメージファイルを作成(後述)し、bluescsi.iniではSectorsPerTrack=64を指定しています。(ヘッドは4である必要はなさそうで8を指定しています)

ハードディスクのイメージファイルは、PC-98エミュレータ「Neko Project 21/W」を使用して作成しました。ただし、単にHDDサイズを指定するだけでは、PC-9801FA側で正しく認識されなかったため、Advanced設定でシリンダー、ヘッド、セクター、セクターサイズのパラメータを手動で入力しました。それでも、正しく認識されることが少なく、かなり手こずりました。上の画像は、512MBに近づけるようパラメータを設定し、結果的に480MB程度で正常に動作した時のものです。

1GB以上のイメージ作成にも挑戦しましたが、ほぼ全て失敗しました。上の画像では1GBを目指したものの、PC-9801FAでは902MBとして認識されました。これ以上大きなサイズは32MBなど極端に小さく認識されてしまうため、ヤフオクで購入したPC-9801FAに搭載されていた(前オーナーが追加した)日本テクサのSCSIインターフェイスでは902MBが限界のようです。この記事以降も、この902MBのイメージファイルを使用していきます。902MBはPC-9801FAと日本テクサのSCSIインターフェイスとMS-DOSの組み合わせで認識可能な最大サイズです。MS-DOS以外ではさらに大きなサイズを正しく取り扱える場合があります。

作成した空のハードディスクイメージファイルをmicroSDカードに書き込み、PC-9801FAをMS-DOSのフロッピーディスクから起動して、認識されたハードディスクの初期化を行いました。今回作成した1GBのイメージファイルは902MBのハードディスクとして認識されました。この902MBの内、MS-DOS用として確保する領域(パーティション)は64MBにすることにしました。これは、1.2MBフロッピーディスク約50枚分に相当する容量です。30年以上前に、「がとらぼ」の人は、購入した100MBの外付けSCSIハードディスクを(愚かにも)「一生かかっても使い切れない」と思っていたのですが、64MBでも当時としては十分な容量でした。ちなみに、PC-9801FAのハードディスク内蔵モデルは40MBと100MBの2種類があり、その容量差60MBの価格差が7万円もありました。また、ハードディスク無しモデルも販売されていました。当時の主なデータはテキストファイルやワープロのデータファイルです。当時のワープロといえば文字の大きさが普通の文字、倍角と4倍角程度で、装飾機能も少なく、単なるテキストデータと比べて極端に巨大なファイルになるものではありませんでした。なので、1.2MBのフロッピーディスク1枚でも十分に使えた時代でした。
この記事では、エミュレータ上で作成した空のイメージファイルを使用し、それをPC-9801実機のハードディスクとして認識させてOSをインストールする手順を採っていますが、エミュレータ上でOSをインストールし、環境を整えてから、そのハードディスクイメージをBlueSCSI用のSDカードにコピーし、PC-9801実機で利用することも可能です。ただし、古いSCSIインターフェイスでは、イメージファイルがハードディスクとして正しく認識されるかどうかは不明です。また、MS-DOSやWindows 3.1、Windows 95はエミュレータ上で正常に動作しますが、UNIX系のOSはエミュレータでうまく動作しないことがあるため、エミュレータで構築した環境が実機でそのまま動作するとは限りませんし、エミュレータで環境を構築できるとも限らないことは覚悟しておく必要があります。

MS-DOSのインストールを終え、再起動すると「DOSシェル」が起動します。これは、Windowsのエクスプローラーのような機能を持つMS-DOS純正のファイラですが、操作性はお世辞にも良いとは言えません。そのため、FDやFilmtnといった他のMS-DOS用ファイラを使うことになるでしょう。マイクロソフト製ソフトウェアの使いにくさは、DOS時代から変わっていません。このユーザーにとって嬉しくない謎のこだわりの正体は一体何なのでしょうか。

BlueSCSIは、1枚のSDカードに複数のハードディスクやCD-ROMのイメージを保存し、それらを同時に利用することが可能です。イメージファイルにSCSI-IDが適切に設定されていれば、複数のストレージデバイスとして同時に認識させることができます。たとえば、ハードディスクのイメージとCD-ROMのイメージが実機ではそれぞれハードディスクとCD-ROMドライブとして認識されるため、ユーザーはそのCD-ROMからソフトウェアをハードディスクにインストールすることも可能です。画像では、SCSI-ID 1にハードディスク、SCSI-ID 2にCD-ROMが認識されていますが、もちろん、実際には物理的なハードディスクやCD-ROMドライブは接続していません。CD-ROMのイメージファイルには、一般的なISOファイルを利用できます。
この記事や次の記事では、順調に環境構築が進んでいるように見えるかもしれませんが、実際には多くの試行錯誤を繰り返し、BlueSCSIを使えるようになるまでに数日かかりました。さらに、次に行うOSのインストールには、2週間もの時間がかかっています。数々の失敗を経て、何とか動作させているという状況です。
関連記事: