头版Folia Daily Briefing
← 返回头版
科技数码硬件

ZX Spectrum系统音频功能详解:Beeper与AY-3芯片编程

ZX Spectrum计算机提供两种音频输出方案供开发者选择[1]。其中,1-bit beeper在所有Spectrum型号上均可用,而AY-3-8910合成器芯片则限于128K及以上型号[1]。

Beeper是最基础的音频实现方式,可通过BIOS调用、直接控制或编程方式触发[1]。使用beeper播放音调时,频率代码的计算遵循公式437500/f – 30.125,而音长代码则为f×t[1]。直接控制beeper需要特别注意处理视频电路内存访问的等待状态问题[1]。Beeper主要适用于音效和短铃声的生成[1]。

对于配备AY-3芯片的机型,该合成器在Spectrum上的时钟频率为3.5469 MHz[1],这与其在Atari ST上的4MHz标准频率不同[1]。AY-3的音频频率代码计算公式为3546900/(32f),而包络长度代码为3546900/(512t)[1]。相比beeper的局限,AY-3芯片可用于更复杂的音乐驱动和环境音效制作[1]。教程提供了使用汇编代码实现C大调音阶播放的完整示例[1]。


ZX Spectrum音频编程1-bit beeperAY-3-8910芯片汇编代码复古计算机

来源

  1. Hacker NewsZX Spectrum System Tour: Sound