Gigamix Online

懐かしの8bitおもちゃPC「MSX」を骨までしゃぶり尽くそう。MSXの最新ニュース、ブログ、自作ソフトの配布など。

ネットで見つけたMSX向けフロッピーディスク・ディスクイメージ関連ツールまとめ

 見つけ次第、随時追加します。

https://p.gigamix.jp/devmsx/cg/floppydiskimage-tools_title.png

 MSX0 Stackの登場で、フロッピーディスクのイメージ化(ディスクイメージ)のノウハウが再び脚光を浴びています。2023年現在の最新状況を絡めて、便利に使えるアプリをまとめています。

去年から進めていたMSXのフロッピーディスクのバックアップ、とりあえず第1便(200枚くらい)をクリーンセンターへ処分しに行くことにしました。30年前のデータが今でも残ってくれて本当にありがとう…。他のフロッピーも急いで進めないと… pic.twitter.com/gvW7We7AEs — Takashi Kobayashi (@nf_ban) 2019年7月13日
 令和の時代を迎えた今でも私(nf_ban)みたいにフロッピーディスクを大量にかかえている人、他にもいらっしゃいませんか?最早いつ消えてもおかしくない、磁気メディアのフロッピーディスク。ディスクイメージは過去データのバックアップ手段の一つとしても有効です。

ディスクイメージとは

 ディスクイメージとは、フロッピーディスクの記録内容をクラスタ単位で吸い出して1ファイルに集積したデジタルデータです。

 複数のデータを1ファイルへ集積するという視点においてはLZHやZip等のアーカイバに近い存在ですが、ディスクイメージは各種アーカイバのように「保存されたファイルを集積する」のではなく、フォーマット処理により分割されたセクタやクラスタといった「フロッピーディスクの構造そのものを集積する(結果的にDOSフォーマットとファイルの存在が再現される)」という違いがあります。

https://www.sugilab.net/jk/joho-kiki/1506/

 フロッピーディスクの構造について、詳しくは下のWebページが参考になります。

↓こちらをクリック↓ park12.wakwak.com

 ディスクイメージは主にMSXの各種エミュレータの物理ストレージドライブを仮想的に再現する手段として用いられます。特に市販のゲームソフトはDOSフォーマットではないメーカー独自のフォーマットを採用されたケースも多く、DOSのファイルとして目に見えるようになってはいないがゲームに使用するデータは記録されているような状態を再現するにはディスクイメージによるストレージの再現が必要不可欠となっています。

 MSX向けのディスクイメージは基本的に2DDフォーマットで、クラスタの使用・不使用を問わず全てのクラスタを圧縮などの加工なしにそのまま吸い出した「ベタ形式(拡張子 .DSK, ファイル容量 737280バイト)」が採用されています。

「MSX0」で再び注目を浴びるディスクイメージ

 最近のMSXエミュレータはローカルストレージの任意のディレクトリ・フォルダをエミュレータ側のAドライブとしてマウントできるため、開発・制作用途ではディスクイメージがさほど重要ではなくなりました。

 2023年に発売が予定されているMSX0 Stackは本体ストレージにmicroSDカードを採用されていますが、MSX0 Stackで動作するMSXエミュレータ内のストレージは任意のディスクイメージファイルを「MSX上のAドライブ」にマウントして利用することになりますので、microSDに個々のファイルを入れてもエミュレータ側では認識されず、利用できません。

MSX0はSDカードの中身がそのまま見えるわけではなく、2DDのフロッピーディスクをまるまるダンプしたディスクイメージ(各種MSXエミュレーターで使えるDSKファイル)をSDカードの規定のフォルダに入れておくと… pic.twitter.com/cZrd6arB73 — HRA! (@thara1129) 2023年5月2日

 MSX0においてはエミュレータとPCとのファイルの交換はディスクイメージ経由で行う必要があるため、ディスクイメージの取り扱い方法を知っておく必要がありますね。

ディスクイメージを作成する前の注意点

久しぶりにフロッピーを使う貴方。念入りなカビ対策を!

いやぁもうやんなっちゃうなぁ、このフロッピーのカビ群…掃除し切れるだろうか… pic.twitter.com/mBTVmZOATu — Takashi Kobayashi (@nf_ban) 2020年6月27日
今の時代にフロッピーでゲームするのに大切なことを伝えたい。○フロッピードライブに入れる前に必ずカビの確認を!あなたの愛したゲームはかなりの確率でカビが繁殖しています。経験上たくさん遊んだゲームほどカビはいます。沢山遊んでグルグル機械の中で回し埃や色んなものの付着があり 続く) — redmax.ars (@redmax_ars) 2019年7月21日
続き) 沢山遊んだが故にエンベロープから出し入れを何回もし、その間に空気中にあるカビや餌になる色んなもの付着し、正しくケースに入れてたとしてもその中であなたの大切なゲームにカビが繁殖します。いっぱい遊んだゲームほどです。 — redmax.ars (@redmax_ars) 2019年7月21日

 長期間使用していないフロッピーディスクはカビに汚染されている可能性が非常に高いです。カビ対策されていないディスクをドライブへ使用することは絶対にお止めください。

 具体的なカビの除去作業・手順は以下のツイートにぶら下がっているツリーが本当に参考になりますので、ぜひツイートをお読みになり、実践してみてください。

