[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-6308":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":26,"readmeContent":27,"aiSummary":28,"trendingCount":16,"starSnapshotCount":16,"syncStatus":29,"lastSyncTime":30,"discoverSource":31},6308,"sm64","n64decomp\u002Fsm64","n64decomp","A Super Mario 64 decompilation, brought to you by a bunch of clever folks.","https:\u002F\u002Fdiscord.gg\u002FDuYH3Fh",null,"C",8625,1578,239,29,0,8,55,3,75.1,"Creative Commons Zero v1.0 Universal",false,"master",true,[],"2026-06-12 04:00:28","# Super Mario 64\n\n- This repo contains a full decompilation of Super Mario 64 of the following releases: Japan (jp), North America (us), Europe (eu), Shindou (sh) and iQue Player (cn).\n- Naming and documentation of the source code and data structures are in progress.\n\nIt builds the following ROMs:\n\n* sm64.jp.z64 `sha1: 8a20a5c83d6ceb0f0506cfc9fa20d8f438cafe51`\n* sm64.us.z64 `sha1: 9bef1128717f958171a4afac3ed78ee2bb4e86ce`\n* sm64.eu.z64 `sha1: 4ac5721683d0e0b6bbb561b58a71740845dceea9`\n* sm64.sh.z64 `sha1: 3f319ae697533a255a1003d09202379d78d5a2e0`\n* sm64.cn.z64 `sha1: 2e1db2780985a1f068077dc0444b685f39cd90ec`\n\nThis repo does not include all assets necessary for compiling the ROMs.\nA prior copy of the game is required to extract the assets.\n\n## Quick Start (for Ubuntu)\n\n1. Install prerequisites: `sudo apt install -y binutils-mips-linux-gnu build-essential git pkgconf python3`\n2. Clone the repo from within Linux: `git clone https:\u002F\u002Fgithub.com\u002Fn64decomp\u002Fsm64.git`\n3. Place a Super Mario 64 ROM called `baserom.\u003CVERSION>.z64` into the project folder for asset extraction, where `VERSION` can be `jp`, `us`, `eu`, `sh`, or `cn`.\n4. Run `make` to build. Specify the version through `make VERSION=\u003CVERSION>`. Add `-j4` to improve build speed (hardware dependent).\n\nEnsure the repo path length does not exceed 255 characters. Long path names result in build errors.\n\n## Installation\n\n### Windows\n\nInstall WSL and a distro of your choice following\n[Windows Subsystem for Linux Installation Guide for Windows 10.](https:\u002F\u002Fdocs.microsoft.com\u002Fen-us\u002Fwindows\u002Fwsl\u002Finstall-win10)\nWe recommend either Debian or Ubuntu 18.04 Linux distributions under WSL.\nNote: WSL1 does not currently support Ubuntu 20.04.\n\nNext, clone the SM64 repo from within the Linux shell:\n`git clone https:\u002F\u002Fgithub.com\u002Fn64decomp\u002Fsm64.git`\n\nThen continue following the directions in the [Linux](#linux) installation section below.\n\n### Linux\n\nThere are 3 steps to set up a working build.\n\n#### Step 1: Install dependencies\n\nThe build system has the following package requirements:\n * binutils-mips\n * pkgconf\n * python3 >= 3.6\n\nDependency installation instructions for common Linux distros are provided below:\n\n##### Debian \u002F Ubuntu\nTo install build dependencies:\n```\nsudo apt install -y binutils-mips-linux-gnu build-essential git pkgconf python3\n```\n\n##### Arch Linux\nTo install build dependencies:\n```\nsudo pacman -S base-devel python\n```\nInstall the following AUR packages:\n* [mips64-elf-binutils](https:\u002F\u002Faur.archlinux.org\u002Fpackages\u002Fmips64-elf-binutils) (AUR)\n\n##### Other Linux distributions\n\nMost modern Linux distributions should have equivalent packages to the other two listed above.\nYou may have to use a different version of GNU binutils. Listed below are fully compatible binutils\ndistributions with support in the makefile, and examples of distros that offer them:\n\n* `mips64-elf-` (Arch AUR)\n* `mips-linux-gnu-` (Ubuntu and other Debian-based distros)\n* `mips64-linux-gnu-` (RHEL\u002FCentOS\u002FFedora)\n\nYou may also use [Docker](#docker-installation) to handle installing an image with minimal dependencies.\n\n#### Step 2: Copy baserom(s) for asset extraction\n\nFor each version (jp\u002Fus\u002Feu\u002Fsh\u002Fcn) for which you want to build a ROM, put an existing ROM at\n`.\u002Fbaserom.\u003CVERSION>.z64` for asset extraction.\n\n##### Step 3: Build the ROM\n\nRun `make` to build the ROM (defaults to `VERSION=us`).\nOther examples:\n```\nmake VERSION=jp -j4       # build (J) version instead with 4 jobs\nmake VERSION=eu COMPARE=0 # build (EU) version but do not compare ROM hashes\n```\n\nResulting artifacts can be found in the `build` directory.\n\nThe full list of configurable variables are listed below, with the default being the first listed:\n\n* ``VERSION``: ``jp``, ``us``, ``eu``, ``sh``, ``cn``\n* ``GRUCODE``: ``f3d_old``, ``f3d_new``, ``f3dex``, ``f3dex2``, ``f3dzex``\n* ``COMPARE``: ``1`` (compare ROM hash), ``0`` (do not compare ROM hash)\n* ``NON_MATCHING``: Use functionally equivalent C implementations for non-matchings. Also will avoid instances of undefined behavior.\n* ``CROSS``: Cross-compiler tool prefix (Example: ``mips64-elf-``).\n\n### macOS\n\nWith macOS, you may either use Homebrew or [Docker](#docker-installation).\n\n#### Homebrew\n\n#### Step 1: Install dependencies\nInstall [Homebrew](https:\u002F\u002Fbrew.sh) and the following dependencies:\n```\nbrew update\nbrew install coreutils make pkg-config tehzz\u002Fn64-dev\u002Fmips64-elf-binutils\n```\n\n#### Step 2: Copy baserom(s) for asset extraction\n\nFor each version (jp\u002Fus\u002Feu\u002Fsh\u002Fcn) for which you want to build a ROM, put an existing ROM at\n`.\u002Fbaserom.\u003CVERSION>.z64` for asset extraction.\n\n##### Step 3: Build the ROM\n\nUse Homebrew's GNU make because the version included with macOS is too old.\n\n```\ngmake VERSION=jp -j4       # build (J) version instead with 4 jobs\n```\n\n### Docker Installation\n\n#### Create Docker image\n\nAfter installing and starting Docker, create the docker image. This only needs to be done once.\n```\ndocker build -t sm64 .\n```\n\n#### Build\n\nTo build, mount the local filesystem into the Docker container and build the ROM with `docker run sm64 make`.\n\n##### macOS example for (U):\n```\ndocker run --rm --mount type=bind,source=\"$(pwd)\",destination=\u002Fsm64 sm64 make VERSION=us -j4\n```\n\n##### Linux example for (U):\nFor a Linux host, Docker needs to be instructed which user should own the output files:\n```\ndocker run --rm --mount type=bind,source=\"$(pwd)\",destination=\u002Fsm64 --user $UID:$GID sm64 make VERSION=us -j4\n```\n\nResulting artifacts can be found in the `build` directory.\n\n## Project Structure\n\n\tsm64\n\t├── actors: object behaviors, geo layout, and display lists\n\t├── asm: handwritten assembly code, rom header\n\t│   └── non_matchings: asm for non-matching sections\n\t├── assets: animation and demo data\n\t│   ├── anims: animation data\n\t│   └── demos: demo data\n\t├── bin: C files for ordering display lists and textures\n\t├── build: output directory\n\t├── data: behavior scripts, misc. data\n\t├── doxygen: documentation infrastructure\n\t├── enhancements: example source modifications\n\t├── include: header files\n\t├── levels: level scripts, geo layout, and display lists\n\t├── lib: SDK library code\n\t├── rsp: audio and Fast3D RSP assembly code\n\t├── sound: sequences, sound samples, and sound banks\n\t├── src: C source code for game\n\t│   ├── audio: audio code\n\t│   ├── buffers: stacks, heaps, and task buffers\n\t│   ├── engine: script processing engines and utils\n\t│   ├── game: behaviors and rest of game source\n\t│   ├── goddard: Mario intro screen\n\t│   └── menu: title screen and file, act, and debug level selection menus\n\t├── text: dialog, level names, act names\n\t├── textures: skybox and generic texture data\n\t└── tools: build tools\n\n## Contributing\n\nPull requests are welcome. For major changes, please open an issue first to\ndiscuss what you would like to change.\n\nRun `clang-format` on your code to ensure it meets the project's coding standards.\n\nOfficial Discord: [discord.gg\u002FDuYH3Fh](https:\u002F\u002Fdiscord.gg\u002FDuYH3Fh)\n","该项目是一个由一群聪明的开发者共同完成的《超级马里奥64》反编译项目。它提供了日本、北美、欧洲、Shindou版以及iQue Player版本游戏的完整源代码反编译，并且正在逐步完善命名和文档工作。基于C语言编写，用户需要自行提供游戏ROM来提取所需资源进行编译。适合于对复古游戏开发或研究感兴趣的技术爱好者使用，特别是那些希望深入了解N64平台下经典游戏内部机制的人士。此外，该项目还支持跨平台构建，包括Windows（通过WSL）和Linux系统。",2,"2026-06-11 03:06:22","top_language"]