ROMファイルとは?

ROMファイルは、物理的なゲームカートリッジまたはディスクの読み取り専用メモリチップのデジタルコピーです。カートリッジからデータをダンプすると、結果のバイナリファイルにはヘッダー(最初の小さなバイトブロック)が含まれており、ゲームとそれが構築されたハードウェアについて説明しています。各コンソールファミリーは独自のヘッダー構造を使用するため、NES ROMはバイトレベルでGame BoyやSega Genesis ROMとは根本的に異なります。

ヘッダーは通常、ターゲットリージョン、メモリマッパータイプ、ROMおよびRAMサイズ、ゲーム識別子コードなどの情報を格納しています。これにより、ファイル拡張子のみに依存することなく、ファイルだけから発信元のコンソールを検出することが可能になります。

ツール説明

任意のROMファイルをアップロードすると、ツールはそれがどのゲームコンソールに属しているかを即座に識別します。バイナリヘッダーを読み取り、既知のコンソール署名と照合し、リージョン、ゲームコード、マッパータイプ、ROM/RAMサイズ、暗号ハッシュ(CRC32およびSHA-1)などのシステム固有のメタデータとともにコンソール名を返します。ROMを含むZIPアーカイブもサポートされています。ツールは内部で最初に見つかったROMを抽出して分析します。

サポートされているコンソール

コンソール システムキー 注記
NES / Famicom nes iNES 1.0およびNES 2.0ヘッダー。マッパーおよびサブマッパーを検出
Super Nintendo sfc LoROM / HiROMを検出、ROMスピード、コプロセッサ(SuperFX、SA-1、DSP)
Nintendo 64 n64 ヘッダー解析、リージョン検出、バイトスワップバリアント(.z64.v64
Game Boy / Color gb MBCタイプ、RAMサイズ、GBC / SGB互換性を検出
Game Boy Advance gba ゲームIDとセーブタイプ(SRAM / Flash / EEPROM)を抽出
Nintendo DS nds ゲームコード、リージョン、ユニットコード(DSi互換)、デバイス容量
Sega Genesis / Mega Drive genesis 国内および海外タイトル、シリアル番号、リージョン
Sega Master System sms TMR SEGAヘッダー、プロダクトコード、リージョン
Sega Game Gear gg Master Systemヘッダー形式に基づく
PC Engine / TurboGrafx-16 pce 基本的な識別
WonderSwan ws ROM終端ヘッダー、ゲームID、モデル
WonderSwan Color wsc ROM終端ヘッダー、ゲームID、モデル

NES ROMアップロード結果

Detected Console  NES / Famicom
System Key        nes
CRC32             7d2d8d2c
SHA-1             a793e28a...
NES Version       iNES 1.0
Mapper            4
PRG ROM           256 KB
CHR ROM           128 KB
Region            NTSC

SNES ROMアップロード結果

Detected Console  Super Nintendo (SNES)
System Key        sfc
CRC32             b19ed489
ROM Type          LoROM
ROM Speed         SlowROM
RAM               8 KB

機能

  • ヘッダーバイトからのコンソール検出: ファイル拡張子だけでなく、バイナリマジックワードとヘッダー構造を読み取ることでコンソールを識別します
  • ZIPアーカイブサポート: ROMを含む.zipファイルをアップロードすると、ツールは内部のROMを自動的に分析します
  • システム固有のメタデータ: 検出されたコンソールに応じて、マッパータイプ、リージョン、ゲームコード、タイトル、シリアル、ROMおよびRAMサイズを表示します
  • デュアルハッシュ出力: CRC32とSHA-1を同時に計算します。これらはROM検証データベースで最も一般的に使用されるチェックサムです
  • サーバー側分析: roomieライブラリを使用してサーバー上で処理が行われるため、ファイル解析にクライアント側のJavaScript制限は適用されません

ユースケース

  • ROMライブラリの整理: ラベルが貼られていないまたは名前が間違っているROMファイルを素早く識別し、エミュレーターを開かずにコンソール別にソートします
  • ROMダンプの検証: CRC32またはSHA-1ハッシュをNo-Intro、Redump、またはTOSECデータベースと相互参照して、ROMが既知の良好なダンプであることを確認します
  • エミュレーターセットアップ: NESまたはSNES ROMの正確なマッパーとリージョンを確認してから、この情報を手動で設定する必要があるエミュレーターを構成します

制限事項

  • 検出はファイル内の有効なヘッダーの存在に依存しています。ヘッダーレスまたは破損したROMは認識されない可能性があります。
  • アップロードごとに分析されるのは1つのROMのみです。複数のROMを含むZIPアーカイブの場合、最初にマッチするファイルのみが処理されます。
  • コンソール検出は上記のシステムをカバーしています。他のプラットフォームのROM形式はサポートされていません。