{"id":51466436,"url":"https://github.com/akratch/mgb64","last_synced_at":"2026-07-06T12:00:20.811Z","repository":{"id":366227956,"uuid":"1274609013","full_name":"akratch/mgb64","owner":"akratch","description":"A decompilation and native source port of a 1997 Nintendo 64 first-person shooter, for research \u0026 preservation. Bring your own ROM - no copyrighted assets included.","archived":false,"fork":false,"pushed_at":"2026-07-04T18:13:47.000Z","size":7773,"stargazers_count":6,"open_issues_count":12,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-04T20:07:07.230Z","etag":null,"topics":["bring-your-own-rom","decompilation","game-preservation","n64","native-port","nintendo-64","opengl","reverse-engineering","sdl2","source-port"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/akratch.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE.md","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-19T17:38:29.000Z","updated_at":"2026-07-04T18:10:35.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/akratch/mgb64","commit_stats":null,"previous_names":["akratch/mgb64"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/akratch/mgb64","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akratch%2Fmgb64","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akratch%2Fmgb64/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akratch%2Fmgb64/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akratch%2Fmgb64/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/akratch","download_url":"https://codeload.github.com/akratch/mgb64/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akratch%2Fmgb64/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35189713,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-06T02:00:07.184Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bring-your-own-rom","decompilation","game-preservation","n64","native-port","nintendo-64","opengl","reverse-engineering","sdl2","source-port"],"created_at":"2026-07-06T12:00:19.317Z","updated_at":"2026-07-06T12:00:20.776Z","avatar_url":"https://github.com/akratch.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eMGB64\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\u003cem\u003eMan with the Golden Build\u003c/em\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\nA \u003cstrong\u003edecompilation\u003c/strong\u003e and \u003cstrong\u003enative source port\u003c/strong\u003e\nof a 1997 Nintendo\u0026nbsp;64 first-person shooter, reimplemented in portable C so\nit can be studied, preserved, and run natively on modern machines.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"LICENSE\"\u003e\u003cimg alt=\"License: MIT (first-party)\" src=\"https://img.shields.io/badge/license-MIT%20(first--party)-blue.svg\"\u003e\u003c/a\u003e\n\u003cimg alt=\"Status: experimental\" src=\"https://img.shields.io/badge/status-experimental-orange.svg\"\u003e\n\u003cimg alt=\"Bring your own ROM\" src=\"https://img.shields.io/badge/assets-bring%20your%20own%20ROM-red.svg\"\u003e\n\u003c/p\u003e\n\n\u003e [!IMPORTANT]\n\u003e **This project ships no game.** It contains decompiled code and an original\n\u003e port layer — **no ROM and no copyrighted assets** (graphics, audio, models,\n\u003e fonts, level data). To run the port you must supply your **own**\n\u003e legally-dumped copy of the game. Please read **[DISCLAIMER.md](DISCLAIMER.md)**.\n\n## Gameplay Examples\n\n| Runway | Cradle |\n| --- | --- |\n| [![Runway gameplay example](https://img.youtube.com/vi/Jh3GOirvobI/hqdefault.jpg)](https://youtu.be/Jh3GOirvobI) | [![Cradle gameplay example](https://img.youtube.com/vi/Pob6Itc7rCQ/hqdefault.jpg)](https://youtu.be/Pob6Itc7rCQ) |\n| [Watch on YouTube](https://youtu.be/Jh3GOirvobI) | [Watch on YouTube](https://youtu.be/Pob6Itc7rCQ) |\n\n## Download\n\n\u003e **Bring your own ROM.** Downloads contain **no game data** — you supply your\n\u003e own legally-dumped GoldenEye\u0026nbsp;007 ROM at runtime (see\n\u003e [DISCLAIMER.md](DISCLAIMER.md)).\n\nMGB64 ships as a real app: a Dear\u0026nbsp;ImGui launcher rendered *in-process* —\ninsert a ROM, configure everything, jump to any level, and play, with an\nin-game overlay (**F1**) for live settings. One portable codebase builds it on\nall three desktop platforms.\n\n| Platform | Download | Notes |\n| --- | --- | --- |\n| **macOS** 13+ (Apple\u0026nbsp;Silicon) | **[MGB64.app — latest release](https://github.com/akratch/mgb64/releases/latest)** | `.app` in a `.zip`. Unsigned, so on first launch **right-click\u0026nbsp;→\u0026nbsp;Open** to pass Gatekeeper. Intel Macs: [build from source](#building) (Homebrew SDL2 is single-arch, so no universal prebuilt yet). |\n| **Windows** 10/11 (x64) | **[Portable `.zip` — latest release](https://github.com/akratch/mgb64/releases/latest)** | Unzip and run `ge007.exe` (bundles `SDL2.dll`). Or [build from source](#building) (MSYS2/MinGW, a few minutes). |\n| **Linux** (x86‑64, glibc\u0026nbsp;2.35+) | **[AppImage — latest release](https://github.com/akratch/mgb64/releases/latest)** | `chmod +x` and run (bundles SDL2/GL); a `.tar.gz` is also attached. Or [build from source](#building) (SDL2\u0026nbsp;+\u0026nbsp;GL\u0026nbsp;+\u0026nbsp;D‑Bus dev packages). |\n\n\u003e **Platform status.** macOS is built and tested by the maintainers. Windows and\n\u003e Linux use the **same portable codebase** and are wired into the build and\n\u003e release pipeline (`.github/workflows/release.yml`); their prebuilt binaries\n\u003e are attached to tagged releases (starting with v0.3.1) but are **not yet\n\u003e maintainer‑tested**. Please report platform issues via the app's\n\u003e **Diagnostics → Export Diagnostics** button or the\n\u003e [bug report template](.github/ISSUE_TEMPLATE/bug_report.md).\n\nHow it all works and how each platform is built:\n**[docs/APP_ARCHITECTURE.md](docs/APP_ARCHITECTURE.md)**.\n\n## What is this?\n\nMGB64 combines the decompiled game code with a native PC/macOS port. It builds\non the same N64 decompilation ecosystem as\n[Super Mario 64](https://github.com/n64decomp/sm64) and\n[Ocarina of Time](https://github.com/zeldaret/oot) decompilations and the\n[Perfect Dark](https://github.com/fgsfdsfgs/perfect_dark) port:\n\n- **A decompilation** — the original N64 game's logic, rewritten as readable,\n  buildable C and MIPS assembly. The native port is the supported build today;\n  byte-identical N64 ROM rebuilding is still in progress.\n- **A native port** — a platform layer (`src/platform/`) that runs the same game\n  code on PC/macOS: it loads *your* ROM at runtime, translates the N64 display\n  lists to a modern GPU, and provides audio, input, and file I/O. No copyrighted\n  data is compiled into the binary (\"bring your own ROM\").\n\n## Status\n\n\u003e **Experimental.** This is a research/preservation project, not a polished\n\u003e consumer release, and it is **not** a 1:1 replacement for original hardware.\n\n- ✅ The decompilation covers the bulk of the game's systems (rendering, AI,\n  combat, level logic, menus, audio).\n- ✅ **The native port builds and runs from a clean checkout + your own ROM**\n  (`cmake -B build \u0026\u0026 cmake --build build`), with native rendering, audio, and\n  keyboard/mouse + gamepad input.\n- ✅ **Asset-free:** no ROM media is compiled into the binary — textures, audio,\n  animation, fonts, and logos are read from *your* ROM at runtime.\n- ✅ **Opt-in visual remaster:** a one-flag `--remaster` mode layers modern\n  post-processing (ambient occlusion, bloom, filmic tonemap, colour grade, FXAA,\n  supersampling) and optional user-built HD texture packs on a native Metal\n  backend, while `--faithful` preserves the byte-faithful 1997 look. See\n  **[docs/VISUAL_MODES.md](docs/VISUAL_MODES.md)**.\n- ⚠️ **Platform support: developed and tested on macOS (Apple Silicon) only.**\n  Windows and Linux have CMake/build-system support and are intended targets,\n  but they have **not** been tested by the maintainers yet — expect build or\n  runtime issues, and please report them (see\n  [docs/BUILDING.md](docs/BUILDING.md#reporting-platform-validation) for the\n  platform validation report template).\n- 🚧 Rebuilding the original **N64 ROM** (byte-matching), SDK provenance cleanup,\n  and renderer/audio parity are the main open areas. See\n  **[ROADMAP.md](ROADMAP.md)** for the\n  precise state and good first issues.\n- ⚠️ The tree still contains inventoried N64 SDK/libultra compatibility\n  material that is **not** MIT-licensed first-party code. See\n  **[THIRD_PARTY.md](THIRD_PARTY.md)** before describing or redistributing the\n  project.\n\nThere are known graphical and gameplay issues and occasional instability. Bug\nreports and PRs are very welcome.\n\n## The app (insert ROM, configure, play)\n\nBeyond the CLI, MGB64 builds an in-process **app** (default `-DMGB64_APP=ON`):\na Dear ImGui launcher rendered in the same window as the game — **no separate\nprocess, one portable codebase** for macOS/Windows/Linux. It provides a native\n\"insert ROM\" picker with validation, an auto-generated settings panel (every\nengine config key), quick launch-to-level / multiplayer, and an in-game overlay\n(F1) with live settings. Automation/diagnostic invocations bypass the launcher\nand run the unchanged engine path, so the validation harness is unaffected.\n\n- Run the launcher: `./build/ge007` (no arguments).\n- macOS bundle: `./macos/Scripts/build_gl_app.sh` → `build-macos-app/MGB64.app`.\n- Architecture + per-OS build/seams: **[docs/APP_ARCHITECTURE.md](docs/APP_ARCHITECTURE.md)**.\n\n\u003e macOS is validated; Windows/Linux use only portable seams and are wired in the\n\u003e build. A prebuilt \"Download\" section (rolling latest + tagged releases) is\n\u003e planned.\n\n## Building\n\n\u003e [!WARNING]\n\u003e **This port has only been built and tested on macOS (Apple Silicon) so far.**\n\u003e The Linux and Windows (MSYS2/MinGW64) paths below are provided in good faith\n\u003e but are **not yet verified** by the maintainers. If they fail for you, please\n\u003e open a platform validation report issue.\n\nFull instructions — toolchain, dependencies, native-port setup, and the\nmatching-target asset-extraction path — are in\n**[docs/BUILDING.md](docs/BUILDING.md)**. In brief:\n\n1. Install the build dependencies for your platform (see the build doc).\n2. Build the native port with CMake; the public checkout compiles without ROM\n   media or extracted assets.\n3. Run the port with a ROM **you legally own** using `--rom /path/to/rom.z64`,\n   or place it at the repository root for auto-detection.\n4. Matching-target contributors can use the asset-extraction and\n   Makefile path described in the build docs.\n\n```sh\n# Native port (PC/macOS):\ncmake -B build -DCMAKE_BUILD_TYPE=Release\ncmake --build build -j\n```\n\n## Running\n\nYou must already own and supply the ROM — the port reads it at runtime; no game\ndata is bundled. The default command boots normally into the game frontend:\n\n```sh\n./build/ge007 --rom \"/path/to/baserom.u.z64\"\n```\n\nCommon startup examples:\n\n```sh\n# Boot normally with an explicit ROM path:\n./build/ge007 --rom \"/path/to/baserom.u.z64\"\n\n# Direct-boot a solo stage by name:\n./build/ge007 --rom \"/path/to/baserom.u.z64\" --level dam\n\n# Direct-boot mission 2 on Secret Agent:\n./build/ge007 --rom \"/path/to/baserom.u.z64\" --mission 2 --difficulty secret\n\n# Direct-boot by raw internal LEVELID, useful for validation:\n./build/ge007 --rom \"/path/to/baserom.u.z64\" --level 33\n\n# Keep saves/config in a dedicated directory:\n./build/ge007 --rom \"/path/to/baserom.u.z64\" --savedir \"$HOME/.mgb64\"\n```\n\nIf you don't pass `--rom`, the port auto-detects a compatible ROM in the working\ndirectory and common locations (`~/Downloads`, `~/Documents`, `~/Desktop`, `~`)\nby size, N64 header, and internal cartridge name.\n\n### Visual modes\n\nThe port renders a **faithful original** look and an opt-in **remaster**, each a\nsingle flag. Note the default boot (no flag) already enables the cinematic post-FX\nand 2× supersampling — so pass **`--faithful`** for the byte-faithful 1997 look.\n\n| Mode | Command | What you get |\n| --- | --- | --- |\n| **Faithful** | `./build/ge007 --faithful --level dam` | Byte-faithful 1997 original — post-FX off, native resolution, stock textures, classic FOV/crosshair/aim. |\n| **Faithful HD** | `./build/ge007 --faithful-hd --level dam` | The faithful look at 2× supersampling and HD-pack-ready — set `Video.TexturePack` for HD textures. |\n| **Default** | `./build/ge007 --level dam` | Cinematic post-FX (colour grade, tonemap, bloom, FXAA, sharpen, vignette, dither) + 2× SSAA; ambient occlusion off. |\n| **Remaster** | `./build/ge007 --remaster --level dam` | The full remaster: adds screen-space ambient occlusion on top of the default look (uses the native Metal backend on macOS). |\n\nThe three preset flags are **transient and mutually exclusive** — none writes\n`ge007.ini`. Every individual effect is also a `Video.*`/`Input.*` setting (with a\n`GE007_*` env-var alias) you can toggle via `--config-override`; run\n`./build/ge007 --list-settings` for the full list. HD texture packs are built from\n*your own* ROM dump with `tools/texpack` and are never distributed. Full details:\n**[docs/VISUAL_MODES.md](docs/VISUAL_MODES.md)**.\n\nUseful runtime options:\n\n| Option | Purpose |\n| --- | --- |\n| `--rom PATH` | Load the ROM from `PATH`. A positional ROM path also works. |\n| `--level NAME` | Direct-boot a supported solo stage by slug, for example `dam`, `facility`, `runway`, `surface1`, `bunker1`, or `egypt`. |\n| `--level N` | Direct-boot a raw internal `LEVELID`. Example: `33` is Dam. These numbers are not mission-order numbers. |\n| `--mission N` | Direct-boot solo mission order `1` through `20`. Use this when you mean \"mission 2\", \"mission 3\", etc. |\n| `--difficulty VALUE` | Select the direct-boot difficulty. Values: `agent`, `secret`, `00`, `007`, or numeric `0` through `3`. Defaults to Agent. |\n| `--savedir PATH` | Store `ge007.ini` and save data in `PATH`. Without this, the port uses the current directory when writable, then falls back to a per-user directory. |\n| `--list-settings` | Print registered persistent settings and exit. Does not require a ROM. |\n| `--dump-config` | Print the current config view after loading `ge007.ini` and exit. Does not require a ROM. |\n| `--config-override KEY=VALUE` | Override a persistent setting for this run without saving it. Repeatable. |\n| `--faithful` | Boot the pixel-/feel-faithful original (post-FX off, native res, stock textures, classic FOV, no modern crosshair/hitmarkers/minimap, vanilla pad aim) for this run only. Transient — does not modify `ge007.ini`. Explicit `--config-override` still wins. See [docs/VISUAL_MODES.md](docs/VISUAL_MODES.md). |\n| `--faithful-hd` | Like `--faithful` but at 2× supersampling and HD-pack-ready (set `Video.TexturePack`). Transient; mutually exclusive with `--faithful`/`--remaster`. |\n| `--remaster` | Boot the full opt-in remaster in one switch: ambient occlusion, bloom, filmic tonemap, colour grade, FXAA, sharpen, vignette, dither, 2× SSAA (native Metal backend on macOS). Transient; mutually exclusive with `--faithful`/`--faithful-hd`. See [docs/VISUAL_MODES.md](docs/VISUAL_MODES.md). |\n| `--config-set KEY=VALUE` | Set a persistent config value, save `ge007.ini`, and exit. Repeatable. Does not require a ROM. |\n| `--reset-config` | Reset registered persistent settings to defaults, save `ge007.ini`, and exit. Does not require a ROM. |\n| `--no-input-grab` | Do not capture the mouse. Useful while testing windowed startup. |\n| `--background` | Run without grabbing input and with background-friendly settings. Useful for smoke tests. |\n\nIf you pass no direct-boot option, the game starts normally. `--level` accepts\nstage slugs or raw internal `LEVELID` values; `--mission` accepts campaign order.\nFor example, use `--mission 2` or `--level facility` for mission 2, not\n`--level 2`. See [docs/BUILDING.md](docs/BUILDING.md#running) for more platform\nsetup detail.\n\n### Controls (default)\n\n| Action | Keyboard \u0026 mouse | Gamepad |\n| --- | --- | --- |\n| Move | `W` `A` `S` `D` | Left stick |\n| Look | Mouse | Right stick |\n| Fire | Left click | RT |\n| Aim (hold) | Right click | LT |\n| Cycle weapon | Mouse wheel | `Y` (next) / Back (prev) |\n| Reload | `R` | — |\n| Interact | `F` | — |\n| Crouch (toggle) | `C` / `LCtrl` | L3 |\n| Lean L/R (in aim mode) | `Q` / `E` | — |\n| Watch menu | `Tab` | — |\n| Pause | `Esc` | — |\n| Mute audio | `M` | — |\n| Show controls | `H` | — |\n\nMouse sensitivity, window size, display mode, and VSync are configurable in\n`ge007.ini`. By default the port writes config/save data in the current\ndirectory when it is writable; use `--savedir PATH` to keep a separate profile.\nThe display mode key is `Video.WindowMode` with `windowed`, `borderless`, or\n`exclusive`; for example: `--config-set Video.WindowMode=borderless`. VSync is\n`Video.VSync` with `off`, `on`, or `adaptive`; frame pacing is `Video.FrameCap`\nwith `30`, `60`, or `display`. Output gamma is `Video.Gamma`, where `1.0` leaves\ncolors unchanged.\n`Video.RenderScale` adjusts the internal scene framebuffer from `1.0` to `4.0`\nfor supersampling. `Video.MSAA` accepts `0`, `2`, `4`, or `8` samples for scene\nanti-aliasing.\n`Video.HiDPI` controls Retina/high-DPI drawable rendering. It defaults to `0`\nfor steadier performance on large windows; set it to `1` for opt-in native\ndisplay-pixel rendering.\n`Video.FovY` controls the normal gameplay vertical field of view from `45` to\n`105` degrees (default `50` for a modern widescreen feel; `--faithful` restores\nthe classic `60`); scoped weapons and watch animations still use their own zoom\nvalues.\n`Video.RetroFilter` is `auto`, `off`, or `on` for the VI-style soft output\nfilter. `Video.Display` selects the zero-based SDL display index and falls back\nto display 0 if the saved index is unavailable. `Video.WindowX` and\n`Video.WindowY` are relative to that display, with `-1` meaning centered.\nRun `ge007 --list-displays` to print detected SDL displays and fullscreen modes.\nFor `Video.WindowMode=exclusive`, set `Video.FullscreenWidth`,\n`Video.FullscreenHeight`, and optionally `Video.FullscreenRefresh`; leave them\nat `0` to use SDL's default display mode.\nPressing `H` also prints the full control list to the console.\n\n## Known limitations\n\nThis is an experimental, work-in-progress port — **not** a 1:1 replacement for\noriginal hardware. It runs the game's decompiled code natively; it is not an\nemulator and is not cycle-exact. Rendering and audio use some documented\ncompatibility approximations, and a few areas are still converging toward exact\nN64 behavior. **[PORT.md](PORT.md)** has the full, honest breakdown: what is and\nisn't faithful, the known divergences, and the validation coverage. Please read\nit before filing parity bugs.\n\n## Repository layout\n\n| Path | Contents |\n| --- | --- |\n| `src/game/` | Decompiled game code |\n| `src/platform/` | Native port layer (SDL2 windowing, OpenGL + opt-in Metal backends, audio, input, config, ROM I/O) + the app↔engine seams (`host_window`, `app_overlay_hooks`, `config_schema`, `input_bindings`) |\n| `src/app/` | The **in-process app shell** (C++17 + Dear ImGui): launcher, panels (ROM / Settings / Launch / Controls / Modes / Diagnostics), in-game overlay, and diagnostics. Compiled into `ge007` as the `mgb64_app` static library. See [`docs/APP_ARCHITECTURE.md`](docs/APP_ARCHITECTURE.md). |\n| `src/libultra/` | N64 SDK compatibility material (see [THIRD_PARTY.md](THIRD_PARTY.md)) |\n| `lib/` | Vendored third-party libs: `glad`, `stb`, `imgui`, `nfd`, `fonts` (all listed in [THIRD_PARTY.md](THIRD_PARTY.md)) |\n| `include/` | Shared headers |\n| `assets/` | Asset **build glue** only (extraction config, linker scripts, `.incbin` wrappers). Extracted ROM data lands here at build time and is git-ignored. |\n| `tools/` | Build/extraction tooling (extractor, texture conversion, checksum, `asm-processor`, …) |\n| `scripts/` | Extraction, build, and release/launch helper scripts |\n| `macos/` | macOS packaging: the portable-app bundler (`build_gl_app.sh` → `MGB64.app`), the optional legacy Swift app shell, and signing/notarization scripts — see [`macos/README.md`](macos/README.md) |\n| `ld/`, `*.ld` | Linker scripts |\n| `docs/` | Build, status, architecture, and design documentation |\n\n## Contributing\n\nContributions are welcome — see **[CONTRIBUTING.md](CONTRIBUTING.md)** for the\nworkflow, coding style, and the one rule that matters most: **never commit ROMs\nor any ROM-derived assets.** Project conduct is covered in\n**[CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)**, and vulnerability / repository\nhygiene reports are covered in **[SECURITY.md](SECURITY.md)**.\n\nMaintainers should enable the tracked safety hooks once per checkout:\n\n```sh\nscripts/install_git_hooks.sh\n```\n\nThe hooks run the ROM/data contamination guard before commits and pushes.\n\n## Acknowledgements\n\nThis project builds directly on the\n[**n64decomp/007**](https://github.com/n64decomp/007) decompilation, which we\nstarted from and continue to work off of. Our thanks to its authors and\ncontributors for the foundational reverse-engineering effort that this port\nextends.\n\nIt also stands on the shoulders of the wider N64 decompilation community. Thanks\nto the SM64, Ocarina of Time, and Perfect Dark decomp/port projects for the\ntooling, conventions, and trail-blazing that make work like this possible, and\nto the authors of [`asm-processor`](tools/asm-processor) and the other bundled\nor locally referenced tools.\n\n## License \u0026 legal\n\nFirst-party code in this repository (the port layer, build system, tooling, and\ndocumentation) is released under the **[MIT License](LICENSE)**. The MIT license\ndoes **not** grant any rights in the original game. See **[NOTICE.md](NOTICE.md)**\nfor the short license/provenance summary.\n\nThe decompiled game code is a transformative work provided for research,\npreservation, and educational purposes. **No copyrighted ROM or assets are\ndistributed.** All trademarks are the property of their respective owners, and\nthis project is not affiliated with or endorsed by any rights holder. Please\nread **[DISCLAIMER.md](DISCLAIMER.md)** in full before using this project.\n\nThird-party components (including N64 SDK compatibility headers/source, bundled\ntools/libraries, and local-only matching-target tool placeholders) and their\nprovenance are inventoried in\n**[THIRD_PARTY.md](THIRD_PARTY.md)**.\n\nMaintainer release hygiene checks are documented in\n**[docs/RELEASE_CHECKLIST.md](docs/RELEASE_CHECKLIST.md)**.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakratch%2Fmgb64","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakratch%2Fmgb64","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakratch%2Fmgb64/lists"}