Z80
8位微处理器,广泛用于1980年代家用电脑和嵌入式系统,是ZX Spectrum等复古平台的核心CPU,支持汇编语言编程。
时间轴 (近 90 天)
在 ZX Spectrum 上编写 Intro 几乎必须使用 Z80 汇编语言,C 语言编译器生成的代码效率远不能满足 Demoscene 对性能和体积的苛刻要求。
ZX Spectrum 是 1982 年发布的 8 位家用电脑,拥有 3.5 MHz 的 Z80 处理器和 48 KB 的 RAM。
Z80 拥有 16 位地址总线,可寻址 64 KB 内存;ZX Spectrum 48K 机型将 ROM 映射在 0x0000–0x3FFF,RAM 占据 0x4000–0xFFFF,屏幕像素区位于 0x4000–0x57FF,属性区位于 0x5800–0x5AFF。
在 ZX Spectrum 光栅效果中,开发者通常使用 HALT 指令等待帧中断,然后通过精确延时循环对准目标扫描行,误差容忍度往往只有几个 T-state。
ZX Spectrum 的 CPU 时钟为 3.5 MHz,PAL 制式下屏幕每秒刷新 50 次,每帧约 69,888 个 T-state。
Z80 指令有固定机器周期数,例如 LD A,B 为 4 个 T-state,LD A,(HL) 为 7 个 T-state。
pret/pokered 是社区逆向工程完成的《宝可梦红/蓝》完整反汇编项目,将原版 Game Boy ROM 还原为带注释的 Z80 汇编代码
全部知识事实 (7)
在 ZX Spectrum 上编写 Intro 几乎必须使用 Z80 汇编语言,C 语言编译器生成的代码效率远不能满足 Demoscene 对性能和体积的苛刻要求。
50%待验证ZX Spectrum 是 1982 年发布的 8 位家用电脑,拥有 3.5 MHz 的 Z80 处理器和 48 KB 的 RAM。
50%待验证Z80 拥有 16 位地址总线,可寻址 64 KB 内存;ZX Spectrum 48K 机型将 ROM 映射在 0x0000–0x3FFF,RAM 占据 0x4000–0xFFFF,屏幕像素区位于 0x4000–0x57FF,属性区位于 0x5800–0x5AFF。
50%待验证在 ZX Spectrum 光栅效果中,开发者通常使用 HALT 指令等待帧中断,然后通过精确延时循环对准目标扫描行,误差容忍度往往只有几个 T-state。
50%待验证ZX Spectrum 的 CPU 时钟为 3.5 MHz,PAL 制式下屏幕每秒刷新 50 次,每帧约 69,888 个 T-state。
50%待验证Z80 指令有固定机器周期数,例如 LD A,B 为 4 个 T-state,LD A,(HL) 为 7 个 T-state。
50%待验证pret/pokered 是社区逆向工程完成的《宝可梦红/蓝》完整反汇编项目,将原版 Game Boy ROM 还原为带注释的 Z80 汇编代码
50%