MPSロゴ 「RASCPY」で他のマシンとPC-98で自在にデータやり取り トップページに戻る
コンピューターが個人の手で扱えるようになった古来(?)より、異なる機種・アーキテクチャ間の
データ交換には色々な壁が立ちはだかってきました

・同じプログラム言語でも異なるメーカーだと部分部分で互換性が無い
・記録メディアの物理的な壁(カセットテープ・8/5.25/3.5インチフロッピー・ハードディスク)
・記録メディアの信号的な壁(ST-506/SASI/SCSI/IDE/SATA/USB/IEEE1394など)
・フロッピーの物理フォーマットの壁(1S~2HD)
・フロッピーの論理フォーマットの壁(独自フォーマット・セクタサイズなど)
・OSの壁(MS-DOSとWindowsなど)
…とまぁ、列挙していくとキリがないです

今でこそ、USBポートが付いている機種間ならデータ交換の「壁」はなくなりましたが、昔は100バイトの
ファイルを送るのに、異なるどころか同じアーキテクチャ間でもデータの受け渡しに苦心したものです

その「苦心」は今でも生きています。例えばWindowsマシンでインターネットからダウンロードした古いPC用の
プログラムファイルを、それが使えるPCに持っていこうとしても受け渡し手段が無い

以前は3モードUSB3.5インチフロッピーなどを経由して受け渡すなど救済手段がありましたが、OS側で対応を
切られたり、そもそも物理的(3.5インチ→5インチ)に無理だったり、メディアの劣化でエラー頻発で使い物に
ならなかったり、フロッピーの容量を超えているため分割転送など余計な手間が必要になったり・・・

あとはUSB接続のMOやCD-Rに焼いて、実機側にもMOとCD-ROMを用意する・・・やっぱ面倒ですよね

もう一つの方法がRS-232C/パラレルポートを使ったケーブル接続です。これも機種間の壁を乗り越える
手段ですが、ハードウェアの壁を乗り越えられてもソフトウェアの壁(そのOS用の通信できるソフトが無い)
など現実的ではありません。Windowsでは初代95からXPくらいまでケーブル接続がサポートされていた
のですが、それ以降のWindowsではサポートされていない上に、接続できるのが同じWindows95以降なので
そもそもWindows95すら入れられない機種では使い物になりません

では、MS-DOS用ではどうか?商用では「MAX-LINK」、フリーソフトではRDISKあたりが有名ですが
両方ともネイティブDOSを必要とするので、ギリギリWindowsMeのMS-DOSモードまでの対応となります

もしかしたら、私が知らないだけでWindows10とMS-DOSを繋げることが出来るシリアル通信
ソフトウェアが存在するのかもしれませんが・・・(でもPC-98で使える?)



前置きが大変長くなりましたが、それら問題はSCSI搭載機に限り「RaSCSI」で全て解決できるように
なりました。X68kのRASDRVやPC-98のRASCPYに相当するソフトが無いSASI機やFM TOWNSでも
DiskExploerを使えば間接的なファイル受け渡しを出来るようになります

本項ではPC-98シリーズで使う方法を紹介していきます。一部はSASI機/FM TOWNSでも使用可能です

この作業はホスト機から実機までどうしてもファイルを受け渡す方法が無い場合の作業で、
USB3.5インチフロッピーなどで直接ファイルを受け渡すことが出来る場合はやらなくていい作業です

また、ベアメタル版の場合はネットワーク転送のくだりをSDカード転送に読み替えてください

必要なもの ※RaSCSIの環境はすでに整っているという前提で話を進めていきます
・SCSIボード(内蔵・Cバスタイプ問わず)
・実機でブートできるMS-DOSのシステム(あとハードディスクやフロッピーディスクのフォーマットコマンド必須)

1:RaSCSIで使えるディスクイメージを作る
ディスクイメージの作り方はこちらを参照
実機でファイルを受け渡せればいいので、容量は多くても40MBくらいでいいと思います

2:ディスクイメージをRaspberry PIに転送
転送はsambaないしSFTPでね

3:RaSCSIコマンドでディスクイメージをマウント
XM6 TypeG&ddで作った場合→.hds
T98-NEXTで作った場合→.nhd
Anex86で作った場合→.hdi
マウントした後に実機をリセットしてHDDをSCSIボードに認識させてください

4:マウントしたRaSCSIハードディスクをフォーマット
MS-DOS6.2までは「FORMAT.EXE /H」で該当ディスクを論理フォーマット→領域確保
MS-DOS7.0(Windows95)以降は「DISKINIT.EXE」(論理フォーマット)・「FDISK.EXE」(領域確保)で
正常にフォーマットまで出来たか確認するために、起動システムまで入れておくと良い

5:RaSCSIのマウントを解除
解除したあとは、必ず実機をリセットしてHDDの認識を外してください

6:ディスクイメージをホスト側に書き戻す
SFTP使用の場合。sambaの場合はそのままイメージデータを操作出来るのでやらなくてよい

7:必要なファイルをダウンロード&作成する
・各種ディスクイメージファイルの編集:DiskExplorer
・PC-98シリーズ用 ASPIマネージャー:HENRRY
※ASPIマネージャであれば種類は問わないので、別にSCSIボード付属のASPIマネージャでもよい
・Raspberry PIとのデータやり取り:RASCPY
またはRASDRV for DOSかRASDRV for PC-98(リンク先は同一)

