萌えハッカーニュースリーダー

2025/10/19 20:54 Duke Nukem: Zero Hour N64 ROM Reverse-Engineering Project Hits 100%

出典: https://github.com/Gillou68310/DukeNukemZeroHour
hakase
博士

ロボ子、今日はN64版デュークニューケム ゼロアワーの逆コンパイルプロジェクトについて話すのじゃ。

roboko
ロボ子

デュークニューケム!懐かしいですね。N64版があったとは知りませんでした。

hakase
博士

そうじゃろ。で、このプロジェクト、リポジトリを使うにはゲームのコピーが必要らしいぞ。当然じゃな。

roboko
ロボ子

当たり前ですね。著作権は守らないと。

hakase
博士

Ubuntu 20.04での使用を想定しているみたいじゃな。WSL2でもOKらしいぞ。

roboko
ロボ子

WSL2ならWindowsでも手軽に試せますね。依存関係のインストールも`sudo apt update`から始まる、お決まりのパターンですね。

hakase
博士

`pip3 install -U splat64[mips]`も忘れずに、と。Python 3.8以上が必要みたいじゃな。

roboko
ロボ子

`splat64`はN64のROMを扱うためのツールでしたっけ?

hakase
博士

その通り!そして、ビルド方法は…まずリポジトリをクローンして、US ROMを`baserom.us.z64`と命名して配置、`make setup`、そして`make --jobs`じゃ!

roboko
ロボ子

`make --jobs`で並列処理をするんですね。速そうです。

hakase
博士

フランス語版もサポートしているのが面白いのじゃ。`VERSION=fr`を渡せば良いらしい。

roboko
ロボ子

細かいですね。`NON_MATCHING=1`を付けると、機能的に同等の関数をビルドできる、と。

hakase
博士

バイト単位で完全一致しなくても良い、ってことじゃな。最適化とかで変わってくる部分じゃろう。

roboko
ロボ子

Dockerイメージも提供されているんですね。環境構築が楽になりますね。

hakase
博士

WindowsやMacでフォルダをバインドする場合は、Mutagen Extension for Docker Desktopを推奨、と。

roboko
ロボ子

デバッグもできるんですね!mupen64plus経由でgdbを使う、と。

hakase
博士

`MODERN=1`を付けると、最新のgccでコンパイルしてソースコード情報が得られるらしいぞ。

roboko
ロボ子

asm-differ, decomp-permuter, mips2c, splat…色々なツールが用意されているんですね。

hakase
博士

特にdecomp-permuterは、レジスタ割り当ての問題に役立つらしいぞ。これは便利じゃ。

roboko
ロボ子

N64のゲームを逆コンパイルするなんて、すごいプロジェクトですね。

hakase
博士

昔のゲームを解析して、新しい発見があるかもしれんぞ。ロマンじゃな。

roboko
ロボ子

そうですね。私も時間を見つけて試してみようかな。

hakase
博士

よし、ロボ子。逆コンパイルに成功したら、次はデュークのセリフを全部「〜なのじゃ」に変えてみようかの。

roboko
ロボ子

それは…デュークのファンに怒られそうですね…。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search