DSair2 アクセサリ/Mapデータのバックアップ
※本内容はDesktopStationさん非公式の内容となりますのでご注意ください※
概要
DSair2 で設定したはずのアクセサリやレイアウトMapデータが表示されないよぉ。
とお困りのかたへ。
DSair2のデータ保存先
DSair2では、ユーザ側による各種設定の保存先として、以下があります。
- Flashair のストレージ
- ローカルストレージ(Webアプリを操作している端末内)
前者は、MP3サウンドファイルやDSbasicのBASファイルが格納されます。Webサーバ側であるFlashair内に保存されるので、どの端末のどのブラウザからアクセスしても、共通のデータを参照することができます。
一方、後者のローカルストレージは、保存操作をした端末のブラウザデータとして保存されます。そのため、異なる端末や、また同じ端末内でも異なるブラウザ(edge、chromeなど)でアクセスすると、設定したものが反映されていない状態となります。
具体的には以下が該当します。
- キャブタブの車両スロットのアドレス(4つ分)
- アクセサリータブ内の全設定
- レイアウトタブ内の全設定
- コンフィグタブ内の一部設定(Etc内のSpeed値、Protocol選択)
- DSbasicタブ内で「Save to Memory」を選択して保存したコード
では、これらのデータが具体的にどこに保存されているかというと、ブラウザが実装している「ローカルストレージ」という領域です。HTML5で実装された機能ですね。
このローカルストレージのデータにアクセスするには、各ブラウザ側に実装されている開発ツールを使います。
Windows版chromeの場合、「F12」キーを押すと起動します。
画面右側に開発ツールが表示されるので、上部メニューで「Application」を選択し、左メニューの「Storage」 ⇒「Local Storage」を選択すると DSair2 の保存データが表示されます。
各項目と値は下表の通りです。
項目名(Key) | 値(Value) |
UNIQUEID | 固定値なのでいじらない。 |
LOCADDR | キャブタブ内スロット4つの車両アドレス |
ACCTYPEIMAGES | アクセサリタブ内のアクセサリイメージ設定データ(ポイント/信号機) |
MAPDAT-ACCADDR | レイアウトタブ内のアクセサリアドレスの設定データ |
MAPDAT-WIDTH | レイアウトタブ内のヨコ幅マス目数。※変更すると、登録済みのMAPDAT-ACCADDR、MAPDAT-IMAGE に影響が出るので注意。 |
MAPDAT-HEIGHT | レイアウトタブ内のタテ幅マス目数。※変更すると、登録済みのMAPDAT-ACCADDR、MAPDAT-IMAGE に影響が出るので注意。 |
MAPDAT-IMAGE | レイアウトタブ内のイメージ設定データ(線路レイアウト) |
MAXSPEED_LOC | コンフィグタブ内で設定するCabタブ内速度メータの最大速度表示設定データ |
BASIC_SAVEDVAL | Dsbasicタブ内で「Save to Memory」で保存したデータ。 |
ということで、必要なデータについて、Value値をTXTファイルやExcelシート等にコピペして保存しておけば、別の環境への引越しや、万が一のリストアに役立ちそうです。
なお「ACCTYPEIMAGES」、「MAPDAT-ACCADDR」、「MAPDAT-IMAGE」の3つのデータは、非常にながーいデータなので、最後の1文字まで漏れずにコピペできているか再確認してみてください。
Edgeでも同様にF12キーで開発ツールが起動し、下図のように表示/編集できます。
補足
本記事はDSair2 ファームウェア r2m13 におけるものです。今後のバージョンアップ等で、データ保存の仕様変更等が生じていくと思われます。その場合は、/SD_WLAN/js/ フォルダ内の「storage.js」に、下記のような保存処理が記述されているので参照してみてください。
function STORE_Save_MapDatas()
{
STORE_Save();localStorage.setItem("MAPDAT-ACCADDR", Map_AccAddr);
localStorage.setItem("MAPDAT-IMAGE", Map_Image);
localStorage.setItem("MAPDAT-WIDTH", Map_Width);
localStorage.setItem("MAPDAT-HEIGHT", Map_Height);
}
おわり