{
  "added_at": "2026-10-19",
  "additional_evidence_urls": [
    "https://github.com/N64Recomp/N64ModernRuntime/blob/cdf5abbd5026fef5c364c676e4667c45e42b6863/CMakeLists.txt",
    "https://github.com/N64Recomp/N64ModernRuntime/blob/cdf5abbd5026fef5c364c676e4667c45e42b6863/.gitmodules",
    "https://github.com/N64Recomp/N64ModernRuntime/blob/cdf5abbd5026fef5c364c676e4667c45e42b6863/COPYING",
    "https://github.com/N64Recomp/N64ModernRuntime/blob/cdf5abbd5026fef5c364c676e4667c45e42b6863/CONTRIBUTING.md",
    "https://github.com/N64Recomp/N64ModernRuntime/blob/cdf5abbd5026fef5c364c676e4667c45e42b6863/librecomp/src/recomp.cpp#L360-L410",
    "https://github.com/N64Recomp/N64ModernRuntime/blob/cdf5abbd5026fef5c364c676e4667c45e42b6863/librecomp/src/mods.cpp"
  ],
  "category": "game-analysis",
  "description_en": "Runtime for N64Recomp static recompilations and traditional source ports of N64 games, made of two libraries. ultramodern reimplements core libultra services (threads, message queues, timers, controllers, audio, RSP task handling and VI timing) and leaves controller input, audio playback and the graphics renderer, with RT64 recommended, to callbacks the host project registers. librecomp bridges N64Recomp-generated code to ultramodern and adds overlay handling, PI DMA ROM reads, and EEPROM, SRAM and Flash RAM saves.",
  "description_zh": "供 N64Recomp 静态重编译项目和传统源码移植使用的 N64 游戏运行时，由两个库组成。ultramodern 重新实现 libultra 的核心服务（线程、消息队列、计时器、控制器、音频、RSP 任务处理和 VI 时序），并将手柄输入、音频播放和图形渲染器（推荐 RT64）交给宿主项目注册的回调处理。librecomp 负责将 N64Recomp 生成的代码与 ultramodern 衔接，并补充覆盖段处理、PI DMA 读取 ROM，以及 EEPROM、SRAM 和 Flash RAM 存档。",
  "entry_url": "https://awesomerea.org/resources/n64modernruntime/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/n64modernruntime/",
  "evidence_url": "https://github.com/N64Recomp/N64ModernRuntime/blob/cdf5abbd5026fef5c364c676e4667c45e42b6863/README.md",
  "group": "tools",
  "id": "n64modernruntime",
  "json_url": "https://awesomerea.org/resources/n64modernruntime/record.json",
  "kind": "tool",
  "markdown_url": "https://awesomerea.org/resources/n64modernruntime/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/n64modernruntime/index.md",
  "name": "N64ModernRuntime",
  "name_zh": "N64ModernRuntime N64 重编译运行时",
  "record_type": "resource",
  "relationship": "foundation",
  "requirements": [
    "No releases or tags at review; the README recommends including the libraries in a project's own CMake build with add_subdirectory. The reviewed main commit (2026-08-30) needs CMake 3.20+ and C++20; the README says it was developed with Clang 15, older Clang versions may not work, and recent MSVC and GCC should work but are not regularly tested. N64Recomp, miniz, xxHash and o1heap are pinned submodules.",
    "The runtime contains no game code: the host project supplies the recompiled code, the renderer and the platform callbacks, and the user supplies the game ROM. The reviewed librecomp source checks a user-selected ROM against a per-game hash and also loads .nrm mod packages; the README does not describe either feature.",
    "The README covers library scope only and has no compatibility list.",
    "GPL-3.0 (COPYING); submodules keep their own licenses. CONTRIBUTING.md states that AI-generated code contributions are not accepted."
  ],
  "requirements_zh": [
    "审阅时没有发布版或标签；README 建议在项目自己的 CMake 构建中通过 add_subdirectory 引入这些库。所审阅的 main 提交（2026-08-30）需要 CMake 3.20+ 和 C++20；README 称其使用 Clang 15 开发，更早的 Clang 版本可能无法使用，较新的 MSVC 和 GCC 应可使用但未经常规测试。N64Recomp、miniz、xxHash 和 o1heap 以固定版本的子模块引入。",
    "运行时本身不含游戏代码：宿主项目提供重编译代码、渲染器和平台回调，游戏 ROM 由使用者自行提供。所审阅的 librecomp 源码会按各游戏的哈希校验使用者选择的 ROM，还能加载 .nrm 模组包；README 未说明这两项功能。",
    "README 只说明库的功能范围，没有兼容性列表。",
    "采用 GPL-3.0 许可（COPYING）；子模块保留各自的许可。CONTRIBUTING.md 声明不接受由 AI 生成的代码贡献。"
  ],
  "targets": [
    "game"
  ],
  "url": "https://github.com/N64Recomp/N64ModernRuntime",
  "verification": "source-reviewed",
  "verified_at": "2026-10-19"
}
