一套创建zx频谱游戏分解的工具
skoolkit的Python项目详细描述
skoolkit是一个实用程序的集合,可以用来反汇编 Spectrum游戏(或任何用机器编写的频谱软件) 代码)转换为称为skool文件的格式。然后,从这个skool文件中,您 可以使用skoolkit以html格式创建可浏览的反汇编,或者 以asm格式重新汇编反汇编。因此skool文件从一开始就是 在开发过程中通过组织和注释代码来完成 “source”用于反汇编的可读HTML版本,以及 开发人员和汇编人员友好的反汇编asm版本。
功能
Skoolkit可以:
- 将tap或tzx文件转换为“原始”快照(使用tap2sna.py)
- 反汇编SNA、Z80和SZX快照以及原始内存文件
- 通过使用 模拟器
- 从游戏中的图形数据构建静止和动画的png/gif图像 快照(使用#UDG、#UDGARRAY、#FONT和#SCR宏)
- 在相互引用的例程和数据块之间创建超链接 (通过在注释中使用#R宏,并在 CALL和JP指令的操作数)
- 在单独的页面上整齐地呈现错误、琐事和戳的列表(使用 [Bug]、[Fact]和[Poke]节位于ref文件中)
- 生成包含在skool文件中声明的错误修复的asm文件(使用 @ofix、@bfix和其他asm指令)
- 从汇编代码生成tap文件(使用bin2tap.py)
要演示SkoolKit的功能,请查看完整的 分解Skool Daze,Back to Skool,Contact Sam Cruise, Manic Miner、Jet Set Willy和Hungry Horace。
快速入门指南
skoolkit包含相当详细的documentation,但是如果您想起来 快跑,来吧。
将频谱游戏的sna、z80或szx快照转换为skool文件 (以便可以将其转换为html或asm反汇编):
$ sna2skool.py game.z80 > game.skool
要将反汇编拆分为代码和数据块,需要 control file。
要将此skool文件转换为html反汇编文件:
$ skool2html.py game.skool
要将其转换为可馈送到汇编程序的asm文件,请执行以下操作:
$ skool2asm.py game.skool > game.asm