Z88DK 是针对 8080 和 z80 系列机器的软件开发工具集合。它允许使用 C、汇编语言或两者的任意混合语言开发程序。 z88dk 的独特之处在于它的易用性、对许多 z80 机器的内置支持以及其广泛的汇编语言库子例程集,这些子例程实现了 C 标准和扩展。
安装 z88dk 有多种方法。
git clone --recursive https://github.com/z88dk/z88dk.git
。要将子模块添加到现有克隆,请使用git submodule update --init --recursive
。要构建,应遵循以下说明。 z88dk 的前端称为zcc
,如果你想做任何编译,你应该调用它。它可以处理C文件(.c)、预处理C文件(.i)、编译C文件(.asm)、优化编译文件(.opt)或汇编文件(.o),它们的任意组合可以混合在一起将对它们进行相关处理。还支持文件列表的处理,依次完成每个文件的处理(即预处理、编译、优化、汇编),并且如果需要,最后所有处理的文件可以链接到格式正确的单个可执行文件。
新用户(或已建立的平台)通常不需要单独使用其他工具。
许多工具都有z88dk-
前缀,以将它们与可能以相同名称安装的其他软件包中的工具区分开来。文档在引用它们时通常会省略前缀。
zcc
是工具链的前端。 zcc 可以从任何一组输入源文件生成输出二进制文件。z88dk-sccz80
是 z88dk 的原生 c 编译器。 sccz80 源自小型 c,但经过了很大的发展,几乎与 c90 兼容。z88dk-zsdcc
是z88dk对sdcc编译器的定制。我们的补丁使 sdcc 与 z88dk 工具链兼容,使其能够访问 z88dk 广泛的汇编语言库和现成的 crt,解决存在的代码生成错误并改进 sdcc 的生成代码。z88dk-z80asm
(不要与几个称为 z80asm 的外部项目混淆)是一个功能齐全的汇编器/链接器/库管理器实现部分。z88dk-z80nm
是 z80asm 的配套存档器。它可以提供对象或库文件中编码的函数或数据的列表。z88dk-appmake
将工具包生成的原始二进制文件处理为适合特定目标机器的形式。例如,它可以生成intel hex文件、磁带、ROM等。z88dk-ticks
是一个命令行模拟器,可用于计算代码片段的执行速度。 Ticks 包括调试器和反汇编器。z88dk-gdb
提供来自ticks 的调试器接口并连接到gdbserver,以允许在仿真器或真实硬件上对软件进行逐行调试。z88dk-dis
是适用于 8080、8085、GBZ80、Z80、Z180、Z80N、EZ80、R800 和 Rabbit 2000/3000 的命令行反汇编程序。它还可以读取 z80asm 生成的映射文件以提供更具符号性的输出。z88dk-lib
是第三方库的安装程序。它管理可用库的安装、删除和列表。z88dk-zx0
和z88dk-zx7
是 PC 端数据压缩工具,具有 z80 库中的配套解压缩功能。z88dk-dzx0
和z88dk-dzx7
是 z88dk-zx0 和 z88dk-zx7 的 PC 端解压缩器。这些工具通常不会由用户直接调用:
m4
充当 z88dk 的宏预处理器,并且可以选择在 c 预处理器或汇编器之前处理文件。z88dk-ucpp
是为 sccz80 和 zsdcc 调用的 C 预处理器。z88dk-zpragma
被工具链用来处理嵌入在 c 源代码中的编译指示。z88dk-copt
是一个正则表达式引擎,用作 sccz80 的窥孔优化器以及 sccz80 和 zsdcc 的后处理工具。 z88dk 提供的汇编语言库使其比其他 z80 编译器具有性能优势。有关详细信息,请查看 Wiki 中的基准部分。
CMake 可用于构建 Z88DK 项目(提供工具链)。请参考 CMake 维基百科。
有些事情要知道:
当您形成编译行时,您必须决定将使用哪个编译器以及将链接到哪个 C 库。您将根据要编译的目标以及需要的功能来做出决定。
经典 c 库是 z88dk 的主要 c 库,并且具有允许为 100 多种不同 z80 系列机器生成程序的 crt。每个的支持级别历来是由用户兴趣决定的。文档从这里开始,示例程序可以在 z88dk/examples 中找到,编译行最常出现在 .c 文件的顶部。随着时间的推移,它已经用新库中存在的实现替换了非标准实现。
新的 C 库是 z88dk 的重写,旨在实现 C11 一致性的一个大子集。标准库的大部分现已合并到 classic 中,但它仍然支持 classic 不支持的一些目标:hbios、rc2014、scz180、yaz180 以及一些针对某些重复目标的合并第 3 方库:sega master system、zx Spectrum ,接下来是 zx 谱。此外,z180、z80 的基本目标可用于为任何 z80 机器编译程序。文档从这里开始,示例程序可以在 z88dk/libsrc/_DEVELOPMENT/EXAMPLES 中找到,其中编译行最常出现在 .c 文件的顶部。
Z88DK 主页 包含夜间构建的链接,您可以在其中获取最新的软件包。
安装说明
错误报告
使用 z88dk/examples 中的经典 C 库示例进行编译的简介
使用 z88dk/libsrc/_DEVELOPMENT/EXAMPLES 中的新 C 库示例进行编译的简介
将 z88dk 与 rc2014 目标结合使用,涵盖 cpm、hbios 和 rc2014 子类型。
将 z88dk 与 zx 结合使用,覆盖 zx 目标,并扩展为 zxn 目标。