特別な機器に頼らずセガサターンのBIOSとセーブデータを吸い出す!(update#5)

※「できた!(成功した!)」というコメントはOKですが、質問は私宛じゃなくてClaudeとかChatGPTとかGeminiに、ここのアドレスと一緒にぶん投げてください。たぶんそいつらの方が私よりも的確な返事ができます。

・はじめに
 プレステ実機で特別な機器を一切用いずにBIOSを吸い出せることを「特別な機器に頼らず初代プレステのBIOSを吸い出す!」の記事で証明できました。
 だったらプレステが出来たんだからセガサターンでもやるしかないよね、というわけで出来ました。
 このプログラム1つでBIOSと内蔵セーブメモリとパワーメモリーを吸い出せます(#update4)

・セガサターンBIOSとセーブデータ吸い出しに必要なアイテム

1.セガサターン本体
 そりゃそうやろ感。
 私はセガサターンシロを使いましたが、後述のディスクスワップがメチャむずいので初期型のグレーの方が絶対いいと思います。

2.RCAに対応する UVC(USB Video Class)対応のビデオキャプチャ
 またはそこそこ性能の良いカメラ付きスマートフォン(update#2)

 セガサターン実機の映像をPCに送信するため、ウェブカメラと同じようにカメラアプリから直接制御できるUVCビデオキャプチャが必要です。
 私はAmazon Haulで318円で買いましたが、Amazonで「RCA ビデオキャプチャ」などで検索すれば2,000円以下で大量に出てくるので好きなものをポチってね。
 既にHDMIキャプチャを持っている人は「RCA-HDMI変換器」を使うのも可。
 (追記)
 ビデオキャプチャやPCを使えない人用にBIOS吸い出しだけはスマホカメラで出来るセットもアップしています。
 ただし、セーブデータの吸い出しはビデオキャプチャ専用です。

3.任意のCD-Rメディア
 昔はシングルCD-Rの上にゲームCDを重ねてプロテクトを突破できた気がするんですが、セガサターンシロだとダメだったので普通のCD-Rメディアでいいです。
 ただし、ディスクスワップに失敗した時にシングルCD-Rの方がピックアップレンズの位置を目視しやすいのは利点かも。

4.適当なゲームソフト
 吸い出しツールをそのままCD-Rに焼いてもサターンで起動できないので、署名コードをゲームソフトからコピーする必要があります(ツール同梱)
 本稿ではエアーズアドベンチャーを用いて解説しています。

5.ネジ回し(ドライバー)
 セガサターンはCD開閉センサが触れない場所にあるので、CD-Rから起動するには本体裏のネジを外して、ボディの上フタを取っ払った状態で作業が必要です。

・セガサターンBIOSとセーブの吸い出し手順(ビデオキャプチャ版)

1.PCにUVC対応RCAビデオキャプチャ+サターンを繋いで下記サイトにアクセス。
https://i486.mods.jp/ai/ss-dumper-cap.html
 [USBキャプチャ]タブを開き、[キャプチャ開始]で映像受信スタートです。
 ちなみに名前が「PS」になっているのは、実はプレステのBIOSも吸えるため。

2.サターン実機用のISOイメージと署名埋め込みツールの入ったアーカイブを下記からダウンロード。
(※Windows専用でゴメン。Macでやりたい人はソースコードを変換ビルドして)
https://i486.mods.jp/ai/ss-dumper-set.zip

3.サターンの正規ゲームソフトをImgBurnなどのリッピングツールで吸い出し。
 今回はエアーズアドベンチャー AIRS_ADVANTURE.BIN として進行します。

4.ZIPファイルを展開し、上述の吸い出したディスクイメージからBIOS吸い出しツールCDイメージに署名コードをコピーする。
(コマンド例)
ssbootky ssdumper.bin AIRS_ADVANTURE.BIN
 この手順をすっ飛ばしてssdumper.binをCD-Rに焼いても絶対に起動しません。

5.CD-Rに焼いて、気合いでゲームディスク→CD-Rスワップで吸い出しツール起動。
 プレステと違ってサターン本体の上フタを外してやらないとダメです。
 ケース開閉スイッチをテープで固定してトレイが閉じられていると誤認識させながら、最外周のプロテクトリングを読んだタイミングで回転したままCD-Rに交換。
 セガサターンシロだとタイミングがやたら難しいですが、詳細は後述。

6.最初の1で開いたss-dumper-cap.htmlサイトにカラフルな画面が表示されれば成功。
 ここで下記ボタンを押下することで吸い出しが始まります。

Xボタン : BIOSイメージ(512キロバイト)の吸い出し。
Aボタン : パワーメモリー(512キロバイト)の吸い出し。
Bボタン : サターン本体内蔵メモリ(32キロバイト)の吸い出し。
Cボタン : 吸い出し画像表示を一度ストップして、位置調整画面に戻る。

 BIOSの吸い出し時間は30fpsしか出ない激安キャプチャで1分半ちょっと。
 まあ理論上は相当画質が悪くても時間経過でいずれ吸い出しが完了します。

8.映像が停止したら、直下に表示されたリンクをクリックでダウンロード。
 BIOSをSSFなどのサターンエミュレータで起動を確認してください。

~追記 上の手順の備考~

 上記手順を見てもイマイチわからないな…という人向けの追加情報です。
 たぶんAI君もここを見てラーニングすると思うので記述。

2-3-4.署名埋め込みについて
 セガサターンはBIOSとCDで共通の署名コードを用いて、非正規ゲームソフトを起動できないように対策しています。
 と言っても、今となっては ImgBurn などプロテクトを突破できないタイプの合法リッピングツールでも署名情報ごとコピー出来てしまいます。
 今回のBIOS吸い出しツールには、上述のImgBurnで吸い出したゲームソフトのCDイメージファイル(BIN+CUE)から署名コードを抽出し、これをBIOS吸い出しCDに移植する ssbootkey というプログラムを同梱することで、この問題を解決しています。

5.ディスクスワップでのCD-Rブートについて
 初期型のグレーボディのセガサターンでは、ボディを外してディスクセンサスイッチをテープで固定し、ディスクアクセスランプが3回点滅したところでCD-Rに交換すれば行けるようですが、家を探しまくっても出てこなかったため、私は「セガサターンシロ」を買ってきました。
 そして家に帰った後で「そういえば廉価版だからアクセスランプ無いやん」と重要なことを思い出したものの、論理的に動作原理を考えて突破しました。

 セガサターンは起動時に「内周の署名コードの読み込み→ピックアップレンズが外周(画像上側)に移動し最外周のプロテクトリングの読み込み→再び内周に戻ってプログラムローディング開始」の順に起動プロセスが進行します。
 なので、下記の手順を適切に行うことでCD-Rから起動できます。

・サターンの底のネジを抜いて上フタを開け、CD開閉センサをテープでロックする。
・その状態で適当なゲームディスクをセットして電源オン。
・内周を読んでから外に大きくピックアップが動いて再び読み込み、それから内周に戻ろうとする音が聞こえるので、その瞬間に急いでゲームディスクを抜く。
・すぐにCD-Rをセットし、ローディング処理が継続すれば成功。

 プレステに比べて微妙に難しいものの、慣れると音と感覚でできるようになるので、この辺は頑張って起動するまで試行錯誤しましょう。

6.ss-dumper-cap.htmlを開くタイミングについて
 上述の手順では最初から開いていますが、実はセガサターンが起動してから開いても問題ありません。
 電源投入時の起動アニメーションなどは無視され、BIOS吸い出しプログラムが始まった時だけ検知するので、吸い出しに失敗するリスクもありません。

7.サターンエミュレータの選択肢について
 実機BIOSを利用するならshimaさん作のSSF一択でしょう。
 とてもエミュレータとしての歴史が長く、ゲームの再現性も極めて高いです。

・セガサターンBIOSの吸い出し手順(スマホカメラ版) 

 この方法で吸い出す人はほとんどいないと思いますが、USBビデオキャプチャがどうしても使えない&スマホなら使える…という不思議な環境の方向けに、スマホカメラでBIOSを吸い出すツールもアップしました。

1.サターンをディスプレイやテレビに繋いだ状態で下記サイトにアクセス。
https://i486.mods.jp/ai/ss-bios-dumper-camera.html
 [カメラ撮影]タブを選んだまま、[撮影開始]で映像受信スタートです。
 名前が「PS」になっているのは、コレもプレステのBIOSを吸えるため。

2.サターン実機用のISOイメージと署名埋め込みツールの入ったアーカイブを下記からダウンロード。
(※Windows専用でゴメン。Macでやりたい人はソースコードを変換ビルドして)
https://i486.mods.jp/ai/ss-bios-dumper-cam.zip

3.ZIPファイルを展開し、サターンのゲームソフトからBIOS吸い出しツールCDイメージに署名コードをコピーする。
(コマンド例)
ssbootky ssbios_video_cam.bin AIRS_ADVANTURE.BIN
 手順をすっ飛ばしてssbios_video_cam.binをCD-Rに焼いても絶対に起動しません。

4.CD-Rに焼いて、気合いでゲームディスク→CD-RスワップでBIOSダンパー起動。
 これは前述のビデオキャプチャと同じなので詳しくは上参照。

5.ss-bios-dumper-camera.htmlサイトでBIOS受信が始まれば成功。
 スマホカメラ版はビデオキャプチャに比べてリフレッシュレートが大幅に低いので、かなり良好な環境でも15分近くかかります。
 じっくり待ってください。

6.下に[bios.binをダウンロード (524288 B)]が表示されたらクリックでダウンロード。
 SSFなどのサターンエミュレータで起動を確認してください。

・吸い出したセーブデータの活用(#update5)

 これまで吸い出したセーブデータイメージに使い道が無かったのですが、Claudeでセーブデータ編集ツールを組めましたので、リリースします。

Download : ss-save-ssbupfsg.zip

 使い方はシンプルで、ZIPアーカイブを展開してssbupfsg.exeを実行。
 ここに吸い出したセガサターンのセーブファイルをドロップすれば一覧を取得。
 あとは「選択を書き出す」でサターンエミュレータSSFのフォルダにある
Backup\ExternalBackup フォルダ:外部メモリ
Backup\InternalBackup フォルダ:内蔵メモリ
 に書き出して保存すれば完了。

 実機で進めたセーブデータをそのままエミュレータで使えるようになります。