beatmaniaIII用フロッピーディスクの取り扱いについて

かにかにクラブ > ビートマニア / ビートマニアスリー >beatmaniaIII用フロッピーディスクの取り扱いについて

参考研究中メモ:beatmaniaIII用フロッピーディスクの内部研究

beatmaniaIIIシリーズで使用できるFD(フロッピーディスク)の取り扱いに関する情報をまとめた。

FDプレイ
FDを、モニターの真下にあるスロットに入れて、スタートする。
ゲーム終了の時に、ゲームの詳細な成績がFDに記録される。

FDプレイをやり込むことにより、「sozaiモード」等の特典もある。
FDに保存されるデータ
ゲーム終了時に記録されるファイルは以下のとおり。
各バージョン独自のファイル名
●BM31.DAT : IIIのシステムデータ。次回のプレイで再度使用される。絶対に壊してはいけない。
●BM32.DAT : IIIcoreのシステムデータ。次回のプレイで再度使用される。絶対に壊してはいけない。
●BM33.DAT : IIIap6のシステムデータ。次回のプレイで再度使用される。絶対に壊してはいけない。
●BM34.DAT : IIIap7のシステムデータ。次回のプレイで再度使用される。絶対に壊してはいけない。
●BM35.DAT : IIIfinalのシステムデータ。次回のプレイで再度使用される。絶対に壊してはいけない。
全バージョン共通のファイル名
●BASIC1P.TXT : kobakoモード×シングルプレイの成績データ。
●BASIC2P.TXT : kobakoモード×2Pダブルプレイの成績データ。
●BASICDP.TXT : kobakoモード×1Pダブルプレイの成績データ。
●HARD1P.TXT : shikomiモード×シングルプレイの成績データ。
●HARD2P.TXT : shikomiモード×2Pダブルプレイの成績データ。
●HARDDP.TXT : shikomiモード×1Pダブルプレイの成績データ。
●EXPERT1P.TXT : tsunagiモード×シングルプレイの成績データとインターネットランキング用パスワード。
●EXPERT2P.TXT : tsunagiモード×2Pダブルプレイの成績データとインターネットランキング用パスワード。
●EXPERTDP.TXT : tsunagiモード×1Pダブルプレイの成績データとインターネットランキング用パスワード。
(IIIap7,IIIfinalではインターネットランキングは開催されておらずパスワードは記録されない。)
なお、記録上は、
sozaiモードは、shikomiモードとして扱われる。
バトルプレイは、ゲームスタートする時に使用したスタートボタン側の、シングルプレイとして扱われる。

また、
1Pダブルバトルプレイは、譜面が全然違うにもかかわらず、1Pダブルプレイとして扱われてしまうので、
このプレイスタイルをやるなら、専用のFDを用意することをおすすめする。
(参考)一度もバトルを使ったことがないダブルのデータに、初めてバトルを使ったデータの実物(ファイル名は変更してある)
beatmaniaIII THE FINAL
- shikomi (1)バトル未経験 (2)バトル初使用 (3)使用後に不使用 (4)再びバトル使用
- tsunagi (1)バトル未経験 (2)バトル初使用 (3)使用後に不使用 (4)再びバトル使用
-- (2)の時にバトルダブルが可能な全ての曲が出現し、曲名は全てシングルと同じものに変化する
-- (3)の時にダブルでは不可能な曲が隠され、曲名はダブルのものに戻るが、(2)で伸びたハイスコアは残ってしまう
-- (4)の時にまた(2)の時と同じ曲のリストになり、(3)の時に隠された曲の成績も残っている
FDのバックアップ
紛失などに備えてデータをコピー(バックアップ)することができる。
IIIの場合
ディスクをまるごとコピーすること。
ディスクの中のファイルだけをコピーしても、不正なデータと扱われて使用できない。
注意
Windows95,Windows98,WindowsMeでバックアップ可能
Windows以前のMS-DOSでバックアップ可能
WindowsNT,Windows2000,WindowsXP,Macintosh等ではバックアップ不可
その他のOSは(たぶん)バックアップ不可
まるごとコピーしても不可になってしまうOSは、コピーの際にOSが勝手にファイル情報に余分な情報を付加してしまうせいで、ゲーム機が改変データとして識別してしまうため。
上記の打消し線部分の文章は、2000年頃に筆者が使っていたWindowsXPでそのような挙動を見られたので、そう考えたもの。
現在(2021年12月)調査中。
これだけが原因ではない可能性があり、更にはこれではない何かだけが原因の可能性もある。
IIIcore,IIIap6,IIIap7,IIIfinalの場合
それぞれのバージョンに対応したシステムデータファイル「BM32.DAT」,「BM33.DAT」,「BM34.DAT」,「BM35.DAT」をコピーすればよい。

