ZX Spectrum 发声之旅:从BEEPER到AY-3-8910
ZX Spectrum System Tour: Sound
在完成了射击游戏后,我继续探索 ZX Spectrum 的声音系统。这台经典机器提供了两种发声方案:所有机型都有的 1-bit beeper,以及 128K 机型标配的 General Instrument AY-3-8910 合成芯片。文章深入剖析了如何利用 BIOS 的 BEEPER 例程生成精确音调,并尝试手写汇编代码直接控制 I/O 端口。过程中我们遭遇了视频电路导致的 CPU 等待状态(类似 C64 的 badline 现象),这迫使我们将代码从 $4000-$7FFF 内存区迁移。最终,通过精细的循环展开和全局变量优化,我们成功在 Z80 架构上实现了稳定的 C 大调音阶播放,展现了复古硬件编程的独特魅力。
本质上,我在初篇文章中面临的那些权衡取舍在这里完全不存在,我们拥有了专用 PSG 该有的那种控制力,这确实非常棒。