{"id":21242058,"url":"https://github.com/inspectredc/fzerox","last_synced_at":"2025-07-10T20:31:19.710Z","repository":{"id":244673853,"uuid":"815573584","full_name":"inspectredc/fzerox","owner":"inspectredc","description":"F-Zero X Decompilation","archived":false,"fork":false,"pushed_at":"2025-06-10T19:17:34.000Z","size":3202,"stargazers_count":23,"open_issues_count":1,"forks_count":5,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-06-10T19:37:14.741Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/inspectredc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-06-15T14:07:09.000Z","updated_at":"2025-06-10T18:22:42.000Z","dependencies_parsed_at":"2024-06-29T16:28:18.496Z","dependency_job_id":"cfd9a3aa-1241-4fb6-a21a-69a24557db43","html_url":"https://github.com/inspectredc/fzerox","commit_stats":null,"previous_names":["inspectredc/fzerox"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/inspectredc/fzerox","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inspectredc%2Ffzerox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inspectredc%2Ffzerox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inspectredc%2Ffzerox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inspectredc%2Ffzerox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/inspectredc","download_url":"https://codeload.github.com/inspectredc/fzerox/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inspectredc%2Ffzerox/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264652669,"owners_count":23644306,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-11-21T00:58:07.256Z","updated_at":"2025-07-10T20:31:19.704Z","avatar_url":"https://github.com/inspectredc.png","language":"C","readme":"[![Discord Channel][discord-badge]][discord]\n\n[![US Bytes Progress]](https://decomp.dev/inspectredc/fzerox/us) [![US Functions Progress]](https://decomp.dev/inspectredc/fzerox/us)\n[![Jp Bytes Progress]](https://decomp.dev/inspectredc/fzerox/jp) [![Jp Functions Progress]](https://decomp.dev/inspectredc/fzerox/jp)\n\n[US Bytes Progress]: https://decomp.dev/inspectredc/fzerox/us.svg?mode=shield\u0026label=US%20Bytes%20Progress\u0026measure=matched_code_percent\n[US Functions Progress]: https://decomp.dev/inspectredc/fzerox/us.svg?mode=shield\u0026label=US%20Functions%20Progress\u0026measure=matched_functions\n\n[JP Bytes Progress]: https://decomp.dev/inspectredc/fzerox/jp.svg?mode=shield\u0026label=JP%20Bytes%20Progress\u0026measure=matched_code_percent\n[JP Functions Progress]: https://decomp.dev/inspectredc/fzerox/jp.svg?mode=shield\u0026label=JP%20Functions%20Progress\u0026measure=matched_functions\n\n# F-Zero X\n\nThis is a WIP Matching Decompilation for F-Zero X.\n\nIt currently builds the following ROMs:\n\n* fzerox.us.rev0.z64 `MD5: 753437d0d8ada1d12f3f9cf0f0a5171f`\n* fzerox.jp.rev0.z64 `MD5: 58d200d43620007314304f4e6c9e6528`\n\n**This repo does not include any assets or assembly code necessary for compiling the ROM. A prior copy of the game is required to extract the required assets.**\n\n## Installation\n\n#### 1. Install build dependencies\n\n### Windows\n\nFor Windows 10, install WSL and a distribution by following this\n[Windows Subsystem for Linux Installation Guide](https://docs.microsoft.com/en-us/windows/wsl/install-win10).\nWe recommend using Debian or Ubuntu 22.04 Linux distributions.\n\n### Linux (Native or under WSL / VM)\n\nThe build process has the following package requirements:\n\n* make\n* git\n* build-essential\n* binutils-mips-linux-gnu\n* python3\n* pip3\n* libpng-dev\n\nUnder Debian / Ubuntu (which we recommend using), you can install them with the following commands:\n\n```bash\nsudo apt update\nsudo apt install make cmake git build-essential binutils-mips-linux-gnu python3 python3-pip clang-format-14 clang-tidy\n```\n\n### MacOS\n\nInstall [Homebrew](https://brew.sh) and the following dependencies:\n```\nbrew update\nbrew install coreutils make pkg-config tehzz/n64-dev/mips64-elf-binutils\n```\n\n#### 2. Clone the repository\n\nCreate your own fork of the repository at `https://github.com/inspectredc/fzerox`. Then clone your fork where you wish to have the project, with the command:\n\n```bash\ngit clone https://github.com/\u003cYOUR_USERNAME\u003e/fzerox.git\n```\n\nThis will copy the GitHub repository contents into a new folder in the current directory called `fzerox`. Change into this directory before doing anything else:\n\n```bash\ncd fzerox\n```\n\n#### 3. Install python dependencies\n\nThe build process has a few python packages required that are located in `/tools/requirements-python.txt`.\n\nTo install them simply run in a terminal:\n\n```bash\npython3 -m pip install -r ./tools/requirements-python.txt\n```\n* Depending on your python version, you might need to add  --break-system-packages, or use venv.\n\n#### 4. Update submodules \u0026 build toolchain\n\n```bash\ngit submodule update --init --recursive\nmake toolchain\n```\n\n#### 5. Prepare a base ROM\n\nCopy your ROM to the root of this new project directory, and rename the file of the baserom to reflect the version of ROM you are using. ex: `baserom.us.rev0.z64`\n* Make sure the ROM is the US or JP version, revision 1.0\n\n#### 6. Make and Build the ROM\n\nTo start the extraction/build process, run the following command:\n\n```bash\nmake init\n```\nThis will create the build folders, a new folder with the assembly as well as containing the disassembly of nearly all the files containing code.\n\nthis make target will also build the ROM. If all goes well, a new ROM called \"fzerox.us.rev0.z64\" should be built and the following text should be printed:\n\n```bash\nCalculating Rom Header Checksum... build/fzerox.us.rev0.z64\nfzerox.us.rev0.z64: OK\n```\n\nIf you instead see the following:\n\n```bash\nCalculating Rom Header Checksum... build/fzerox.us.rev0.z64\nfzerox.us.rev0.z64 FAILED\n```\n\nThis means that something is wrong with the ROM's contents. Either the base files are incorrect due to a bad ROM, or some of the code is not matching.\n\nFrom now on you should be able to build the rom by running `make`.\n\nFor building the japanese version, make commands must all contain this additional define `VERSION=jp`.\n\n[discord]: https://discord.gg/f2gmBaHySA\n[discord-badge]: https://img.shields.io/discord/1252984267471061053?logo=discord\u0026logoColor=ffffff\n","funding_links":[],"categories":["Nintendo Wii","Reverse Engineering","Game \u0026 Studio Tools"],"sub_categories":["Projects","Nintendo EAD"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finspectredc%2Ffzerox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finspectredc%2Ffzerox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finspectredc%2Ffzerox/lists"}