余談であるが、システムデータファイル「BM3〜.DAT」が壊れてさえいなければ、ファイル「〜.TXT」を消去したり、ゲームに全然関係がないファイルやフォルダを追加で書き込んでも、問題なく次のゲームの際に使用できる。
ただし、余計なファイルやフォルダを追加する場合、次のプレイの結果が記録される際に、空き領域が足りなくて記録できない、などということにならないように注意。

旧作からのFDデータの継承
旧作のFDを継続して使うと、初プレイ時のみ、過去の成績を継承できる。
FDの中に複数の旧作のデータがある場合は、新しいソフトのデータが優先。
旧作のデータはそのまま残り、再び旧作で継続使用は可能。
ただし、記録更新しても、そのゲーム用のデータのみが更新されて、その他のは更新されない。

また、ファイル「〜.TXT」はどのバージョンでも同名であるため、それぞれの「〜.TXT」をとっておきたい場合は、前回と異なるバージョンをプレイする際には、事前にそれらをコピーしておくこと。

IIIfinalではプレイオプションの名称の変更にともない、各曲のクリアしたオプションの情報のそれも変更される。
●旧「HISPEED 1」→新「HISPEED X1.5」
●旧「HISPEED 2」→新「HISPEED X2.0」
●旧「HISPEED 3」→新「HISPEED X4.0」
●旧「HIDDEN+SUDDEN」→新「STEALTH」

FDのフォーマット
FDは市販のものを使用できるが、ゲームに使用するにはそれがDOS/Vの記憶容量1.44MBの形式でフォーマットされている必要がある。
「DOS/V用」または「Windows用」と書いて売られているものなら、フォーマットの作業をせずにそのまま使用可能。
上記以外(「アンフォーマット」,「Macintosh用」,「PC-98用」等)なら、フォーマットをしなければいけない。

フォーマットをする方法は、パソコンのWindowsの「フォーマット」をそのまま使うだけでよい。

FDの入手について
これを書いている2018年12月現在、一般的にはもう需要のない物であるため、新品で購入するのは困難になっている。
製造・販売しているメーカーはないし、まだ在庫を持っている売店はもう間もなく廃棄してしまうかもしれない。
運よく入手できるチャンスにめぐりあえたら、使う用・バックアップ用・予備用を考えて、3枚は確保しておきたい。

Windowsの「ドライブのエラーチェック(スキャンディスク)」を使用する際の注意
「エラーを自動的に修復」は使用しないこと。

ゲーム機では問題なく使用できるデータが、スキャンディスクでは壊れていると識別されることがある。
この現象がシステムデータファイル「BM3〜.DAT」で起こり、このファイルにスキャンディスクによる修復を実行してしまうと、ゲーム機が改変データとして識別してしまい、使用できなくなる。
そのファイルでなければ気にせず修復してもかまわない。

もしエラーメッセージに「BM3〜.DAT」が書いてあったら
IIIの場合
「無視」または「キャンセル」する。
次回のプレイで問題なく使えたならそのまま継続して使う。
使えなかったなら、前回のバックアップに成功したデータまたは新規のデータからやりなおし。

IIIcore,IIIap6,IIIap7,IIIfinalの場合
「無視」または「キャンセル」する。
該当するファイルをいったん別の場所にコピーして、それを元のFDにコピーする。
再びエラーチェックしてもそのファイルのエラーは出ない。
次回のプレイで問題なく使えたならそれを継続して使う。
使えなかったなら、前回のバックアップに成功したデータまたは新規のデータからやりなおし。


日本語がわからない人のための短い説明。
Never use "Automatically fix file system errors" of the SCANDISK.
Never fix, even if the SCANDISK tells an error about "BM3〜.DAT".

beatmaniaIIIシリーズのFD管理に関する誤動作
システムデータファイル「BM3〜.DAT」は、ゲームをプレイして記録するたびに、その長さが変動する。
その長さが、前回のものより短くなってしまった時に、これから説明する誤動作が起こる。

(下記の予備知識・FDのデータ構成を読んで用語を把握してから読んでください。)

例えば、まず、前回のデータファイルが、ブロックBを「5→6→7→8→終」という5個の領域を使っていたとする。
新しくプレイした今回のデータファイルは短くなり、4個の領域で間に合うようになったとする。
この時、本来のFDの規則では、ブロックBを新しく「5→6→7→終」と書き換え、古いデータで使っていた最後の「終」を「不使用」に書き換えなければいけない。
しかし、beatmaniaIIIシリーズでは、「不使用」に書き換える作業をし忘れてしまう。