※RASDRVを使う場合は、RASCPY.EXEの部分をRASDRVAS.EXE(RASDRV55.EXE)に読み替えてください

DiskExplorerは独立したフォルダに展開
HENRRY(HENRY103.SYS)とRASCPY(RASCPY.EXE)は該当ファイルだけをどこかに一時的に展開してください

プラス、テキストエディタでASPIマネージャを組み込むCONFIGファイルを作ります
DEVICE=\HENRY103.SYS /F
LASTDRIVE=Z


とだけ書き、CONFIG.SYSというファイル名で保存

8:DiskExplorerでディスクイメージファイルを開く
「editdisk.exe」を実行すると、ファイルを選択するウィンドウが開きます。そこで編集したいディスクイメージを選択して下さい

・「T98-NEXT」と「Anex86」のディスクイメージは自動認識します
・「XM6 TypeG」で作ったイメージはプルダウンメニュー一番下段の「Human68k HDD SCSI」を選択

・「dd」で作ったイメージは(Manual HD)を選択し、開いたウインドウの「サーチ」ボタンを押し
「IPLに確からしいものが見つかりました」というダイアログが確認できたら、上記領域リストを選択して開いてください
Disk Manual

Disk Seach

9:DiskExplorerでディスクイメージファイルを編集
Disk Window
イメージは実機でフォーマットされ、システムファイルを転送されたディスクイメージ

このウインドウが開いたら、先ほど展開しておいたHENRY103.SYSとRASCPY.EXEとCONFIG.SYSを
DiskExplorerにドラッグ&ドロップし、プログラムを終了させます(自動的に書き込み処理されます)

10:編集されたRaSCSIディスクイメージを実機で再マウント
基本的に「3」と一緒ですが、ブリッジモードが有効になっていない場合は有効にするオプションを追加してください
rascsiの場合:sudo rascsi (他のディスクイメージ) -ID6 BRIDGE
rasctlの場合:rasctl -i6 -c attach -t bridge

実機で起動します。起動できる状態の場合はそのマウントしたドライブから、起動できない場合はフロッピーなり
別のハードディスクなりから起動して、該当ドライブを確認してください
HENRY103.SYSとRASCPY.EXEとCONFIG.SYSという3つのファイルが確認できればOKです

あとはそのファイルを実機の別のディスクに移すなり、システム起動できるフロッピーディスクを作って
機種間ファイル交換のキーディスクとして活用するとか色々あります

11:「RASCPY」の使い方
※プログラムの実行にはASPIマネージャが組み込まれていることが必要です

詳しくはRASCPYのドキュメントをご覧ください…というのはあまりにも雑なので、基本的な使い方と
ドキュメントに書いていない部分を箇条書き的に書いていきます

・基本的な使い方 Raspberry PI側のファイルの表示
rascpy dir /home/pi ※Raspberry PI側の/home/pi直下のファイルリスト表示(MS-DOS風)
rascpy ls -l /home/pi ※Raspberry PI側の/home/pi直下のファイルリスト表示(Un*x風)

・Raspberry PI側から実機側にファイルを転送する
rascpy get /home/pi/file.bin ※Raspberry PI側の/home/pi直下にあるfile.binを転送

さらに、実機側で転送先やファイル名を変えたい場合は、転送先フルパスを書く
ちなみに1ファイルづつしか転送できない(ワイルドカード不可)

・実機側からRaspberry PI側にファイルを転送する
rascpy put A:/doc/file.bin /home/pi/file.bin ※実機側のa:/doc直下にあるfile.binを転送
転送先は必ず「ファイル名まで含め」フルパスで書くこと

こちらも1ファイルづつしか転送できない。複数のファイルを転送する必要がある場合はLHAなどであらかじめ
まとめてから送るべし。それはRaspberry PI側へファイルを転送するホスト側も一緒

11A:「RASDRV for DOS(55BIOS)」の使い方
※ASPI版の実行にはASPIマネージャが組み込まれていることが必要です、55版の場合は必要ありません
両方ともファイル名の違いだけで、コマンドライン自体は同一です(説明はASPI版)

RASDRV
オプションなしで起動すると、自動的に末端ドライブ番号・Raspberry PI側は/home/piにパスが割り当てられます

起動オプション(マニュアルより抜粋)
RASDRVAS -In -Ddrive:basedir

-In:RaSCSIブリッジポートのSCSI-ID(デフォルト6)
-Ddrive:マウントする未使用論理ドライブ(デフォルト、末端ドライブ)
basedir:Raspberry PI側のマウントするパス(デフォルト、/home/pi)

たとえばRaSCSIブリッジポートIDが5でRaspberry PI側の/home/pi/rasimgをZドライブにマウントする場合は
RASDRVAS -I5 -DZ:/home/pi/rasimg/
と書く

ドライブマウントを解除する場合は
RASDRV -R
と入力する
制限・仕様
・ASPIマネージャの仕様か(?)、Raspberry PI側で8文字を超えるファイルはファイルリストから見えない
・転送速度は大体500KB/s程度(SCSIインターフェースの性能に依存、SMIT転送でもそんなもん)
・なので、何百メガもあるような巨大ファイルを送りたい場合は、じっと待つか、ホストPC側でCD-ISO化して
実機でCDマウントして転送するかしたほうがいい(それでもRaSCSIの転送速度は1MB/sちょいなので試される)
・RaSCSIがroot権限で動いている都合で、RASCPYもrootでしか読み書きできないファイルでも容赦なく読み書きする


1つ前のページに戻る