T98-NEXTで共有フォルダを使う!!ネットワーク共有の代わりに★

実は(というほどでもないですが)T98-NEXT上で業務アプリをいまだに使用しています。
ソフトウエアはMS-DOS用のもので、複数台のPCをネットワークで繋いでファイル共有をしています。
しかし、TCP/IPではない為、エミュレーターのT98-NEXTを使用してもファイル共有はできそうに
ありませんでした。
物理PCがまだ動いているのですが、さすがにエミュレータも含めて移行を調査しています。
最近、WINRAM98+(WINRAM98Plus)というT98-NEXTのアドオンを見つけたので使用してみました。
このアドオンはエミュ内にRAMDRIVER(RAMDISK)を作成して、RAMDRIVEの内容を指定した物理PCの
フォルダと同期させる機能のあるものです。
そのフォルダを複数のPCで共有(これはwinodws上のいわゆる共有フォルダ)することで、複数の
エミュPCのDOSで、ファイル共有といったファイルのやりとりができそうです。
結果、いい感じで使えました。

※注意しないといけない、うまく動作しないケースがありましたので、最後尾に記載しました。

最初、RAMDRIVEの保存先をフォルダにしていたのですが(共有フォルダとして使用するときはマウントする設定で。RAMDRIVE内に作成したファイルやフォルダがWindows上に1つ1つ現れます)ちょっと不安定なところがあったのですが、ソースを公開していてくださっただので、修正することができ
    T98-NEXTをWindowsXP SP2、Windows 7 SP1
    共有フォルダをネットワーク上のフォルダ(容量4TB)
の環境下で安定して動作しています。
久しぶりのCプログラミングでのめりこんでしまい、いろいろと修正・機能追加をしました。

エミュレータを使用してのMS-DOSで、他のMS-DOSとファイルのやりとりをする手段は皆無のようなので、RAMDRIVEとそのフォルダ書き出し機能によるファイル共有は私には救世主的存在でした。

基本的に、ハードディスク(NHD仮想ドライブ)とRamDrive間でファイルのやりとりを行って
ファイル共有として使用できるように調整しました。

以下のやりとりは大丈夫です。
MS-DOSコマンドによる
  ファイルコピー
  ファイル削除
  フォルダ作成
  フォルダ削除
また、ワイルドカードを使用してRamDriveに対して DEL *.* というのも大丈夫です。(直しました)

RamDrive内での【COPY a.txt b.txt】や【REN】(リネーム)は不具合が生じます。そのときはT98-NEXT
の電源ボタンのオン・オフにて再起動させてください。

※使用上の注意点としては、とにかくリネームは行わないでください。リネームはRamDriveの仕様では正常に動作しません。
リネームすると、そのファイルと、その後の全てのコピー等の操作でWindows側のマウント・フォルダに正常に反映できなくなります。ファイルサイズが0のものばかり作成されてしまいます。RamDrive内のデータも壊してしまうようです。
万が一間違ってリネームしてしまった際は、T98-NEXTの電源ボタンで再起動してください。

※また、GFやFDといったファイラーで複数のファイルをRamDriveへコピーすると、ファイルサイズが
0になったりファイルの中身が意味不明なものばかりになってしまいます。FLMNTでは大丈夫でした。
RamDriveへはCOPYコマンドでファイル名を指定するか、*.*のようにワイルドカードを用いて
コピーしてください。

DOSコマンドの動作状況
  1.COPYコマンド *.*もOK
  2.DELコマンド *.*もOK
  3.RENコマンド NG
  4.MKDIRコマンド OK
  5.RMDIRコマンド OK

ファイラーの動作状況(GFでのテスト)
  1.ファイルコピー 複数は NG
  2.ファイル削除 複数でも OK
  3.リネーム NG
  4.ディレクトリ作成 OK
  5.ディレクトリ削除 OK

■■■想定される使用方法■■■
1.共有フォルダに対して、エミュ毎にエミュのパソコン名のフォルダを作り、エミュ > エミュ名のフォルダにコピー
2.エミュ名のフォルダ内をWindows側やサーバー役のエミュで操作(バッチ処理トランザクション等)
3.エミュ名のフォルダに最新のデータファイルを設置(サーバー役エミュ又はWindows側の操作にて)
4.エミュ名の共有フォルダから最新のファイルを自分のハードディスク(NHDの仮想ドライブ)へコピーする。
5.最新のデータで業務を行う。
Windows側のマウント・フォルダの変更がうまくエミュ内のRamDriveに反映されない場合は
 お手数ですがT98-NEXTの電源ボタンのオン・オフで再起動をしてください。
 一日の始まりや終わり、月末のファイルのバッチ処理的なやりとりで使用するPC98時代の業務で
 実用に耐えれるようにはしたつもりですが、COMMAND.COMがRamDriveの外部からの変更をキャッチ
 できないケースは対応方法が不明です。すみません。

なんか、25年前の昔、私が小学生の高学年頃にストリーマーというテープ装置と切り替え器で、1台毎に(PC98VXの時代でした・・・)サーバー役のパソコンとファイルコピーを親が行っていたのを思い出します・・・(涙)
最新のi7プロセッサでも手法はIPXネットワーク登場以前という・・・
とりあえず、いざというとき業務内容を移行する準備はちゃくちゃくと・・・

フォルダに対して読み込みのみにする機能やログ機能、若干のバグ取りを行ったものを
ソース付きで公開しております。
よかったら自己責任にてどうぞ。



RamDrive98Plusを修正したものです。(ソース付)
http://yahoo.jp/box/Kl2kLf
元は http://www9.plala.or.jp/feature/Soft.htm のFeature 1 Factoryさんが2004年頃に作成されたものです。
この場を借りて感謝申し上げます。