パソコンを使ってこのディスクを検査すると、どのファイルからも使われていないのに使用中マークが付いていて怪しい場所がある、と判定されてしまう。
検査ツールには大抵それを修復する機能がついているが、今回のケースでそれを使うと、とりあえず直前の「終」をその怪しい場所に繋いでおこう、という処理がおこなわれる。
パソコンのソフトのデータならば、対応するソフトで読み直し、その繋げたデータが必要ならそれでいいし、不要なら切り取って改めて正しくセーブすればよい。
beatmaniaIIIシリーズではそうはいかず、後ろに不要なデータがある改変データとなってしまい、もうゲームでは使えなくなってしまう。
上記の「Windowsの「ドライブのエラーチェック(スキャンディスク)」を使用する際の注意」は、このことを注意するように書いたものである。

なお、成績データファイル「〜.TXT」でもこの誤動作が起こるのと、どのバージョンでも同名であることが合わさるので、バージョンが過去にさかのぼる順番でプレイするとほぼ確実にスキャンディスクがエラーを検知する。
ゲームをプレイする時に問題なく使えるのであれば気にする必要はないが、どうしても気になるなら異なるバージョンをプレイするたびに「〜.TXT」を削除するとよい。

予備知識・FDのデータ構成
大雑把に言うと、3種類のデータブロックが作られて、それらが連携されて使われる。
ブロックA・ファイル情報ブロック
ファイルの名前、更新日、長さ、参照するブロックB・Cの位置、書き込み可能などの属性、などが記録される。
ブロックB・ファイル連結ブロック
ブロックCの通し番号と対になっていて同じ個数ある。
新しくファイルを作る時に、対になるブロックCの領域を使ってもいいかどうかの情報が記録される。
ブロックCで、そのファイルに対応するデータが複数の場所にまたがって記録されている場合は、どこからどこにつながっているかの連結情報が記録される。
もう続きがない時は終了を表すものが記録される。
ブロックC・データブロック
データそのものが記録される。
決められた長さの単位で分割されて管理されていて、その位置には通し番号がつけてある。
ファイルの長さが、この領域の単位よりも長い場合は、複数の場所にまたがって記録される。

おまけ1・WindowsNT,Windows2000,WindowsXPでIIIのFDのバックアップ
下記のリンク先が参考になります。
(参考外部リンク)→零環 > beatmania III 初代のフロッピーをWindows10でバックアップ

(このページに過去に書いてあった方法は一旦取り下げます。理由は、原因と思っていたものが実際には違う気がしてきたのと、書いていた方法の操作を誤るとそのOSを使えなくする危険があるので。)

おまけ2・FDを少しでも長持ちさせるために
すでにデータが入っているFDを使ってプレイした場合、プレイ後のデータは、プレイ前にあったのと同じ場所に書き込まれる。
FDのドライブがディスクに読み書きする時には、ドライブのヘッドがディスクに直接接触する。
このため、プレイ回数が多くなるとディスクの表面が磨耗してしまい、正常にデータが記録できなくなりやすいおそれがある。
筆者のうろ覚えの記憶と主観だが、1日30回くらいのプレイで年に2〜3回使えなくなった。

そこで、IIIcore,IIIap6,IIIap7,IIIfinalはデータファイルだけをコピーしても使えることを利用して、たまに下記のような作業をして書き込み場所をずらすことを提案する。
(1) いったん、FDの中にあるIIIシリーズのデータをハードディスクなどにコピーする。
(2) FDからIIIシリーズのデータを削除する。(ただし、初代IIIの「BM31.DAT」を削除するのは厳禁)
(3) FDの中に、なにか関係ないデータを書き込む。(大きさは100kバイト程度)
(4) FDの中に、(1)でコピーしておいたデータを書き込む。(ただし、初代IIIの「BM31.DAT」を上書きするのは厳禁)
これで作業前とは異なる場所にデータが移動したはず。
この後に、(3)で書き込んだデータは、そのままでも削除してもどちらでもかまわない。

参考:2021年12月の時点での筆者の持っているデータの大きさ
BM31.DAT = 18,374バイト
BM32.DAT = 28,126バイト
BM33.DAT = 34,400バイト
BM34.DAT = 39,808バイト
BM35.DAT = 55,742バイト

おまけ3・FDを途中で抜いてもデータは壊れない
FDプレイ中は
「指示があるまでフロッピーディスクを絶対に抜かないで下さい。」
という注意事項がある。

実はこれは、
スタート時の「FD OK」の文字が表示されてから
ゲームオーバー時のネームエントリーで「END」を決定するまで
の期間はディスクを抜いても悪い問題は起こらない。

最後の「END」を決定するタイミングの前に同じディスクを入れ直せば正常にデータが更新される。
逆に、入れ直さなかった場合は、単に更新されないだけであり、プレイ前のデータが残る。

これは例えば、FDを持っていない友人にsozaiモードを提供したいが自分でない成績は残したくない、といった時に応用できる。

© 2000-2023 KANIKANI