磁性体部を回転させ見ていきます。大き広がったカビや(白いのが広がっている場合が多い)や小さい点のようなもの(黒いのがおおい) 満遍なくまだらに広がってる場合(かなり厳しい)などなど、色々なパターンがあります。それらを除去してなんとかなんとか読めるように作業していきます。 続く) — redmax.ars (@redmax_ars) 2019年7月21日
カビ取り実践 1)磁性体を回しインデックスホールを確認 2)まず中央部にカビがないか表裏確認 3)中央部カビがある場合データ部分にもまず間違いなくカビがあります、それもきっとすごく多いです。 4)まず中央部のカビを除去しましょう、たっぷりIPAを含ませた綿棒で優しく擦って下さい。— redmax.ars (@redmax_ars) 2019年7月21日
続き)○カビの除去方法 私ごときが語らずとも偉大な先人の方々が検証し公開してくれていますが、私の方法は書いて起きます。必要な物 ・綿棒 (100均) 一杯はいってる安物 ・ガソリン水抜き剤(198円ぐらい) できるだけIPAだけのもの。 ・気合い ・根気 ・愛(そのゲームに対する) ← 重要 — redmax.ars (@redmax_ars) 2019年7月21日
最後に ・絶対に大切なFDからやらないで下さい。どうでもいいFDで練習してから自分にとって大切なFDの作業をして下さい。技術レベルは上がっていきます、それまでは他のFDで練習です。 ・兎に角 根気がいります。これぐらいでいいだろうと手を抜くと後で後悔します。後悔しないためにやりきりましょう — redmax.ars (@redmax_ars) 2019年7月21日

 フロッピーディスクのお手入れがしやすくなるクリーニングキットというものも存在しています。

「フロッピーディスク クリーニングキット」5インチ用、3.5インチ用好評販売中です!これが有るとフロッピーディスクのカビチェックの効率が上がること間違いなしですよっ(ビッグダデー村田) pic.twitter.com/TEk02bPM1x — BEEP秋葉原店 (@BEEP_akihabara) 2022年12月26日
DMM.makeで造形した、フロッピーディスクのメンテナンスキットが届きました!フレームにフロッピーがしっかりハマって掃除が捗りそうです!ただ、ツマミが思ってたのと違う(フロッピーの穴に噛み合わせる凹凸が無い)。造形するパーツが足りなかったのかも… pic.twitter.com/kPjaFKcQgF — Takashi Kobayashi (@nf_ban) 2020年12月24日

2HDのディスクを2DDとして使用していた貴方。穴を塞ぎましょう!

緩募 2HDを2DDとして使うときに穴を塞ぐ丁度いいシール。割と全国的に手に入るものをどなたかご存知でしたら。家に残ってる5インチ用のラベルとか転用して貼っちゃってるけどそろそろなくなる…百均のテキトーなのでもいいっちゃいいんですが — KUMO@reboot中 (@kumokosi) 2020年11月11日
#MSX にも流用可)3.5インチ2HDのFDを、2DDとし使う法 0:必ず3モード対応FDD用意。ディスクは2HDなら何でも 1:ディスクのノッチを「左右両方塞ぐ」(右はシールで 2:C:\Windows\SysWOW64\cmd.exe を管理者モードで起動 3:format a: /f:720 — 1re1 (@1re1) 2020年1月17日

 1990年代、2DDのフロッピーディスクが市場から姿を消し2HDのディスクしか購入できなくなった時代がありました。MSXFDDは本来2HDに非対応ですが、実機では2HDを2DDとしてフォーマットすることが可能であり2HD・2DDの区別なく2DDとしてアクセスが可能だったためにやむを得ずMSX向けに2HDのフロッピーディスクを購入する人が多発しました。

確かに2HDの穴を塞げば2DDとして使うことができる場合が多いのですが、2DDと2HDは磁性体の品質に違いがあるため、穴塞ぎ法は基本的にやむを得ない場合の応急処置、と考えています。可能であれば2DDのFDDには2DDを使っていきたいです。違いについては https://t.co/QESRLn8SXO を参考にしました。 — Takashi Kobayashi (@nf_ban) 2021年5月23日

 磁性体は2HDなのにフォーマットが2DDのフロッピーディスクMSX以外の環境ではライトプロテクトノッチではない反対側の穴を塞がないとアクセスできませんので、何らかの方法で塞いでください。セロテープでも可。

