WiiCompiled + Retro Rewind:如何将马里奥赛车Wii模组静态编译成原生PC可执行文件
【免费下载链接】WiicompiledWiicompiled项目地址https://gitcode.com/gh_mirrors/wi/Wiicompiled点击查看免费下载WiiCompiled 是一个静态重编译static recompilation项目它把《马里奥赛车 Wii》(Mario Kart Wii) 的 PowerPC 代码在运行前整体翻译成 C 并编译为原生 PC 可执行文件——运行时无模拟器、无解释器、无 JIT、无任何 PowerPC。更厉害的是它还能把 Retro Rewind 这个经典 MKW 模组Code.pul作为独立的静态档案profile一起翻译直接产出第二个原生可执行文件 ⚠️ 重要前提仓库和发布包里不含任何任天堂代码、素材或游戏数据你必须拥有自己合法转储的PAL 版RMCP01光盘镜像。整个翻译过程在你本机完成数据不会被上传。一、什么是静态重编译和普通模拟器的区别对比项传统模拟器如 DolphinWiiCompiled 静态重编译PowerPC 指令运行时解释或 JIT 翻译安装时一次性翻译为原生 C运行时开销有模拟层始终存在无纯原生代码物理精度依赖模拟层实现100% 与真机一致幽灵记录可互相验证帧率受模拟循环影响可解锁120/144 Hz 显示器可插帧翻译流程可以概括为一条流水线详见 translator/README.md解析 DOL解析 GameCube/Wii 的main.dol解码 PowerPC 指令IR/SSA 提升 类型推断把汇编提升为中间表示并推断寄存器/变量类型输出 C每个可达函数都生成对应的 C 源码外加 JSON 元数据Clang 编译把生成代码连同 runtime/ 运行时一起编译成单个可执行文件。整个项目通过版本化的 YAML 清单描述游戏布局翻译器本身不含任何游戏专属数据——MKW 的配置就是 projects/mkwii/recomp.yml 这份清单包含入口点0x800060A4、main.dol与StaticR.rel的 SHA-256 校验钉、以及符号表 MAP.txt。二、装好就能玩的 6 大特性 解锁帧率 插帧原版锁死 60 fps运行时可在帧间生成插值帧高刷屏下更顺滑实验性特性任意宽高比拖大窗口摄像机实时自适应原生渲染图形层基于 auroraGameCube/Wii 源码级兼容层底层是 WebGPU/Dawn支持 D3D12、Vulkan、Metal高内部分辨率数倍于主机的分辨率畅玩音乐闪避你在别处放歌、看视频时游戏音乐自动让路可关游戏内设置栏窗口聚焦时按F10可调内部分辨率、FPS 计数器、四端口手柄映射、震动开关、音量等全部即时写入Config.toml并在下次启动恢复。三、系统要求与准备清单项目要求系统Windows 10/11 x64或 macOS 14 Apple Silicon或 Linux x64/ARM64GPUGTX 1650 / RX 6400 / Arc A310 及以上CPUi5-8400 / Ryzen 5 26004c/6c3.5GHz及以上磁盘安装期约 20 GB最终成品约 5 GB游戏自己转储的干净 PALRMCP01镜像支持 ISO / GCM / GCZ / CISO / WBFS / WIA / RVZ注意其他区服、打过补丁的可执行文件都会被直接拒绝——对错误的清单做翻译只会得到难调试的坏档。四、最快上手方式Wheel Wizard 一键安装不想碰命令行用模组管理器Wheel Wizard它只是对本项目后端命令行的图形封装在 Wheel Wizard 设置中选择你的 PALRMCP01镜像打开WiiCompiled (beta)开关回到首页点安装即可安装、更新、启动都托管给它。️ 安全提醒只从本项目官方 Releases 页面获取构建。通过 Discord 或随机下载站流传的安装包不要碰五、Retro Rewind模组也能静态编译Retro Rewind 是 ZPL 维护的经典 MKW 模组合集。在传统方案里它以Code.pulKamek/Pulsar 补丁的形式运行时打补丁而在 WiiCompiled 里它可以被做成自己的静态档案Kamek/Pulsar 的模组代码与基础游戏一起被静态翻译链接成一个独立的原生可执行文件RetroRewind而不是安装一堆运行时补丁档案配置位于 projects/mkwii/recomp.yml 的profiles.retro-rewind段钉死Code.pul路径、模组基址0x81800000、链接基址并启用 Retro-WFC 联机 payload运行时由 retro_rewind_product.cpp 声明为独立产品Retro Rewind联机所需的 Retro-WFC payload 会先下载并做 RSA 签名验证逻辑见 RetroWfcPayload.cs校验不过就不许用。也就是说一个游戏 一个模组 两个独立原生 exe模组补丁不再运行时生效而是和主程序一样被编译进二进制。六、从源码编译四步完成静态重编译 需要自备工具链(.NET 8 SDK)、CMake ≥ 3.16 Ninja、Clang/LLVM官方构建使用 LLVM-MinGW目标x86-64-v3macOS 用 Apple Clang。先克隆仓库git clone https://gitcode.com/gh_mirrors/wi/Wiicompiled第 1 步构建翻译器 CLIdotnet build translator/Translator.sln -c Release翻译器自带的默认测试套件不需要任何游戏数据可以先跑一遍确认环境没问题dotnet test translator/Translator.sln -c Release第 2 步递归翻译整个 DOL核心命令输出 C 与元数据translator translate-recursive 0x800060A4 --project projects/mkwii/recomp.yml --outdir generated/functions第 3 步生成数据初始化与构建分片translator generate-data-init --project projects/mkwii/recomp.yml translator emit-build-shards --project projects/mkwii/recomp.yml若要一并编译 Retro Rewind先执行translate-mod --profile retro-rewind把Code.pul静态翻译出来再在emit-build-shards中带上--resolved-profile参数完整参数对照 docs/building-macos.md 第五节。第 4 步CMake Ninja Clang 编译成可执行文件cmake -S runtime -B build -G Ninja -DCMAKE_BUILD_TYPERelease cmake --build build --target WiiCompiled RetroRewind构建目标与平台约束在 runtime/CMakeLists.txt 中定义仅支持 64 位 Clang 工具链与 Release 构建。macOS (Apple Silicon) 用户有福了仓库提供了完整的分步指南 docs/building-macos.md涵盖 nodtool 解包光盘、校验main.dol/StaticR.rel的 SHA-256、翻译、CMake 编译直到写 Config.toml 并直接运行./build-macos/WiiCompiled的完整闭环还有Launcher/local-build-macos.command一键脚本。七、能用来移植其他游戏吗可以一半翻译器对 DOL/REL 是通用的projects/examples/generic-dol.yml 就是一份最小通用清单指向任意合法 DOL 即可翻译。但一个能玩的移植还需要运行时——音频、输入、GX 图形、NAND 存储……MKW 的这套 runtime/ 才是大头。八、常见问题 FAQ为什么安装要那么久因为项目不提供预编译好的翻译二进制。安装时必须在你的机器上对整盘游戏跑一遍静态重编译器 C 编译这是一次性成本。物理引擎有多准100%。幽灵ghost是基于输入序列的重放文件而非位置追踪跨 Wii 真机 / Dolphin / WiiCompiled 的幽灵完全对得上即物理逐帧一致。崩了怎么办错误被刻意设计得响亮而不静默吞掉。提交报告时请附上运行日志Windows 位于%LOCALAPPDATA%\WiiCompiled\Logs。原版游戏 bug 会修吗基础游戏不会——行为与真机一致是目标。Retro Rewind 本身就会修改部分基础游戏行为属正常现象。许可证GNU GPLv3使用它的任何 mkwii 发行版也必须 GPLv3。第三方组件清单见 THIRD-PARTY-NOTICES.md。延伸阅读静态重编译器完整文档translator/README.mdmacOS 从零编译指南含 Retro Rewind 与 Retro-WFCdocs/building-macos.md图形兼容层 auroraaurora-main/README.mdMKW 项目清单与 Retro Rewind 档案projects/mkwii/recomp.yml从运行时模拟到安装时编译WiiCompiled 证明了把一款完整 3D 赛车游戏连同它的热门模组整体静态编译成原生可执行文件不只是极客的实验而是已经可以上路的玩法。赞分享【免费下载链接】WiicompiledWiicompiled项目地址https://gitcode.com/gh_mirrors/wi/Wiicompiled点击查看免费下载相关推荐StaticScript终极指南如何将TypeScript编译为原生可执行文件StaticScript终极指南如何将TypeScript编译为原生可执行文件 StaticScript是一个革命性的开源项目它以TypeScript作为前CoreRT革命性AOT编译如何将.NET Core应用编译成原生单文件可执行程序CoreRT革命性AOT编译如何将.NET Core应用编译成原生单文件可执行程序 CoreRT是.NET Core的AOT提前编译优化运行时能够将托管Prusa-Firmware-Buddy社区精选用户分享的15个实用功能与隐藏技巧Prusa Firmware Buddy社区精选用户分享的15个实用功能与隐藏技巧 Prusa Firmware Buddy是一款为Original Prus嵌入式物联网创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考