README
🚀 XenonRecomp 编译器文档
XenonRecomp 是一款专门用于将 PowerPC(PPC)汇编代码转换为 C++ 的工具,在游戏模拟器开发领域发挥着重要作用。本文档将详细阐述 XenonRecomp 的使用方法和配置要点,涵盖其功能特性、输入输出格式、配置选项以及测试方式等内容。
🚀 快速开始
编译要求
项目要求 CMake 3.20 或更高版本和 Clang 18 或更高版本。由于仓库包含子模块,确保使用 git clone --recursive 进行克隆。
仅推荐使用 Clang 编译器进行开发,因为项目依赖于 Clang 的特定特性。在 Windows 上,可以使用 clang-cl 工具链,并通过 Visual Studio 的 CMake 集成进行开发。
测试转换
XenonRecomp 可以处理 Xenia 项目的 PPC 测试并生成相应的 C++ 文件。通过以下命令进行转换:
XenonRecomp [输入测试目录路径] [输入 PPC 上下文头文件路径] [输出目录路径]
生成的文件可以在 src/xenia/cpu/ppc/testing/bin 目录中找到。
✨ 主要特性
1. 中断处理
在 config.toml 配置文件中,用户可以定义需要跳过的代码段:
# 禁用中断处理的汇编代码转换为 C++
skip_assembler = ["Altivec"]
2. 调试钩子
通过 config.toml 配置文件,用户可以插入自定义调试钩子:
[[debug_hook]]
name = "调试钩子示例"
address = 0x12345678
registers = ["r0", "r1"]
3. 自定义转换规则
在 rules.toml 文件中,用户可以自定义汇编指令到 C++ 的转换规则:
# 示例:将 PPC 指令 'add' 转换为 C++ 表达式 'r0 = r1 + r2'
[add]
cpp = "r0 = r1 + r2;"
📦 安装指南
此文档未提及具体安装步骤,若有需要可根据编译要求进行环境搭建。
📚 详细文档
输入输出格式
输入格式
XenonRecomp 接受以下输入:
- PPC 汇编代码文件:包含需要转换的 PPC 汇编指令。
- 上下文头文件:定义了汇编代码中使用的寄存器和其他上下文信息。
输出格式
转换后的 C++ 文件,其中包含了将汇编指令转换为 C++ 代码后的结果。输出文件的位置由用户指定。
配置选项
XenonRecomp 提供以下配置选项:
- 输入目录:指定包含 PPC 汇编代码和上下文头文件的目录路径。
- 输出目录:指定生成转换后 C++ 文件的目标位置。
- 调试模式:启用调试信息,便于调试和排错。
📄 许可证
此文档未提及许可证信息。
🔗 特别感谢
本项目得以实现离不开 Xenia 模拟器的 PPC 代码转换器的参考。项目还使用了来自 Xenia Canary 的补丁来处理 XEX 二进制文件。
扫码联系在线客服