ワンダースワンのカスタムファームウェア?「BootFriend」リリース

※起動画面が特殊な限定版本体へのインストールは推奨しません

これがどういうものがまだ把握していない上、一週間ほど出張で家を離れてしまうため簡単にですが、ワンダースワンカラー/クリスタル向けに「BootFriend」というカスタムファームウェアがリリースされました。

BootFriend for WS
https://wonderful.asie.pl/ws/bootfriend/

BootFriendとは

「BootFriend」はワンダースワンカラー/クリスタル向けのというカスタムファームウェアで、これを導入することで
– 起動時のロゴを変更可能
– “マルチブート” (シリアルケーブルを接続してソフトを転送、GBAのマルチブートみたいなもの)
– IPL(boot ROM)のバックアップ
– ゲームデータ、セーブの管理
– 外部の書き込み機(フラッシャー)なしにフラッシュカートリッジへの書き込み
ができるようになります!!

ワンダースワンのIPLとは、起動時に表示される画面や誕生日などの個人データの画面を表示するプログラムのことで、2019年になってやっと吸い出しができましたが本体に配線を繋げたり外部機器が必要だったりととても敷居の高い方法でした。

この「BootFriend」を導入することである程度機材は必要になるもののIPLを楽に吸い出しできるようになります。

用意するもの

とりあえずIPLを吸い出すことを目的に用意するものは
・ワンダースワンカラーまたはクリスタル本体
・フラッシュカートまたはワンダーウィッチのカートリッジ
・シリアル通信ケーブル
・シリアルポート(DSUB9ピン)の使えるPC

モノクロのワンダースワン本体は対応していません。今回はワンダーウィッチのカートリッジを使ってチャレンジしましたがフラッシュカートでもできるようです(古のWonder Magicのフラッシュカートが見つからないため未確認)。またワンダーウィッチ付属のシリアルケーブルまたは同等品を持っていないため、あやすけさんのHPを参考にシリアルケーブルを自作しました。

ワンダースワン その3
https://ayasuke2.exblog.jp/24852043/

dsub9ピンのケーブルは家にあったものをぶった切って、接続コネクタはワンダーウェーブに犠牲になってもらいました。

ざっくり
「BootFriend」転送、インストール→WS Backup Tool転送→IPL吸い出し
って感じです。

やり方

やり方についてはスクラップAさん (@scrap_a_) がわかりやすくまとめてくださっています。
インストール前にIEEPROMの内容をバックアップすることを忘れないでください!
とくに限定本体へインストールしたい場合は必ずバックアップしておいてください。

かんたん、簡単、超簡単、どっちかというとシリアルケーブル作ることと通信できる環境作る方がよっぽど大変でした。

また今回初めて知ったのですが、特殊な機材を使わなくともIPLを吸い出す方法がすでに確立されていたそうでこちらの方法を使えば1箇所配線が必要なもののモノクロからクリスタルまですべての本体のIPLを吸い出しできるそうです。

IPL Dumper · up-n-atom/wwsoft Wiki
https://github.com/up-n-atom/wwsoft/wiki/IPL-Dumper

追記 「BootFriend」の動作について

※2023/3/15 追記
「BootFriend」がどういう風に動いているのかなんとなくわかりました。起動時の画面を変更できることがサブの機能ではなくこれがメインというか本体でした。

ワンダースワン(モノクロ)は本体にユーザー情報を保存できる1kbit(128バイト)の内蔵EEPROM(Internal EEPROM、IEEPROMと呼ばれる)を持っていて、ワンダースワンカラー、スワンクリスタルではこれが16kbit(2048バイト)に拡張されています。

ところでワンダースワンカラー、スワンクリスタルの本体にはファイナルファンタジー、ガンダム、ワンピースなどの限定版があり、その中の一部は起動画面が特別なものに変更されている本体があります。単純に表示される画像を差し替えているわけではなく、ガンダムの頭やワンピースのどくろマークが表示されたり、ザクの目がぎょろっとうごいたりと専用の凝った起動画面を表示するようなプログラムが追加されています。

そのプログラムがどこに格納されているのかというと前述したIEEPROMの中で、IPL起動時に特定のフラグが立っていると通常の起動画面ではなくIEEPROMに保存された(起動画面を表示する)プログラムを実行する機能がワンダースワン本体にもともと組み込まれているのです。

「BootFriend」はこの本体側にもともと存在する機能を利用して起動画面を変えるついでに自作プログラムを実行できるようにしているのです。また、IPLがIPLへのアクセスをロックしカートリッジのゲームを実行する前に「BootFriend」へ制御が移るので、IPLを吸い出したりカートリッジロムを吸い出したりすることを可能にしています。

おそらくモノクロ本体が「BootFriend」に対応していないのは、モノクロのIPLが起動画面の変更に対応していないか、IEEPROMの容量が足りないためプログラムを配置できないためと思われます。
また起動画面が特殊な限定版本体へのインストールはIEEPROMのバックアップを忘れると起動画面を二度と戻せない可能性があるため推奨しません

コメントを残す

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