ROM ファイル形式とは?
.romファイルは、エミュレータでコンソールやコンピュータのゲームを実行するために使用されるゲームイメージファイルです。.romファイルは、ゲームカートリッジまたはROMチップのバイト単位のダンプです。「ROM」という用語はRead-Only Memory(読み取り専用メモリ)の略で、データがコピーされた元の読み取り専用ハードウェアを指します。
.n64や.smcのような専用フォーマットとは異なり、.rom拡張子は固定された内部構造やマジックバイトを持たない汎用的なラベルです。その内部レイアウトは、ダンプ元のコンソールやコンピュータに完全に依存します。N64ゲーム、MSXコンピュータのタイトル、ColecoVisionのカートリッジ、Game Boyのゲームは、すべて.romとして保存される可能性がありますが、バイナリレイアウトは大きく異なります。
Nintendo 64のゲームでは、.romと並んでいくつかの密接に関連するフォーマットが使用されます:
.n64- リトルエンディアンのバイト順.v64- バイトスワップ(インターリーブ)されたバイト順.z64- ビッグエンディアンのバイト順(N64のネイティブフォーマット)
.romファイルを開くには、正しいシステム用のエミュレータが必要です。N64ゲームの場合、Project64やMupen64Plusが一般的です。RetroArchやOpenEmuは、コアプラグインシステムを通じて、多くの異なるシステムの.romファイルをサポートしています。
.romには埋め込まれたシステム識別子が含まれていないため、一部のエミュレータではファイルがどのコンソールに属するかを自動検出できず、手動設定が必要になる場合があります。
セキュリティと安全性
リスク: MEDIUMゲームROMはエミュレータが解釈するパッシブなデータであるため、ファイルが実際のOS上で実行されることは稀ですが、実在するリスクもあります。ROMダウンロードサイトはマルウェアや偽の「roms.exe」ドロッパーの温床として悪名高いため、信頼できるソースのみを使用し、ダウンロードしたものをスキャンしてください。重要な点として、実際にはファームウェアやBIOSである.romは別の意味で危険です。マザーボード、GPU、ルーターに誤ったファームウェアイメージを書き込むと、デバイスが永久に「文鎮化」する可能性があります。書き込む前に、お使いのハードウェアと正確に一致することを確認してください。法的には、所有していない著作権で保護されたROMのダウンロードは一般的に侵害行為です。自身のカートリッジのダンプや、自作ソフト/パブリックドメインのROMを使用するのがより安全な道です。
形式の詳細
概要- ファームウェア / BIOSイメージ - マザーボードのBIOS/UEFI、GPUのビデオBIOS (vBIOS)、ルーターやデバイスのファームウェアは、チップに書き込まれる
.romファイルとして配布されることがよくあります。これらはゲームではありません。 - オプションROM / 拡張ROM - PCのアドインカード(ネットワーク、RAID、GPU)には、起動時にシステムファームウェアによってロードされるオプションROMイメージ(
.romという名前の場合がある)が搭載されています。
ROM ファイルを開くプログラム
.romをロードしてプレイします。 技術的詳細
詳細仕様| バイナリエンコーディング | 生のバイナリ - 元のカートリッジまたはチップデータの非圧縮、バイト単位のコピー |
| 内部構造 | システムに依存。ユニバーサルなヘッダーや固定レイアウトはなく、バイナリレイアウトは元のコンソールやコンピュータによって完全に規定される |
| マジックバイト / ファイルシグネチャ | なし。`.rom`拡張子には固定の識別シグネチャはなく、識別はエミュレータまたはユーザーに依存する |
| N64バイト順バリアント | ビッグエンディアンの`.z64`(ネイティブのMIPS R4300i形式)、バイトスワップされた`.v64`、およびリトルエンディアンの`.n64` - エミュレータはロード時にこれらを相互変換する |
| MIMEタイプ | `application/octet-stream` |
| 一般的なファイルサイズ | カートリッジにより256 KB - 64 MB。ほとんどのN64タイトルは8 MBから64 MBの範囲 |
| コンテンツの内容 | 元のROMチップに保存されている通りの、完全なゲーム実行コード、グラフィックス、オーディオ、およびレベルデータ |
| 圧縮 | ファイル内にはなし。ユーザーは通常、ZIPや7zコンテナを使用して外部的に`.rom`ファイルをアーカイブする |
| 関連拡張子のエコシステム | `.z64`, `.n64`, `.v64` (N64); `.smc` / `.sfc` (SNES); `.nes` (NES); `.gba` (GBA); `.gb` (Game Boy) |
| ROMハッキングのサポート | バイナリエディタで修正したり、Floating IPSやbeatなどのIPS/BPSパッチユーティリティを使用してパッチを適用したりすることが可能 |
| システム識別 | エミュレータの設定またはユーザーの選択によって決定され、`.rom`ファイル自体には埋め込まれていない |
| N64カートリッジヘッダー | 最初の64バイトにPI BSDレジスタ、クロックレート、ブートアドレス、ゲーム名(20バイト)、カートリッジID(2バイト)、および国コードがエンコードされている |
| N64 CRC整合性チェック | N64 ROMにはオフセット0x10 (CRC1) と 0x14 (CRC2) に2つの32ビットCRC値が含まれており、起動時にコンソールのブートROMによって検証される |
| 法的背景 | 多くの法域において、個人によるカートリッジのダンプは一般的に許可されているが、第三者のROMを配布またはダウンロードすることは通常、著作権侵害となる |
| リリース日 | with console/computer emulation (1990s onward) |
| 仕様書 | emulation.gametechwiki.com |
ROM の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。ROM ファイルについて最初の質問をしてみましょう。
よくある質問
ROMファイルを開いたりプレイしたりするにはどうすればよいですか?
.romファイルにはどのエミュレータが必要ですか?
.romは汎用的な拡張子です。不明な場合は、ファイルサイズや入手元を確認するか、適切なコアを試行できるRetroArchやOpenEmuのようなマルチシステムフロントエンドを使用してください。N64、SNES、NES、GBAなどは、それぞれ専用のエミュレータまたはコアを必要とします。N64のROMが読み込めないのはなぜですか?
.z64(ビッグエンディアン)、.v64(バイトスワップ)、.n64(リトルエンディアン)。一部のエミュレータは1つの形式しか受け付けません。Tool64などのツールでファイルを変換/バイトスワップするか、エミュレータが期待する形式の拡張子にリネームしてください。