Categories
NEC PC9801 コンピュータ

フロッピー イメージの作成

2021年12月3日にPC-9801実機を使い、Floppy Diskをイメージ化する方法について書きました。
https://adachi-giken.com/2021/12/03/floppy-image/

PC98を使っていた大昔、このようなイメージ化するソフトがあることを知らなかったのでバックアップを取るためMS-DOSの2つの隠しファイル IO.SYS, MSDOS.SYSをattrib -s -h -r ****.sys で見えるようにして、MOディスクに保存していました。
このFloppyの生のファイルのままだとT98-Nextなどのエミュレータでは使えないので、イメージ化することにしました。

方法として、この生ファイルを実機のPC98のフロッピーにコピーしたのち、diskconv.exeやmahalito.exeなどでイメージ化してもいいのですが、Windows機のT98-Next上で作成することにしました。

KeyPointは エディタeditdisk.exe が 仮想ハードディスク hdi あるいは仮想フロッピーディスク fdi を直接編集できること、および変換アプリ vfic.exe が fdi を T98-Nextのndfに変換できることを利用する点です。

具体的な手順としては下記です。
Step-1 HddImageFileMaker.exeで仮想ハードディスクを作成
  例えばこれを freeHD.hdiとします。
この hdi は editdisk.exe で中身を編集できるので、ここにFloppy diskの生のファイルをコピーします。
このようなfreeHD.hdiを用意します。

Step-2 T98-Nextを起動
  HD-1にはシステムの入った仮想HD。ここではMSDOS50AH.hdi
HD-2には freeHD.hdi
起動後、freeHDをフォーマットし、領域確保しておきます。

Step-3 editdisk.exe で freeHD.hdiに生ファイルをドラッグ・ドロップでコピー
  右側はNASに保存していたFloppyの生ファイルです。
左側はeditdisk.exeで開いたfreeHD.hdiでドラッグ&ドロップでコピーした状態です。

Step-4 仮想FDをT98-Nextで作成
  作成したFDを disk-1.NFDとします。

Step-5 disk-1.NFDをEjectしてから、起動後フォーマット

Step-6 freeHD.hdiにコピーした生ファイルをC:ドライブ(disk-1.nfd)にコピー

Step-7 disk-1.NFDに正しくコピーできたかdisk-1.nddで起動してみる
  ここで問題が発生。間違いなくすべてのファイルがコピーされているのに
  No system files の警告で起動できず

Step-8 システムファイルのみコピー
  いろいろ試行錯誤した結果、io.sys, msdos.sys, command.comのファイルのみ
  先にコピーした後、残りのファイルをコピーしたらOKになりました。
  なぜこのようなことになるのか、原因は不明です。 

3systemのみで起動 OK

残りファイルをコピー OK

Step-9 diskconv.exeでfloppyをイメージ化
  C:のFloppyをdiskconv.exeでイメージ化しb:ドライブに\disk-1.imgとして保存

Step-10 b:ドライブのfreeHD.hdiをeditdisk.exe で編集し、disk-1.imgを取り出す
  このdisk-1.imgをNASやMOなどにドラッグ&ドロップし保存。

別の方法
editdisk.exeを使い、直接仮想FDを編集する方法。
Step-1 仮想FDをT98-Nextで作成
  作成したFDを disk-1.NFDとします。
Step-2 disk-1.NFDをEjectしてから、起動後にdisk-1.nfdをセットしフォーマット
Step-3 disk-1.NFDを vfic.exe でdisk-1.fdiに変換

Step-4 editdisk.exe で disk-1.fdiに生ファイルをドラッグ&ドロップでコピー

Step-5 vfic.exe で disk-1.fdiをdisk-1.nfdに変換する
Anex86の fdi はT98-Nextでは使えないため、nfdに戻す。

Step-6 T98-Nextでdisk-1.nfdをセットし、diskconv.exeでイメージ化 fig14, fig15
あとは方法1のStep-9以降と同じ

Step-7 念のため、方法1のStep-7で起こった問題がないか確認。
 disk-1.nfdで起動できるかチェックしておく。
 同じ問題が起こり、このdisk-1.nfdでは起動できなかったので、Step-6 のイメージ化は失敗。

 色々確認したところ、この第2の方法でもStep-4の段階で、
 io.sys, msdos.sys, command.com のシステムを最初にコピーしてから、
 残りをコピーすればOKとなることが判明。

”通りすがりさん” からの下記のコメントがあり、疑問が解決しました。

2022-03-30 05:48:01ファイルをコピーする際、順番に気をつけないとDOSを起動できないのはFD(イメージ)または
HDDのパーティションの先頭セクタに記録されているプログラム(IPL)が、ルートディレクトリおよび
データ領域の先頭にIO.SYSがある前提で読み込む為です。他のファイルがあると起動しません。
次にIO.SYSは、IO.SYSの次の位置にMSDOS.SYSがある前提で読み込みます。
これも別のファイルがあると起動が途中で止まります。
なおCOMMAND.COMはルートディレクトリにあればよく、それ以外には位置は問いません。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です