最終更新:2020/8/12
パフォーマンスの改善とMach-2との相性問題を解決するためにバージョンアップします。ソースコードも大きくリファクタリングしたためバージョンを1.50としました。新たにベアメタル版のソースコードが入っています。試行錯誤中で公開予定は無かったのですが要望がありまして断るのも面倒になったんので公開しますw
RaSCSIは過去の遺物と化したSCSIデバイス(ハードディスク,MO,CD-ROM)を仮想的に再現するエミュレータの一種です。XM6 TypeGのSCSI制御を利用して開発されました。Raspberry Pi(以下RPI)に導入することでRPIがSCSIデバイスの様に振る舞います。SCSIコネクタの代わりにRPIのGPIOを18本+GND1本を使用します。RPIをX68000(SUPER以降のSCSI機)に接続するためには専用の変換ケーブルを自作する必要があります。因みにRaSCSIはX68000と組み合わせることで様々な機能拡張を行いますが単なるSCSIハードディスクとして使用する場合はFM TOWNS等のSCSIを採用した他のレトロPCでも使用できると思います。
![]()
仮想ディスクデバイス(HDD,MO,CD)
SCSI接続のハードディスク,光磁気(MO)ディスク,CD-ROMをエミュレーションします。RPI側ではXM6で作成できるディスクイメージファイルを仮想SCSIディスクデバイスとして認識しますがX68000側には物理的なデバイスが存在しているように認識されます。version1.24からSASIについてもを正式にサポートしました。イーサネット通信
X68000側にRaSCSIが提供するイーサーネットドライバを導入することでRPI側のブリッジデバイスを通じてTAPデバイス(仮想ネットワークI/F)を利用した通信が可能になります。X68000側のドライバはNeptune-Xのドライバと置き換えることが可能です。リモートドライブ
X68000側にRaSCSIが提供するリモートファイルシステムドライバを導入することでRPI側のブリッジデバイスを通じてRPIのファイルシステムをそのままドライブとして認識させることができます。XM6のWindrvXMと同様の機能を実機で提供するものです。イニシエータモード
SCSIデバイスを制御(ホスト側)するイニシエータモードを利用できます。これは物理的に接続されたSCSIハードディスク等をダンプしたりリストアしたりといった応用が可能になります。但し後で説明する直結もしくはイニシエータモードを利用できるようにした変換基板が必要です。
下記回路図を参考にご自身で作成することもできますし有償で頒布(委託販売やBOOTH等)されている方から入手して下さい。
![]()
作者も公式版としてBOOTHで有償頒布を開始しました(数に限りがありますので不定期です)。
GIMONS DEVELOPER WORKS(BOOTH)
![]()
ケーブル結線図
Raspberry Pi(GPIO)<=> 接続(変換)ケーブル <=> (外部SCSIコネクタ) X68000
![]()
SCSIコネクタ側のGNDを可能な限り多く(できれば8本)引き出してRPI側のGNDに接続すると安定するようです。
ケーブル製作例
![]()
材料は40ピンMILコネクタ、セントロニクス50ピンのオス、フラットケーブルを使用しました。フラットケーブルは30cm以内にしておいたほうがいいです(これ以上の長さで実績はありません)。SCSIコネクタはX68030やXVI Compactはハーフサイズのオス(リボンタイプ)でその他のSCSI機はフルサイズのオスになるでしょう。写真の様に変換アダプタを使うのもありです。GPIPピンは綺麗に並んで無い上にアプリの作り上飛び飛びのピンを使っているのでどちらで結線を調整するかは悩ましいところ。私はSCSIコネクタ側は普通に半田付けして結線はMIL側で一本づつ確認しながら圧着していきました。
直結基板例
![]()
直結基板というものもあります。基本的に直結ケーブルと同じですが電気的に安定しやすいのかSCSIケーブルを使っても問題なさそうです。
以下の動作環境で動作します。Raspberry Pi
- Raspberry Pi Zero
- Raspberry Pi Zero W
- Raspberry Pi Zero WH
- Raspberry Pi 2 Model B
- Raspberry Pi 3 Model B(推奨)
- Raspberry Pi 3 Model A+(推奨)
- Raspberry Pi 3 Model B+(推奨)
- Raspberry Pi 4 Model B
Zero/Zero W/Zero WHでは性能的に少し不安定かもしれません。
3 Model A+/3 Model B+/4 Model Bは高性能ですが熱の影響でCPUクロックが変動することがありますので対策が必要でしょう。
対応OS
RASPBIAN BUSTERで開発およびテストしています。RaSCSIはSCSI信号をGPIOを利用して制御しているので可能な限り低レイテンシーの状態で使用する必要があります。したがってCUIモードで利用することを推奨します。
以下の動作環境で動作します。X68000
SUPER以降のSCSI機を推奨します。SCSIボードを増設した機種でも動作実績があります。
初代,ACE,EXPERT,PRO等のSASI機ではSASIハードディスクエミュレーションのみが使用できます。SxSIについてはあまり動作確認していませんので動作報告いただけると助かります。因みにパリティは使っていないのでパリティ回路を付加する必要はありません。対応OS
イーサーネット機能、リモートドライブ機能はHumanのデバイスドライバのみを提供しますので全機能を利用するためにはHuman3.02を推奨します。SCSIストレージだけであればNetBSD等でも問題ないでしょう。
SCSI ハードディスク
HDSファイル形式(拡張子HDS/HDN/HDI/NHD/HDA)
ファイルサイズは10MB以上4095MB以下の範囲で任意のサイズ(但し512バイト単位)。
拡張子が"HDN"の場合はPC9800シリーズのPC-9801-55ボード向けのNEC純正ハードディスクエミュレーションを行います。INQUIRYやMODE SENSEで返却される情報に違いがあります。拡張子が"HDI","NHD"の場合はそれぞれPC98エミュレータであるAnex86及びT98NextのSCSIハードディスクイメージを使用するものです。HDNの時と同様に一部の情報がNEC用に変換されます(Thansk savaさん)。
拡張子が"HDA"の場合はMacintosh向けAPPLE純正ハードディスクエミュレーションを行います。INQUIRY及びMODE SENSEで返却される情報に違いがあります。
SASI ハードディスク
HDFファイル形式(拡張子HDF)
ファイルサイズは10441728バイト、20748288バイト、41496576バイトのいずれか(それぞれ10MBドライブ、20MBドライブ、40MBドライブに対応)を推奨します。256バイト単位であれば10M~512Mの任意のファイルサイズがマウント可能です。
Version1.46から22437888バイトのイメージはMZ-2500/MZ-2800 MZ-1F23専用の 20MBイメージとして認識します(ブロックサイズが1024という特殊イメージ)。SCSI 光磁気(MO)ディスク
MOSファイル形式(拡張子MOS)
ファイルサイズは次の4種類のいずれか。128MBタイプ (127398912バイト)
230MBタイプ (228518400バイト)
540MBタイプ (533248000バイト)
640MBタイプ (635600896バイト)
128MB,230MB,540MBは512バイト/セクタ、640MBは2048バイト/セクタになります。
SCSI CD-ROM
ISOファイル形式(拡張子ISO、ISO9660ベタイメージ)
モード1(2048バイト/セクタ)で、データのみ格納されたファイルとRAW形式で記録されたファイルの両方に対応しています。
RaSCSI(version 1.50)
RaSCSIのRPI側プログラム及びX68000用各ドライバとドキュメントです。各プログラムのソースコードもアーカイブに含まれます。
RaSCSI(version 1.47)
GIMONSが動作検証した基板に関する情報です。
それぞれの基板製作者のホームページからX68000以外での動作実績が公開されていることがありますのでご確認下さい。
RaSCSI Version 1.44p1
基板作者 タイプ モデル RPI ターゲット 起動(READ) 複写(READ/WRITE) フォーマット RASDRV 負荷テスト GIMONS DEVELOPER WORKS ダイレクトリンク Version1.0 3B PRO(SASI) ○ ○ ○ ○ DiskBench Compact(SCSI) ○ ○ ○ ○ DiskBench GIMONS DEVELOPER WORKS フルスペック Version1.0 3B PRO(SASI) ○ ○ ○ ○ DiskBench Compact(SCSI) ○ ○ ○ ○ DiskBench あいぼむプロダクツ フルスペック RaSCSI Adapter 3B PRO(SASI) ○ ○ ○ ○ DiskBench Compact(SCSI) ○ ○ ○ ○ DiskBench GAMERnium.com フルスペック RaSCSI EX 3B PRO(SASI) ○ ○ ○ ○ DiskBench Compact(SCSI) ○ ○ ○ ○ DiskBench @naka_mobile版 フルスペック 基板番号ND161B 3B PRO(SASI) ○ ○ ○ ○ DiskBench Compact(SCSI) ○ ○ ○ ○ DiskBench Project M.P.S フルスペック RaSCSI Zero
アンフェーノル
ハーフピッチ版ZeroW PRO(SASI)
コネクタ変換経由○ ○ ○ ○ DiskBench Compact(SCSI) ○ ○ ○ ○ DiskBench
ディスク一杯
SCSI IDは0-7まで自由にアサインできます。通常PC本体がイニシエータでIDを付けるので実質7台までです。
![]()
起動ディスク
ブートデバイスとしても利用できますぞ。
![]()
DSKBENCH
ベンチマークも中々の数値を叩き出します。物理HDDと遜色ないでしょ(SCSI1だけど)。
![]()
FM TOWNSⅡでも使えた
X68000のために開発したけどFM TOWNSでも普通に使えちゃった。
![]()
ラズパイのファイルをそのまま使う
実機なのにWindrvXM気分が味わえるRASDRVの威力。
![]()
イーサネット接続もでるぜ
X68000からRPIにTELNET中。Neptune-Xはもういらないや
SCSIフラットケーブルの信号線
![]()
SCSIフラットケーブルで結線したRaSCSI戦士からいただいた情報です。
2020/8/12 Version1.50を公開(チューニングとMach-2との相性問題を修正)
2020/4/11 Version1.47を公開(060turboの030モードで起動しない現象を回避、その他バグ修正)
2019/12/29 Version1.46を公開(RaspberryPi4対応、その他バグ修正)
2019/4/28 Version1.45を公開(XM6 TypeGとのソース統合,SELECT時のビジー解除待ちにタイムアウトを設定)
2019/3/22 Version1.44p1を公開(rasdumpの安定性向上)
2019/3/12 Version1.44を公開(性能改善、RPI Zero/wでの安定性向上、HD0~16指定の対応)
2019/2/17 動作検証情報を追加
2019/2/16 Version1.43を公開(SASIのフォーマット不具合とPC98純正55での起動不具合の解消)
2019/2/11 Version1.42を公開(SASI機、遅いSCSI機、RASDRVの安定化、その他修正多数)
2019/2/4 Version1.41を公開(SASI $C2 SPECIFYコマンドの処理を修正)
2019/2/3 Version1.40を公開(カーネルモジュール廃止、その他修正多数)
2018/12/11 ターゲット&イニシエータ回路図削除(ややこしいので)
2018/4/26 Version1.34を公開(rasdump改良,HDNとHDIで256バイト/セクターを試験的に解放、NetBSD対応パッチのマージ)
2018/2/10 Version1.33を公開(GAMERnium.comフルスペック版対応,タイミング修正)
2017/12/3 Version1.32を公開(PC98向けサポート強化,タイミング改良,フルスペック版バイナリ追加,その他バグ修正)
2017/9/5 Version1.31を公開(イニシエータモード対応,RASDRV改良)
2017/7/1 Version1.30を公開(PC-9801-55用純正NEC HD対応,Macintosh用Apple純正 HD対応)
2017/6/25 Version1.26を公開(PC98向け55ボード対応拡充,MAC対応実験)
2017/6/18 Version1.25L10を公開(RASPBIANのcpuinfo仕様変更への緊急対応)
2017/6/18 Version1.25を公開(転送エラー処理とRST信号の受信処理を修正)
2017/6/17 Version1.24を公開(カーネルドライバによる安定性向上)
2017/5/21 Version1.23を公開(PC98向け55ボード対応実験,SASIハードディスク対応実験,@132syncさん版,tomcatさん版変換基板用バイナリ追加)
2017/5/1 Version1.22を公開(ATN信号受信時の処理を修正,ENABLE信号の出力追加,変換基板用のSCSI制御論理の追加 *再コンパイル必要)
2017/4/10 Version1.21を公開(不要コードの削除,ピンアサイン変更対応,ACTIVE信号の出力追加,ホストファイルシステムのバグ修正)
2017/4/09 「電気的に安全な接続方法の考察」に回路図案を追記
2017/3/23 「電気的に安全な接続方法の考察」等を追記