イメージ化の前はディスクにライトプロテクトをかけましょう

Windows 10 HomeにおけるフロッピーディスクやSDカードなどリムーバブルメディアにSystem Volume Informationフォルダを作成しない設定を間違えていたっぽいので、次回作業のための忘備録。 pic.twitter.com/Sct6mrS5ei — Takashi Kobayashi (@nf_ban) 2020年1月3日

 最近のWindowsでは、ストレージをマウントするだけで「System Volume Information」と呼ばれるWindowsのシステムフォルダ(とデータ)を勝手に作成します。これはWindowsの「システムの復元ポイント」等に用いられるデータですが、MSX側にとっては不要なデータがWindows OSによって勝手に改竄されることと同義です。

 この仕様については度々議論が起きており、その筋の界隈の頭痛のタネとなっています。System Volume Informationフォルダについて、詳しくは下のWebページが参考になります。

↓こちらをクリック↓ news.mynavi.jp

 System Volume Informationフォルダは隠しフォルダであるため、マウントするたびになぜか容量がじわじわ減ってゆく原因にもなりますし、市販ゲームソフトによく見られる「MSX-DOSMS-DOS互換)フォーマットでないメーカー独自のフォーマット」のフロッピーディスクではソフトウェアの動作と何ら関係のないデータをWindows OSが勝手に書き換える処理が働くことで本来のソフトウェアが起動できなくなる可能性があり、たいへん危険です。

 フロッピーディスクドライブ(FDD)を含む外付けストレージに対してはUSBで接続したタイミングで作成されるため、マウント前にライトプロテクトをかけておけばフロッピーディスクのデータが勝手に書き換えられる心配がありません

Windows 10でフォーマットすると例のSystem Volume Informationフォルダが作られてしまうので、MSXへ戻す前に予め削除しておきます。色々方法はあるらしいのですが俺はコマンドプロンプトで rmdir

 万がいち System Volume Informationフォルダが作成されてしまった場合は、コマンドプロンプトから削除することができます。

なぜMSX向けのフォーマット(初期化)が必要なのか

ブートセクタについては、turbo RをR800モードで起動するにはMSX-DOS2でフォーマットする必要があります。逆にturbo RをZ80モードで起動するにはDOS1でフォーマットする必要があります。turbo R以外は正直どっちでもいいです。MSX0も同様です。ブートセクタを自作できる人はご自由にどうぞ。 — Takashi Kobayashi (@nf_ban) 2023年3月20日

 MSX用(MSX-DOSMSX BASIC)のフォーマットはMS-DOSWindowsと互換性がありますが、ブートセクタはMSX実機向けの内容でフォーマットされることが望ましいです。ブートセクタを正しく作成することでMSXの起動方法をユーザーの意思のままに制御できます。逆に、MSX向けでないブートセクタが書き込まれた状態では正常に起動できないトラブルにつながる可能性があります。

Windows用のアプリ

MSX Floppy Disk Manager

お待たせしすぎたかもしれません。MSX Floppy Disk Manager v0.9.9リリースhttps://t.co/Z1I43rfG7D(α版)の公開/#MSX — taku8 (@taku8naka) 2021年3月4日

 非常に多機能でかゆいところに手が届くアプリ。フォーマット機能ではしっかりMSX向けのブートセクタを作成。対応OSはWindows7から、昨今の64bit環境でも動作可能。

実現できること

有志の方達から動作確認取れたFDDをレポート頂いたものはマニュアルサイトに記載してます。ご参考までhttps://t.co/cilOeACYXG — taku8 (@taku8naka) 2023年3月31日
MSX Floppy disk managerでも出来ますよ。FDのフォーマットhttps://t.co/WCVhwfRy0B — taku8 (@taku8naka) 2023年3月22日
CRCエラーが出たフロッピーディスクをMSXの実機でフォーマット(成功)、ディスクイメージを実ディスクへ書き戻し(成功)、そのディスクをWindowsのMSX Floppy Disk Managerでイメージ化(エラー無)、ディスクイメージとのファイルコンペアで差異なしとの判定。フォーマットはなにより大事なのだと痛感。 pic.twitter.com/ThLphMihsy — Takashi Kobayashi (@nf_ban) 2020年3月8日
MSX0は、WindowsのMSX Floppy Disk Managerの「新規仮想ディスク作成」で作ったMSX-DOS2形式のイメージが使えました(DOS1形式はまだ試していません) — ほそだびそう(Hosoda Bisoh) (@hosbisoh) 2023年3月20日

↓ダウンロードはこちら↓ sonono.net

