N64 ファイル形式とは?
.n64 は、リトルエンディアン(ワードスワップ)バイト順の Nintendo 64 ゲーム ROM イメージです。これには N64 カートリッジの完全なダンプが含まれていますが、コンソールのネイティブなビッグエンディアン順に対して、すべての 32 ビットワードのバイト順が逆転しています。
Nintendo 64 のハードウェアは、カートリッジデータをビッグエンディアン形式(.Z64 規約)で保存します。1990年代後半のエミュレーションシーンでは、異なるカートリッジコピーデバイスが異なるバイト配置で ROM ダンプを作成しました。その結果、3つの規約が登場しました。.z64(ビッグエンディアン、ネイティブハードウェア順)、.v64(16 ビットペアのバイトスワップ)、そして .n64(.u64 とも表記される、リトルエンディアン/ワードスワップ)です。これら3つはすべて同一のゲームデータを含んでおり、バイト配置のみが異なります。現代のエミュレータは、最初の4つのマジックバイトからバイト順を検出し、自動的にスワップするため、手動で変換することなく3つの拡張子すべてで同じゲームを開くことができます。
.n64 のマジックバイトは、オフセット 0 で 40 12 37 80 です。同じ ROM でも .z64 順では 80 37 12 40 で始まり、.v64 順では 37 80 40 12 で始まります。64 バイトの ROM ヘッダー(.n64 ではバイトスワップ済み)には、エントリポイント、IPL3 ブートコードが CIC チップと照合する2つの CRC チェックサム、20文字のゲームタイトル、カートリッジおよびメディア ID、リージョンコード(N=NTSC、P=PAL、J=日本)、およびリビジョンバイトが格納されています。
実用上、.n64 は3つのバイト順の中で最も稀な形式です。保存やエミュレーションには .z64 が好まれる形式です。.n64、.v64、.z64 間の変換は可逆的なバイトスワップであり、ゲームデータが変更されることはありません。
セキュリティと安全性
リスク: MEDIUM.n64 ROM はデータであり、実行ファイルではありません。PC 上で自身を実行したりインストールしたりすることはありません。実際の懸念点:(1) 法的側面 - 自身が所有するカートリッジのダンプは一般に許容されますが、所有していない ROM のダウンロードはほとんどの法域で著作権侵害となります。(2) 入手元 - ROM ダウンロードサイトには紛らわしいボタン、アドウェア、偽の「ローダー」インストーラーが溢れています。危険なのは ROM ファイル自体ではなく、サイトやラッパーです。エミュレータは常に公式サイトから入手し、ROM とエミュレータがセットになったバンドルには注意してください。
形式の詳細
概要N64 ファイルを開くプログラム
技術的詳細
詳細仕様| マジックバイト | オフセット 0 で 40 12 37 80(ネイティブのビッグエンディアン 80 37 12 40 のワードスワップ形式) |
| バイト順 | リトルエンディアン(ワードスワップ) - 各 32 ビットワードの 4 バイトが .z64 と比較して逆転 |
| ROM ヘッダー | 64 バイト(ワードスワップ済み):エントリポイント、CRC1/CRC2、20 バイトのゲームタイトル、カートリッジ/メディア ID、リージョンコードバイト、リビジョンバイト |
| リージョンコードバイト | ヘッダーオフセット 0x3E(ワードスワップ済み):N = NTSC、P = PAL、J = 日本 |
| CRC ペア | ヘッダーオフセット 0x10-0x17 の CRC1/CRC2(ワードスワップ済み)。IPL3 ブートコードによって CIC チップと照合され、不一致の場合は実機での起動に失敗します |
| カートリッジサイズ範囲 | 4 MB - 64 MB (32-512 Mbit)。ほとんどの市販タイトルは 8-32 MB、最大の市販リリースは 64 MB |
| コンテナ | 生のフラットバイナリ - ファイルシステムやラッピングコンテナなし。ROM ヘッダー + IPL3 ブートブロック + ゲームプログラム/データ |
| 内部圧縮 | ファイルレベルでの圧縮はなし。個別のゲームアセットはゲーム内圧縮(例:Yaz0)を使用している場合があります |
| .z64 との関係 | .z64(ビッグエンディアン)と同じ内容で、すべての 32 ビットワードがバイト反転されています。双方向で無劣化変換が可能です |
| 別名 | .u64 - 同一の形式とバイト順。初期の一部のコピーハードウェアで使用されていた代替拡張子 |
| バイト順の自動検出 | 最初の 4 バイトでバイト順のバリアントを一意に識別します。主要な N64 エミュレータはすべて読み込み時に自動スワップを行います |
| IPL3 ブートブロック | 64 バイトのヘッダーの直後に続き、CIC 依存のチェックサムルーチンとハードウェア初期化が含まれています |
| MIME タイプ | application/x-n64-rom |
| リリース日 | 1996 (Nintendo 64 console); .n64 byte-order convention from copier/emulator era late 1990s |
| 仕様書 | n64brew.dev |
N64 の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。N64 ファイルについて最初の質問をしてみましょう。