# MediEvil 反编译：早期阶段、以校验值把关的 PlayStation 项目

> 将美版 PlayStation《MediEvil》逐步反编译为 C 源码，目标是重新生成其主程序、游戏程序及 26 个覆盖模块。splat 拆分使用者自备的光盘文件，默认构建会将全部 28 个产物与 SHA-1 校验值比较。README 称项目仍在进行中，未公布进度数据。

- 类型：案例
- 目标：游戏
- 类别：独立重建案例
- 关联：独立重建项目
- 来源复核于：2026-10-18
- 收录于：2026-10-18
- 原始资源：<https://github.com/MediEvilDecompilation/medievil-decomp>
- 一手来源：<https://github.com/MediEvilDecompilation/medievil-decomp/blob/6afe6fe35d5ddf0ce1bebdb2e72f8215b5b5b407/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/medievil-decomp-case/>
- 记录 JSON：<https://awesomerea.org/resources/medievil-decomp-case/record.json>
- 英文版：[English](https://awesomerea.org/resources/medievil-decomp-case/index.md)

## 使用条件与局限

- **前提条件：**需将使用者自有美版 MediEvil 光盘中的文件放入 disk/；splat 配置要求 SCUS_942.27 具有固定的 SHA-1，make extract 从这些文件拆分出各可执行文件和覆盖模块。仓库不提供任何游戏文件。
- **前提条件：**构建需类 Linux 宿主环境：GNU make、mipsel-linux-gnu binutils、安装所列软件包（如 spimdisasm、rabbitizer）的 Python 3，以及 splat、m2c、maspsx 和 asm-differ 子模块。C 文件经由仓库内置的 PlayStation GCC 2.8.1 cc1 二进制文件和 maspsx 处理。README 让贡献者参阅 wiki 页面，了解环境配置、变基工作流和反编译流程。
- **范围：**README 将其描述为针对美版 PlayStation《MediEvil》初代、仍在进行中的反编译项目，MediEvil 2 留待以后。Makefile 的目标为 SCUS_942.27、MEDIEVIL.EXE 及 26 个覆盖模块二进制文件。在所审版本中，大部分函数仍通过 INCLUDE_ASM 以拆分出的汇编形式纳入，而非以 C 编写；README 的进度部分仅为占位，固定的提交日期为 2026-02-23。
- **测试证据：**make all 构建全部二进制文件，并依据 config/medievil.check.sha 运行 sha1sum；CI 使用访问受限仓库中的光盘文件执行拆分和该检查。检查通过说明汇编产物与这些校验值一致。
- **许可：**仓库声明采用 MIT；原游戏内容、内置的编译器二进制文件以及仓库中的 PSY-Q 头文件和数据仍适用各自条款。该项目独立于 MediEvil Recomp 静态重编译项目。

## 一手来源

1. <https://github.com/MediEvilDecompilation/medievil-decomp/blob/6afe6fe35d5ddf0ce1bebdb2e72f8215b5b5b407/README.md>
2. <https://github.com/MediEvilDecompilation/medievil-decomp/blob/6afe6fe35d5ddf0ce1bebdb2e72f8215b5b5b407/Makefile>
3. <https://github.com/MediEvilDecompilation/medievil-decomp/blob/6afe6fe35d5ddf0ce1bebdb2e72f8215b5b5b407/config/medievil.check.sha>
4. <https://github.com/MediEvilDecompilation/medievil-decomp/blob/6afe6fe35d5ddf0ce1bebdb2e72f8215b5b5b407/config/splat.main.yaml>
5. <https://github.com/MediEvilDecompilation/medievil-decomp/blob/6afe6fe35d5ddf0ce1bebdb2e72f8215b5b5b407/.gitmodules>
6. <https://github.com/MediEvilDecompilation/medievil-decomp/blob/6afe6fe35d5ddf0ce1bebdb2e72f8215b5b5b407/tools/requirements-python.txt>
7. <https://github.com/MediEvilDecompilation/medievil-decomp/blob/6afe6fe35d5ddf0ce1bebdb2e72f8215b5b5b407/.github/workflows/ci.yaml>
8. <https://github.com/MediEvilDecompilation/medievil-decomp/blob/6afe6fe35d5ddf0ce1bebdb2e72f8215b5b5b407/src/game/800.c>
9. <https://github.com/MediEvilDecompilation/medievil-decomp/blob/6afe6fe35d5ddf0ce1bebdb2e72f8215b5b5b407/LICENSE>

## 同分区更多条目：游戏

- [《密特罗德 Prime》：PrimeDecomp 的 GameCube 版一致性反编译](https://awesomerea.org/zh/resources/primedecomp-metroid-prime-decomp-case/index.md) · 案例
- [MinecraftLCE：处于早期阶段的 Minecraft: Nintendo Switch Edition 反编译](https://awesomerea.org/zh/resources/minecraft-lce-switch-decomp-case/index.md) · 案例
- [《时之笛》：16 个版本均以 MD5 校验 ROM 构建的反编译](https://awesomerea.org/zh/resources/ocarina-of-time-decomp-case/index.md) · 案例
- [Paper Mario：覆盖四个版本的一致性 Nintendo 64 反编译](https://awesomerea.org/zh/resources/paper-mario-matching-decomp-case/index.md) · 案例
- [《纸片马力欧 RPG》：早期阶段的 GameCube 一致性反编译](https://awesomerea.org/zh/resources/paper-mario-ttyd-decomp-case/index.md) · 案例
- [Perfect Dark：生成一致 ROM 的 Nintendo 64 反编译重建](https://awesomerea.org/zh/resources/perfect-dark-matching-decomp-case/index.md) · 案例

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
