Analogue Pocket向けGBAコアv0.8.0公開! RTCをセーブから分離、ポケモンの.savを他コアへ移しやすく

Analogue Pocket向けGBAコアv0.8.0公開! RTCをセーブから分離、ポケモンの.savを他コアへ移しやすく

Analogue Pocket向けのゲームボーイアドバンス用FPGAコア「openfpga-GBA」のバージョン0.8.0が公開されました。今回のアップデートでは、RTC(リアルタイムクロック)の情報を通常のセーブデータから切り離し、独立した「.rtc」ファイルとして保存する仕組みが導入されています。

一見すると保存形式の変更に見えますが、実用面ではかなり重要なアップデートです。通常の「.sav」ファイルにRTC用データを追加しなくて済むため、セーブデータを別のGBAコアへ移す際に、ファイルサイズの違いによる問題を避けやすくなります。

●openfpga-GBA v0.8.0
https://github.com/mincer-ray/openfpga-GBA/releases/tag/v0.8.0

●RTC file Pull Request #41
https://github.com/mincer-ray/openfpga-GBA/pull/41

RTC情報を「.sav」から分離

RTCとは、現実の時刻や時間経過をゲーム内へ反映するための時計機能です。GBAでは『ポケットモンスター ルビー・サファイア・エメラルド』など、一部のゲームがこの仕組みを利用しています。

openfpga-GBAではこれまで、RTCを利用するゲームの場合、通常のセーブデータの末尾にRTC情報を追加する方式が使われていました。この方法ではRTCの状態を保存できる一方、一般的なGBAセーブデータよりも「.sav」のファイルサイズが大きくなり、RTC情報を想定していない別のコアへセーブデータを持っていく際に問題になる場合があります。

v0.8.0では、このRTC情報を「.sav」から切り離して、別の「.rtc」ファイルへ保存する方式へ変更されました。開発者のmincer-ray氏も、RTCデータを別ファイルへ移すことで「savを影響されない状態にし、他のコアへ移しやすくする」ことを今回の変更理由として説明しています。

『ポケットモンスター エメラルド』でAnalogue Pocket実機テスト

この仕組みについては、実際のAnalogue Pocketを使った動作確認も行われています。Pull Request #41では、『Pokémon Emerald』のUSA版とEurope版を使ったテスト結果が報告されています。

テストでは、openfpga-GBA v0.6.2系と同じく、通常のセーブデータ末尾へ16バイトのRTC情報を追加するforkでゲームを保存。そのセーブを今回の新方式へ移行したところ、ゲーム内の時計状態を維持したまま読み込むことができたとされています。

さらに新方式で保存すると、セーブデータは標準的な131,072バイトの「.sav」と、RTC情報を収めた16バイトの「.rtc」に分割されました。その後、再び旧形式を使うforkへ戻してもゲームと時計が動作したことが報告されています。

「.sav」が標準サイズのままなのがポイント

今回の変更で重要なのは、「.rtc」が増えたことそのものよりも、通常のゲーム進行データを収める「.sav」を標準的なサイズのまま維持できる点です。

RTCに対応していないコアから見れば、独立した「.rtc」は利用しなくても、通常の「.sav」だけを扱うことができます。これにより、RTC情報をセーブデータ末尾へ追加する方式と比較して、別のGBAコアへセーブを移す際の扱いがシンプルになります。

もっとも、これですべてのAnalogue Pocket向けGBAコアや、すべてのGBAゲーム間でセーブデータの完全な互換性が保証されたわけではありません。今回具体的に報告されている実機テストは『Pokémon Emerald』を中心としたものであり、利用するゲームやコアによって挙動が異なる可能性はあります。

K3V GBAでは先に「.sav」と「.rtc」の分離を採用

RTC情報を独立したファイルへ保存する仕組み自体は、Analogue Pocketでは今回が初めてではありません。

当サイトで2026年8月16日に紹介した「K3V GBA」でも、通常の「.sav」とRTC情報を記録する16バイトの「.rtc」を分離して保存する方式が採用されていました。K3V GBAはmincer-ray氏のopenfpga-GBA v0.6.2をベースに開発されている派生コアで、標準サイズのセーブデータを維持しながらRTCを利用できることも特徴のひとつでした。

Analogue Pocket向け新系統GBAコア「K3V GBA」が登場! 電源OFF中の経過時間もRTCに反映

今回のポイントは、そのK3V GBAとは別に、派生元となったmincer-ray氏のopenfpga-GBA本体でもv0.8.0からRTC分離方式が採用されたことです。そのため「Analogue Pocketで初めてRTC分離に対応した」というわけではありませんが、上流側のコアを利用しているユーザーにとっては大きな改善といえます。

アップデート前にはセーブデータのバックアップを

RTC対応ゲームを遊んでいるユーザーにとって、今回のv0.8.0はセーブデータの取り回しを改善する実用的なアップデートです。特に複数のGBAコアを試したい場合、通常の「.sav」に独自のRTC情報が追加されないことは大きなメリットになります。

一方で、RTCを含むセーブデータはゲームの進行状況だけでなく時計情報も関係するため、既存環境から切り替える場合はSDカード内のセーブデータを事前にバックアップしておくのが安全です。今回の『Pokémon Emerald』では旧形式からの移行が確認されていますが、すべてのタイトルや別コアとの組み合わせまで検証されているわけではありません。

openfpga-GBAを使って『ポケットモンスター』などRTC対応タイトルを遊んでいる人や、複数のGBAコアを使い分けている人にとって、v0.8.0はチェックしておきたいアップデートになりそうです。

ABOUT US
アバター画像
retrogamer