The n64decomp C Decompilation & Project Midas
Rare’s 1997 milestone GoldenEye 007 defined first-person shooters on home consoles, proving that cinematic storytelling, stealth objectives, and competitive multiplayer could thrive on a gamepad. For decades, playing GoldenEye on modern hardware required Nintendo 64 emulators, which frequently struggled with timing inaccuracies, audio crackles, and severe framerate drops. Enter Project Midas, maintained by developer sergiomanzur (release v1.0.1), which brings the game to 64-bit ARM (aarch64) Android devices as a native C and C++ application.
Project Midas is built upon the multi-year community clean-room C decompilation of Rare’s original MIPS R4300i binary (n64decomp/007), combined with upstream desktop architectural work from murkantor. Instead of simulating the N64’s complex Reality Coprocessor and RSP, the engine compiles directly to bare-metal machine code. This architecture eliminates the heavy slowdown that plagued original hardware during intense firefights in Facility, Bunker, and Control, while delivering true 16:9 widescreen rendering without stretching or cropping the HUD.
USA NTSC Cartridge Image Setup & Asset Verification
To respect copyright guidelines, Project Midas distributes zero proprietary Nintendo or Rare assets. You must provide your own retail cartridge data from a legally owned North American release:
- Back up your own physical copy of the North American (USA NTSC) retail GoldenEye 007 Nintendo 64 cartridge into a standard
.z64image file. - Download and install the latest
ProjectMidas-v1.0.1-android.apkpackage from the project’s GitHub releases page. - Place your USA cartridge image into a convenient folder on your Android device’s internal storage.
- Launch Project Midas; on first launch, use the integrated file browser to select your
.z64cartridge image. - The runtime extracts and validates the required assets, creating persistent configuration directories before opening the iconic gun-barrel sequence.
Native ARM64 Frame Pacing, Widescreen & Alpha State
Running natively on ARM64 hardware allows GoldenEye 007 to maintain a fluid, locked framerate far surpassing the original 15 to 30 FPS console experience. A midrange processor, such as a Snapdragon 865 or newer running Android 10 or later, is recommended to ensure seamless geometry throughput and smooth camera rotation.
Because the project is officially labeled as an active-alpha release (noted as a “work in progress” in the developer’s documentation), players should anticipate some rough edges. Occasional visual anomalies in complex alpha-blended transparency effects, minor menu scaling quirks on ultra-wide aspect ratios, and ongoing audio buffer optimizations are actively being refined. Despite these early alpha quirks, campaign missions and core combat loops are fully playable.
Dual-Analog SDL Controls & Local Split-Screen Combat
The single analog stick of the original N64 controller famously led to idiosyncratic control schemes. Project Midas modernizes input ergonomics with contemporary dual-stick controls:
- Dual-Analog Modern Aiming: Using the SDL2 input layer, the port binds left-stick movement (strafe and walk) and right-stick camera aiming (look and turn), providing modern first-person shooter ergonomics with saveable controller profiles.
- On-Screen Touch Controls: Mobile users can utilize an on-screen touch overlay with virtual thumbsticks, weapon switching icons, and trigger buttons for quick covert ops on the go.
- Local Multiplayer Retained: Project Midas maintains the legendary four-player split-screen multiplayer mode on Android devices connected to external displays or handheld docks, including saved player profiles and classic scenario customization like License to Kill and Golden Gun.