「BootFriend」の登場によりワンダースワンカラー/スワンクリスタルのIPL(ブートロム、BIOS)を簡単に吸い出すことができるようになりました。しかし残念(?)ながらモノクロのワンダースワンのIPLには対応していません。ワンダースワンのIPLを吸い出すには少し手間がかかりますがup-n-atom氏が公開する「IPL Dumper」を使用します。
IPL Dumper
https://github.com/up-n-atom/wwsoft
https://github.com/up-n-atom/wwsoft/wiki/IPL-Dumper
こちらの方法はワンダースワンの互換機であるポケットチャレンジV2が起動画面をすっ飛ばして(IPLへのアクセスをロックする前に)カートリッジのプログラムを実行してしまうのを利用し、基板上をワイヤーでショートさせることで同じ状況を再現しIPLを吸い出すことを可能にしています。
必要なもの
・ワンダースワン本体
・ワンダーウイッチのカートリッジ
・シリアル通信ケーブル
・シリアルポートのあるパソコン
・ショートさせるワイヤーなど
モノクロのワンダースワン以外でも吸い出し可能ですがワンダースワンカラー、スワンクリスタルについては「BootFriend」を使った方が楽です。
またポケットチャレンジV2をお持ちなら本体をバラバラにしなくてもできるのでおススメです。
BootFriendについては下記を参照
ワンダースワンのカスタムファームウェア?「BootFriend」リリース
wwsoftの準備
IPL Dumperですがアセンブラのソースコードしか配布されていないため自身でコンパイルする必要があります。MSYS2などにnasmとperlがインストールされていればmakeするだけで必要となるファイル「wwsoft」が出来上がりますし下記を打ち込んでも大丈夫です。
nasm -f bin dumpipl.asm
perl -e ‘binmode STDIN; $/ = \1; while (<>) { print chr($b = ($. – 1) & 127 ? ord($_) ^ $b : ord($_) ^ 255); }’ < dumpipl > wwsoft
カートリッジの準備
「wwsoft」ができたらワンダーウイッチのカートリッジに書き込みます。ワンダーウイッチ専用にTransMagicというソフトもありますがここではTeraTermを使用します。
TeraTerm
https://ttssh2.osdn.jp
TeraTermを起動しSerialで適切なCOMを設定し起動、メニューのSetup→Serial Port…からお使いの環境にあったシリアルポートの設定をしてください。おそらく通信速度が9600になっているので38400にしてください。
シリアル通信ケーブルでパソコンとワンダースワン本体とを接続、ワンダーウイッチのカートリッジを本体に差し込みBボタンを押しながら起動、「Freya Monitor」の画面が出たら「Recv Soft」を選択し待機状態にしておきます。
TeraTermのメニューからFile→Transfer→XMODEM→Send…から「wwsoft」を選択し転送します。
転送完了したらカートリッジの準備は完了です。
本体の準備
ワンダースワン本体の基板を1か所ショートさせる必要があるため分解、ディスプレイのフレキを取り外した状態にします。
この状態で電池とワンダーウイッチカートリッジを挿入し、電源が入る状態します。電源をONにして「ギュイーーン」と音がすればOK
画面を取り外したワンダースワン pic.twitter.com/764OOwJtPB
— Nekokabu (@Nekokabu) March 22, 2023
IPLの吸い出し
ここから本題のIPLの吸い出しに入ります。
TeraTermのメニューからFile→Log…を選択し保存するIPLファイルの名前を入力します。Optionのバイナリに必ずチェックを入れてください。
次に分解したワンダースワン本体をシリアル通信ケーブルで接続し、このページを参考にワイヤーなどを使ってショートさせつつワンダースワン本体の電源を入れます。
するとTeraTermがデータを受信、しばらくしてデータの転送が止まれば成功です。もし起動音が鳴ったり転送が止まらない場合はTeraTermのログのあたりからもう一度やり直してください。
ワンダースワンのIPLを吸い出している様子 pic.twitter.com/Kfx04VanoW
— Nekokabu (@Nekokabu) March 22, 2023
TeraTermのウィンドウにバグったような文字列が表示されているがこれでOK
吸い出しがうまくいったのならTera Term: Logのウィンドウを閉じる。
モノクロワンダースワンなら4KB、カラー、クリスタルなら8KBのファイルができるはず。
ポケットチャレンジV2からIPLを吸い出す場合はワイヤーでショートさせる必要がないため本体の分解の必要がありませんがカートリッジが刺さる状態にする必要があります。また吸い出したIPLはモノクロワンダースワンと同じ内容になります。
おまけ
い け た pic.twitter.com/nhjiM3sdOP
— Nekokabu (@Nekokabu) March 23, 2023
CPUであるASWANの84ピンを上げるとワンダースワンの起動画面を表示するようになりました。