
Как звучал 1990-й: разбираем AdLib и синтезатор OPL2 – от одной ноты до виртуальной машины музыки
n0isy 17 минут назад Как звучал 1990-й: разбираем AdLib и синтезатор OPL2 – от одной ноты до виртуальной машины музыки Средний 12 мин 312 Старое железо Звук История IT Демосцена * Реверс-инжиниринг * Туториал В прошлой...
<5 — 2026'da uzaya kaç SpaceX Starship fırlatması ulaşacak?
Вот важная новость с фронта ИИ: n0isy 17 минут назад Как звучал 1990-й: разбираем AdLib и синтезатор OPL2 – от одной ноты до виртуальной машины музыки Средний 12 мин 312 Старое железо Звук История IT Демосцена * Реверс-инжиниринг * Туториал В прошлой статье я разобрал Fire & Forget II – гонку 1990 года – и пересобрал её на C. Но у игры, кроме пикселей, есть звук, и с ним получилась отдельная история: звуковой драйвер тоже переехал в порт целиком, вместе со всеми своими данными. А когда в руках живой музыкальный движок 1990 года – грех не заставить его объяснить, как вообще звучала та эпоха.
Начнём с конечной точки: весь саундтрек, 28 минут, играет в Winamp через плагин, для которого драйвер игры стал полноценным звуковым форматом. Справа – окно с живыми регистрами чипа, в центре – геймплей. Если это видео оставить фоном, статья закончится раньше, чем музыка.
Технические детали
А теперь отмотаем к самому началу. Дальше мы пройдём путь от двух портов ввода-вывода и потока байтов до этой музыки: сначала регистры чипа, по нескольку за раз, от простого к сложному, а в конце – виртуальная машина, которая ими управляла. Карта без единого сэмплаВ 1987 году небольшая квебекская компания Ad Lib выпустила звуковую карту для IBM PC.
До неё компьютер умел пищать одним-единственным способом: PC-спикер, в штатном режиме – один прямоугольный тон без аппаратной регулировки громкости. Карта Ad Lib была устроена просто: на плате меньше десятка корпусов – синтезатор Yamaha YM3812, его напарник-ЦАП YM3014 и обвязка. Для той эпохи это скромно: ни памяти, ни сэмплов, ни собственного процессора.
Через два года Creative выпустит Sound Blaster и, чтобы не потерять библиотеку игр, поставит на него тот же YM3812. Так этот чип, известный как OPL2, стал стандартом де-факто для FM-звука в DOS-играх рубежа восьмидесятых и девяностых. Отсутствие памяти – следствие инженерного трюка.
Отраслевые последствия
Внутри синтезатора нет записанных инструментов: только генераторы синусоид, счётчики и идея FM-синтеза, лицензированная Yamaha у Стэнфорда. Девять голосов, у каждого – два «оператора»: генератора синуса со своей огибающей. Со стороны процессора чип выглядит как один регистровый файл.
В порт 0x388 пишется номер регистра, в порт 0x389 – значение. Музыкальные регистры при этом доступны только на запись: узнать их текущее содержимое невозможно, наружу чип отдаёт лишь статусный порт со служебными флагами таймеров. Поэтому каждый драйвер эпохи держал теневую копию всех регистров у себя в памяти.
Сама карта регистров делится на две части: регистры операторов (по набору на каждый из 18 операторов) и регистры каналов (9 штук):операторы (по ячейке на оператор, 18 ячеек): 0x20+s AM | VIB | EG | KSR | MULT режимы + множитель частоты 0x40+s KSL | TL ослабление (громкость оператора) 0x60+s attack | decay огибающая: атака и спад 0x80+s sustain | release огибающая: поддержка и затухание 0xE0+s waveform форма волны (0.. 3) каналы (по регистру на канал, 9 штук): 0xA0+ch fnum, младшие 8 бит частота 0xB0+ch KEY | block | fnum(ст.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.




