OpenROM 3.7系でPatch Builder追加。2つのROMからIPS32/UPS/DCP/SSPなどのパッチを作成可能に

OpenROM 3.7系でPatch Builder追加。2つのROMからIPS32/UPS/DCP/SSPなどのパッチを作成可能に

汎用レトロゲーム管理ツール「OpenROM」のv3.7系で、変更前と変更後の2つのROMを比較して差分パッチを作成できる新機能「Patch Builder」が追加されました。Patch Builder自体はv3.7.0で実装され、その後公開されたv3.7.5ではDCP関連の信頼性改善や、生成したパッチがどのベースROMを想定しているのか識別するための機能なども追加されています。

これまでOpenROMには、IPSやBPS、xdelta3、DCPなどのパッチをROMへ適用する機能が搭載されていました。今回のv3.7系ではそこから一歩進み、自分で変更したROMからパッチファイルそのものを作成できるようになっています。

●OpenROM公式GitHub
https://github.com/M5Devs/OpenROM

●OpenROM v3.7.0
https://newreleases.io/project/github/M5Devs/OpenROM/release/v3.7.0

●OpenROM v3.7.5
https://newreleases.io/project/github/M5Devs/OpenROM/release/v3.7.5

パッチを「適用する」だけでなく「作る」ことも可能に

Patch Builderが最初に実装されたのはv3.7.0です。オリジナルのROMと変更後のROMを指定すると、両者の差分を比較して配布用のパッチファイルを生成できる仕組みになっています。

最初の実装ではxdelta、IPS、BPSに対応しており、その後IPS32、EBP、UPSも追加されました。さらにドリームキャスト向けのDCPと、セガサターン向けのSSPにも対応しています。

現時点で確認できる主なPatch Builderの対応形式は以下の通りです。

  • IPS
  • BPS
  • xdelta3
  • IPS32
  • EBP
  • UPS
  • DCP
  • SSP

たとえば、自分で変更を加えたROMと元のROMを比較して差分だけをパッチ化するといった使い方ができます。ゲームデータそのものではなく変更部分をパッチとして管理できるため、翻訳や修正、各種ROMハックなどを制作する場合にも利用しやすい機能です。

画面上も従来の「Apply Patch」に加えて「Build Patch」が用意されており、これまでのように既存のパッチを適用するだけではなく、パッチ作成までOpenROM内で行えるようになったのが大きな変化です。

ドリームキャスト向けDCPやセガサターン向けSSPにも対応

Patch Builderでは、一般的なROM向けのIPSやBPSだけではなく、ディスク系ゲーム機向けの形式にも対応しています。

ドリームキャスト向けのDCP Patch Builderは「Universal Dreamcast Patcher」v2.1.7との互換性を想定したもので、元のディスクフォルダーと変更後のフォルダーを比較します。変更されたファイルについてはxdelta3による差分を生成するほか、新しく追加されたファイルやIP.BINの変更などもDCPパッチ内へ収録できる仕組みになっています。

また、セガサターン向けにはSSP(Sega Saturn Patcher)形式のPatch Builderも実装されています。こちらではBIN内のファイルを調べ、変更されたファイルの差分を生成してSSP形式のパッチとしてまとめる仕組みが採用されています。

こうしたディスク系のパッチ作成までひとつのツールにまとめられているところは、OpenROMらしいポイントといえそうです。

v3.7.5では「どのROM用のパッチか」を識別しやすく

その後公開されたv3.7.5では、Patch Builderで作成したパッチについて、どのベースROMから作られたものなのかを確認するための仕組みが追加されました。

ファイル形式のパッチを生成すると、パッチ本体とは別にJSON形式のマニフェストファイルが作成されます。ここには元ROMと変更後ROMのファイル名やサイズ、CRC32、SHA-256などの情報が記録されます。

パッチを適用するときにこのマニフェストが存在する場合は、指定したROMが想定しているベースROMと一致するかをチェックします。異なるROMだった場合は、期待されるSHA-256と実際のSHA-256を表示して処理を拒否する仕組みも追加されています。

ROMハックなどでは、リージョンやリビジョンが異なるROMへ誤ってパッチを適用すると正常に動作しないことがあります。こうしたミスを事前に発見しやすくなった点は、Patch Builderと合わせて実用性の高い改善といえそうです。

なお、このマニフェストはパッチ本体の形式そのものを書き換えるものではありません。IPSやxdeltaなどは従来のバイナリ形式を維持し、識別用の情報を別ファイルとして付加する仕組みになっているため、既存のパッチツールとの互換性にも配慮されています。

ROM変換や圧縮といった従来機能も引き続き搭載

OpenROMは、ROMパッチ専用のツールではありません。PSPのISOからCSOへの変換や、初代PlayStation、ドリームキャスト、セガサターン、メガCDのBIN/CUEからCHDへの変換、ゲームキューブやWiiのRVZ変換など、複数の機種で利用するROMやディスクイメージをまとめて扱えるツールです。

当サイトでは2026年9月28日に公開したOpenROM v3.6.1の記事で、こうした変換・圧縮機能やパッチ適用、ROM整理機能などを紹介しました。今回追加されたPatch Builderは、そこで紹介した既存機能とは異なる「パッチを作る」ための新機能となります。

Windowsではインストーラー版とポータブル版が用意されているほか、Linux x86_64/ARM64、macOS Apple Silicon/Intel向けも配布されています。GUI版のOpenROMに加えて、コマンドラインで利用できる「openrom-core」も同梱されています。

なお、2026年10月5日には次のバージョンとなるOpenROM v3.8.0も公開されています。こちらではオプトイン形式のオンライン機能などが追加されていますが、今回紹介したPatch Builderはv3.7.0で追加され、v3.7.5までの更新で機能強化されたものです。

ABOUT US
アバター画像
retrogamer