Пролог: До AY — эпоха бипера и шума
До появления специализированных звуковых чипов мир 8-битных компьютеров был, по большей части, немым. ZX Spectrum 48K имел лишь простой бипер (beeper) — динамик, который мог издавать импульсы только одной частоты и амплитуды. Всё богатство звука создавалось исключительно программно: меняя частоту импульсов, можно было генерировать тон, а управляя их последовательностью — создавать шумовые эффекты. Это требовало колоссальных затрат ресурсов процессора и давало скромный результат: монофонический звук с крайне ограниченными тембральными возможностями.Гений таких программистов, как Мэттью Смит («Manic Miner») или Джонатан Коллиер, заключался в том, что они заставили этот бипер «петь» сложные мелодии, используя технику 1-битного цифрового синтеза. Но это был тупиковый путь. Нужно было аппаратное решение.
Рождение в недрах General Instrument: Цель — аркадные автоматы
История AY начинается не в компьютерных лабораториях, а на заводе американской компании General Instrument (GI). В конце 1970-х GI была известна своими микросхемами для электронных игр, калькуляторов и бытовой техники.Инженерная команда под руководством разработчиков полупроводников поставила задачу: создать недорогой, но мощный программируемый генератор звука (PSG — Programmable Sound Generator) для нового поколения аркадных автоматов и игровых консолей. Их цель — заменить несколько простых звуковых чипов одной универсальной микросхемой.
Технический бриф 1978-79 гг.:
- Три независимых тональных генератора (каналы) с широким диапазоном частот.
- Отдельный генератор шума с несколькими режимами (периодический, белый шум).
- Программируемые огибающие (envelope) для автоматического изменения громкости.
- Порты ввода/вывода общего назначения (I/O) для связи с другими устройствами (джойстики, кнопки).
- Минимальное количество внешних компонентов (требуется только опорный тактовый генератор).
- Низкая стоимость в массовом производстве.
Архитектурный гений: Внутреннее устройство AY-3-8910
Чип был образцом инженерной элегантности. Все функции управлялись через 16 регистров (адресуемых от 0 до 15), что делало его программирование относительно простым.Структурная схема возможностей чипа:
Код:
AY-3-8910 Core
+-----------------------------------+
| Tone Generator A (12-bit period) | --> Mixer --> Amplifier A
| Tone Generator B (12-bit period) | --> Mixer --> Amplifier B
| Tone Generator C (12-bit period) | --> Mixer --> Amplifier C
| |
| Noise Generator (5-bit period) | --------+
| | |
| Envelope Generator (16-bit control) |
| (Shape: \_/‾|‾\_| Continues, Hold) |
+-----------------------------------+ |
| | |
v v v
I/O Port A (8-bit) I/O Port B (8-bit) Mixer & Amplifier
(для клавиатур, джойстиков) (реже используется) Logic
Ключевые блоки:
- Тональные генераторы (Channels A, B, C): Каждый имел 12-битный задающий регистр тона (от 1 до 4095). Частота вычислялась по формуле: F = (Clock / 16) / Period. При тактовой частоте чипа 2 МГц (как в ZX Spectrum 128) это давало диапазон от ~30 Гц до 125 кГц.
- Генератор шума: 5-битный регистр, определяющий период псевдослучайной последовательности. Шум можно было направить на любой из трёх каналов независимо.
- Генератор огибающей (Envelope): Сердце чипа. 16-битный регистр периода огибающей и 4-битный регистр формы. Огибающая могла принимать 8 форм: спад, рост, треугольник, пила и их комбинации с удержанием уровня. Это позволяло создавать эффекты «выстрела», «взрыва», «звона», имитировать ударные.
- Смеситель (Mixer): Позволял для каждого канала включить/выключить тон, шум, выбрать источник амплитуды (фиксированный уровень или огибающая).
- Порты ввода/вывода: Два 8-битных порта, которые можно было программно настроить на ввод или вывод. В компьютерах часто использовались для подключения клавиатуры (как в Amstrad CPC) или джойстиков.
Вариации чипа:
- AY-3-8912: Урезанная версия без портов ввода/вывода. Именно эта версия использовалась в ZX Spectrum 128 и Timex Sinclair 2068.
- AY-3-8913: Ещё более упрощённая версия.
- YM2149F: Поздний клон от компании Yamaha, использовавшийся в компьютерах Atari ST. Имел улучшенные характеристики по подавлению шума.
- Клоны в СССР: Чип массово клонировался под обозначениями КР580ВХ12 и другими. Советские клоны иногда имели особенности по уровням сигнала.
Завоевание мира 8-битных компьютеров: От аркад к домашним ПК
Первый крупный успех AY-8910 пришёл не в компьютерах, а в игровых системах. Его использовала аркадная платформа ZX80/ZX81? (нет, это были более ранние машины) — фактически, одним из первых массовых применений стали аркадные автоматы на базе процессора Z80.Переломный момент наступил в середине 1980-х, когда производители домашних компьюеров искали недорогое звуковое решение:
| Компьютер | Год | Модель чипа | Как использовался |
|---|---|---|---|
| Amstrad CPC | 1984 | AY-3-8912 | Основной звуковой чип. Порты использовались для чтения клавиатуры и джойстика. |
| Mattel Intellivision | 1980 | AY-3-8910 | Раннее использование в игровой консоли. |
| ZX Spectrum 128 | 1986 | AY-3-8912 | Революция для Спектрума! Звук стал трёхголосным, с шумом и огибающей. |
| MSX (многие модели) | 1983-85 | AY-3-8910 | Часто в качестве опционального или основного звукового модуля. |
| Atari ST | 1985 | YM2149F (клон) | Использовался для генерации звука, пока не появился чип Yamaha YM3812. |
| Оригинальный Game Boy (звуковой канал) | 1989 | Вдохновлён архитектурой | Канал "Sound 3" (wave channel) имеет явное сходство с одним каналом AY. |
| Советские клоны (Байт) | кон. 80-х | КР580ВИ53 | Основной звуковой чип. |
Почему AY победил?
- Низкая цена: Благодаря массовому производству.
- Простота интеграции: Подключался напрямую к шине Z80, требовал минимум обвязки.
- Баланс возможностей: Три канала были достаточны для мелодии+аккомпанемента или эффектов в играх, но не избыточны, чтобы удорожать систему.
- Универсальность: Порты ввода/вывода заменяли отдельные микросхемы.
Культурный феномен: Музыка AY и демосцена
Появление AY-3-8912 в ZX Spectrum 128 в 1986 году стало катализатором для целой культурной волны.1. Золотой век игровой музыки на Spectrum
Композиторы наконец-то получили в свои руки настоящий инструмент. Легенды жанра:- Тим Фоллиноу (Tim Follin) — его саундтреки к играм вроде «The Last Ninja» или «Bubble Bobble» на Amstrad CPC и Spectrum 128 считаются вершинами мастерства. Он использовал крайне быстрые арпеджио и эффекты огибающей, чтобы создавать иллюзию большего количества голосов.
- Джонатан Данн (Jonathan Dunn) — знаменитая тема к «RoboCop».
- Мэттью Симмондс (Matthew Simmonds) — музыка к «Ниндзя Гальден».
2. Рождение и расцвет демосцены
AY стал главным музыкальным инструментом демосцены ZX Spectrum. Появились первые трекеры (music trackers) — программы, позволявшие композиторам в реальном времени редактировать паттерны нот.- Pro Tracker by Fux — самый знаменитый трекер для AY.
- Sound Tracker.
- SQ-Tracker.
3. Формат .AY и сохранение наследия
Для сохранения музыки был создан простой формат .AY. По сути, это дамп всех 16 регистров AY для каждого кадра музыки. Воспроизведение заключается в последовательной загрузке этих дампов в виртуальный чип с определённой частотой (обычно 50 или 60 Гц). Сегодня существуют плееры для .AY-файлов на всех платформах, и огромные архивы такой музыки доступны онлайн.
Технические детали: Как программировали AY
Программирование чипа сводилось к записи значений в его регистры через два порта:- Адресный порт: Выбирали номер регистра (0-15).
- Порт данных: Записывали значение в выбранный регистр.
Assembler Z80:
; Установить тон канала A = 440 Гц (Ля первой октавы) при тактовой частоте AY = 1.7734 МГц (ZX128)
; Period = Clock / 16 / Freq = 1773400 / 16 / 440 ≈ 252
LD BC, &FFFD ; B = порт адреса (старший), C = порт данных (младший)
LD A, 0 ; Выбрать регистр 0 (младший байт тона канала A)
OUT (C), A
LD A, 252 ; Записать младший байт периода
INC B ; B = &FF, C = &FD? Правильнее: LD BC, &FFFD для адреса, и OUT (C), A для данных.
OUT (C), A ; На практике используется пара OUT (C), A для выбора регистра и OUT (C), E для данных.
(Примечание: Код упрощён, реальное программирование требует точного знания карты портов конкретного компьютера).
Регистры 6 (Mixer) и 13 (Envelope Shape) были ключом к мощному звуку. Умелое переключение формы огибающей во время игры ноты создавало сложные тембры.
Наследие и жизнь AY в XXI веке
Чип AY-3-8910 давно не производится, но его легенда живее всех живых.- Ретро-революция и новые трекеры: Появились современные кроссплатформенные трекеры (например, AY), предлагающие продвинутые редакторы для создания музыки.
- Аппаратные эмуляторы и реплики: Выпускаются устройства на базе FPGA, точно воспроизводящие AY, а также современные чипы, совместимые по выводам.
- Чиптюн-сцена: Звучание AY стало неотъемлемой частью global chipmusic культуры. Музыканты используют эмуляторы AY или оригинальное железо для создания новой музыки в старом стиле.
- Моды и DIY: Энтузиасты встраивают AY (или его клоны) в старые 48K Spectrum, создавая «апгрейд» легендарной машины.
Эпилог: Не просто чип, а звуковая ДНК эпохи
AY-3-8910 не был самым продвинутым чипом своего времени. У конкурентов (например, SID 6581 в Commodore 64) были фильтры и более сложные формы волны. Но в своей доступности, простоте и сбалансированности AY был идеален.Он дал голос не одной платформе, а целому созвездию компьютеров, объединив музыкой геймеров и программистов из Англии, Испании, Польши, СССР. Его характерный, немного «песочный», но удивительно живой и энергичный звук — это не просто ностальгия. Это акустический портрет технологического оптимизма середины 1980-х, когда каждая новая возможность вдохновляла на творчество.
Сегодня, когда эмулятор в браузере за секунды загружает .AY-файл и из колонок льются те самые знакомые тембры, происходит чудо воскрешения не данных, а целого эмоционального мира. И это — главная заслуга маленького 40-ножного чипа из лабораторий General Instrument.
Статья составлена на основе технической документации General Instrument, интервью с ретро-разработчиками, архивов демосцены и анализа форумов World of Spectrum.