MSXForm

 Windows 98Windows XPの頃から愛用されている「MSX向けに特化したフォーマッタ」です。ブートセクタのみ書き換えも可能。ブートセクタの不安はこれで解消。

実現できること

↓ダウンロードはこちら↓ tatsu.life.coocan.jp

Disk-Manager

実現できること

  • フロッピーディスクのイメージ化
  • イメージファイルからフロッピーディスクへの実体化 
  • ブランクのディスクイメージの作成
  • イメージ内のファイル参照
  • イメージ内から任意のファイルの取り出し
  • イメージ内から任意のファイルの削除

ImDisk Virtual Disk Driver

 任意のディスクイメージをWindowsのAドライブとしてマウントするアプリケーション。

 「MSXマガジン永久保存版」に収録されたMSXエミュレータMSXPLAYer」はAドライブ(物理FDD)へアクセス可能でしたが標準的なディスクイメージには対応していません。ImDiskを用いてAドライブへマウントした状態でMSXPLAYerの「Drive1」メニューの「REAL DRIVE」を選択するとディスクイメージへアクセス可能になります。

実現できること

  • ディスクイメージの仮想ドライブ化

 裏技的ですが、ImDiskを用いて任意のディスクイメージをマウントした状態でMSX Floppy Disk ManagerやMSXForm等のアプリを用いてAドライブに対してフォーマットを行うと、結果的にMSXのブートセクタを記述したブランクのディスクイメージを作成できます。

MSX 平片さん(MSXひらがなファイル名変換ツール)

 MSXの実機では半角ひらがなでファイルネームを命名できましたが、半角ひらがなを用いたファイルをWindows環境下へファイルコピーするとファイルネームが文字化けしますので、それを補正するアプリケーション。

 本来であれば命名に問題があるファイルがフロッピーディスク内に存在する場合はディスクイメージ化する前にファイルネームを変更したほうが安全です。

実現できること

  • Windows環境下でファイルネームが文字化けしたファイルの補正

↓ダウンロードはこちら↓

www2s.biglobe.ne.jp

マルチプラットフォーム

MSX Disk Manager for CLI

 WindowsLinuxmacOSなどで使用できる、ディスクイメージ用のコマンドライン版ユーティリティ。

実現できること

  • 任意のファイル/ディレクトリのイメージ化
  • イメージ内のファイル参照
  • イメージ内から任意のファイルの取り出し
  • イメージ内から任意のファイルの削除
  • ブランクのディスクイメージの作成

↓ダウンロードはこちら↓ qiita.com

MSXエミュレータ

WebMSX(Webブラウザ

 Webブラウザ上で動作するMSXエミュレータですが、Windows環境下のファイルやZipアーカイブをディスクイメージへ放り込めて、ダウンロードできます。ブートセクタは未検証。

実現できること

openMSX(マルチプラットフォーム

 WindowsMac OSLinuxAndroid等多方面で動作するMSXエミュレータです。ローカル環境下のフォルダを仮想ドライブにマウント可能ですので、エミュレータ内でディスクイメージへ放り込めます。

実現できること

  • 任意のファイル/ディレクトリのイメージ化
  • ブランクのディスクイメージの作成

blueMSX(Windows

ここでは挙げられてなかったけど、blueMSXでも新規ディスクイメージの作成は可能。エミュレータ内でフォーマットする必要があるけど(苦笑)。: ネットで見つけたMSX向けフロッピーディスク・ディスクイメージ関連ツールまとめ - Gigamix Online https://gigamix.hatenablog.com/entry/devmsx/floppydiskimage-tools #MSX #MSX40th - 大槻真嗣(@s_ohtsuki) 2023年4月23日

 まぁ一応ご紹介しておくと、エミュレータ内で仮想のFDDに対してフォーマット(BASICプロンプトで「CALL FORMAT」を実行)を行うと、空のディスクイメージを作成できます。この処理は、blueMSX以外のエミュレータでもだいたい実現できます

 エミュレータ内でマウントしたディスクイメージに対して任意のファイルを追加したうえでディスクイメージを保存することも、blueMSXに限らず各種エミュレータでだいたい実現できます。

実現できること

  • 任意のファイル/ディレクトリのイメージ化
  • ブランクのディスクイメージの作成

MSXの実機用

DFC

 MSXの実機でイメージ化するのが一番信頼感があります。が、作成したディスクイメージファイル(720kB)を外に持ち出せるハードウェア・デバイスが必要です。

実現できること

番外編:実機でフォーマットした空のフロッピーディスクを実機でイメージ化する

 これぞ「秘伝のタレ」メソッド。かくいう私(nf_ban)も実はMSX-DOS1用・DOS2用のディスクイメージを1997年頃に実機で作成し、実機で圧縮したLZHアーカイブWindowsでずーーっと保存し続けています。