
В предыдущих статьях цикла «Звуки музыки» я рассмотрел две довольно продвинутые зарубежные 16-битные платформы, которые по роду деятельности были просто обязаны иметь весьма развитые способности к воспроизведению звукового оформления — Sega Genesis и Super Nintendo. На этот раз, однако, дело примет радикально иной оборот.
Я часто пишу про звук и музыку на старых компьютерах и в ранних видеоиграх. Но, как правило, это касается зарубежной техники, и тому есть простая причина: звук там в принципе есть, и весьма разнообразный. А вот в отечественной компьютерной технике с ним туго. Но сегодня для разнообразия погрузимся именно в эту альтернативную реальность: звуковые возможности советских «бытовых», то есть недорогих персональных компьютеров.
Зарубежные компьютеры уже с начала времён могли предложить какую-никакую звуковую палитру и полифонию, сопровождая действие на экране интересными эффектами и простенькими мелодиями. Игры же на отечественных ПК не только смотрелись бледнее визуально, но и в массе своей могли ответить лишь невнятным потрескиванием. Почему так произошло и могло ли быть иначе? Попробуем разобраться!
У «них»
Когда ЭВМ только появились, мало кто представлял, как они могли бы пригодиться обычным людям в обычной жизни, за пределами стен университетов. Но зародившийся в конце 1970-х годов рынок компьютерных технологий довольно быстро нащупал кое-что, за что массовый потребитель проголосовал бы своим массовым рублём: компьютерные игры.

Родился формат недорогого «домашнего» ПК, «home computer», который мог выполнять простые бытовые задачи, одновременно предлагая возможности для мультимедийных развлечений. Одновременно с ним возник и альтернативный формат специализированных устройств, предназначенных только для игр и ни для чего больше — стационарные и портативные игровые консоли.
Уже в самом начале выпуска коммерческих игровых устройств среди разработчиков начало формироваться понимание важности звукового сопровождения — эффектов и музыки. Поэтому даже самые ранние домашние компьютеры, и тем более игровые консоли, имели в своём составе специализированные микросхемы для синтеза звука, и это направление быстро и активно развивалось.

Так, в 1976 году Atari предусмотрела двухголосый синтезатор в заказной микросхеме своей игровой консоли Atari 2600. В 1977 году компания Texas Instruments разработала синтезатор SN76489, в последующие годы вошедший в состав множества игровых устройств. В 1978 году конкурирующая организация с похожим названием, General Instruments, выкатила свой ответ Чемберлену — AY-3-8910. В 1979 году Atari ответила новым мощным POKEY. Наконец, в 1982 году MOS показала, чьи в лесу шишки, разработав легендарный MOS 6581 SID. А через пару лет пришла Yamaha и заполонила всё вокруг своими чипами FM-синтезаторов.
Разумеется, это далеко не полная история технологического противостояния тех лет, а лишь основные вехи, показывающие стремление разработчиков сделать компьютерный звук разнообразнее и богаче.
Ограниченные возможности и технические особенности этих ранних синтезаторов звука породили особую звуковую эстетику, то самое характерное, узнаваемое звучание 8-битных видеоигр. Некоторые микросхемы заложили основу зародившейся позже сцены так называемого «чиптюна», и их слава осталась в веках. Элементы этой звуковой эстетики и по сей день используются музыкантами как в нишевой, так и в популярной музыке.
У «нас»
С развитием западных разработок всё было просто: на свободном рынке побеждал продукт с более привлекательными пользовательскими характеристиками, предлагаемый по доступной цене, и инженеры были вынуждены постоянно улучшать возможности своих устройств.
В СССР же, с его плановой экономикой, ситуация была несколько иной. Сверху спускалась задача. Например: нужно срочно дать школам ЭВМ для обучения детей основам информатики и вычислительной техники. Выполняли поставленную задачу самые разнообразные КБ и заводы, в том числе и совершенно непрофильные, кто как мог, в свободное время от своей основной деятельности. В результате получалось то, что получалось.

Суровая советская бытовая ПЭВМ должна была работать в школах, обрабатывать информацию с датчиков, считать домашний бюджет, укосы и надои. Развлечения в расчёт не брались. Индустрии разработки домашнего ПО не существовало. Жизненно необходимая для работы компьютеров программная часть невозбранно заимствовалась у загнивающего Запада и адаптировалась для местных нужд. Создание же всего остального, в том числе и игровых программ, ложилось на плечи счастливых обладателей одной из множества несовместимых между собой машин.
Хотя советские ПК делались по образу и подобию западных, и даже должны были иметь определённые характеристики — были нормативы по быстродействию и возможностям — они сильно уступали своим зарубежным коллегам. Причины этого в основном экономические.

Имея заметное отставание в области микроэлектронных технологий, Советский Союз придерживался стратегии копирования успешных зарубежных разработок. Но технологии развивались слишком стремительно, а стратегия копирования в сочетании с плановой экономикой не предполагала быстрого цикла: один процессор уже есть (8080), зачем стране ещё один почти такой же (Z80)? Конечно, постепенно и другие процессоры тоже были созданы, но это заняло время, и отечественный аналог Z80 появился лишь к самому окончанию истории Союза.
Поэтому элементная база, оказавшаяся в распоряжении советских конструкторов домашних ПК в начале 1980-х, состояла из аналогов западных логических микросхем родом из середины 60-х годов и перетянутого микропроцессорного комплекта Intel MCS-80 из середины 70-х. Последний в западных домашних машинах почти не применялся, только в самом начале компьютеростроения, но там очень быстро произошёл переход на недорогие 6502 и Z80.

Что касается звука, ничего подобного западным звуковым чипам в номенклатуре просто не было, потому что танкам и ракетам не так уж нужно было играть гимн СССР во время пуска. Развитие культуры видеоигр также происходило с большим отставанием, и запроса на создание специализированных звуковых БИС, аналогичных западным, просто не успело возникнуть.
Не то, чтобы элементная база совсем не позволяла создать конкурентоспособное решение. Но его приходилось изобретать на основе микросхем малой степени интеграции, что сильно увеличивало стоимость конечного устройства. В результате звуковые возможности первых отечественных ПК были реализованы по остаточному принципу, самой малой кровью.

В более поздних машинах, созданных в начале 1990-х годов, ситуация начала исправляться. Звуку начали уделять больше внимания. Лучшие из разработок тех лет по количеству используемых микросхем достигали примерно четверти от общей сложности схемы компьютера. А уже после распада Союза, в 1992-93 годах была создана даже копия AY-3-8910 на базовом матричном кристалле КР1515ХМ1, впрочем, оставшаяся почти неизвестной.
И хотя в результате советские ПЭВМ сильно уступали западным в области звукового сопровождения, интересно посмотреть, как советские инженеры решали поставленную задачу в столь суровых ограничениях. Их решения можно разделить на несколько категорий:
одноголосые,
трёхголосные,
продвинутые,
навороченные.
К первой категории относятся решения на простом однобитном бипере или одном канале таймера КР580ВИ53. Во второй категории абсолютно все решения построены вокруг ВИ53. Примерно в таком порядке их и рассмотрим далее. Просто бипер.
Первую, самую многочисленную группу составляют компьютеры, следующие заветам незабвенного ZX Spectrum: максимально дёшево и сердито. Они имеют простейший однобитный порт вывода, непосредственно подключённый к динамику. Звук формируется полностью программно. Как правило, в таких компьютера громкоговоритель встроен внутрь корпуса, и это даже не полноценная человеческая электродинамическая головка, а пьезоизлучатель.

Несмотря на абсолютную примитивность, при должном подходе даже такая система способна играть многоголосную музыку с довольно интересным звучанием — при условии, что процессор занят только звуком и не делает ничего другого. Но за отсутствием у отечественных энтузиастов релевантного опыта это редко практиковалось, в основном адаптировали зарубежные разработки.
В двух словах, синтез звука при таком простом аппаратном решении осуществляется программным переключением выходного уровня с 0 на 1 и наоборот через равные промежутки времени. Процессор точно выдерживает время между переключениями, при этом в качестве источника синхронизации с реальным временем выступает быстродействие самого процессора: за определённое время успевает выполниться известное число команд. Однако, пока процессор отсчитывает время подобным образом, он не может делать ничего другого, поэтому на время воспроизведения звука действие на экране останавливается.
О более продвинутых способах программного синтеза звука на однобитном бипере, в том числе и многоканального, и с разнообразными тембрами, я уже не раз подробно рассказывал в других публикациях, поэтому не буду увеличивать объём статьи. Можете обратиться непосредственно к этим материалам: например, «Секреты Тима Фоллина, бипер, Спектрум и QChan» и «Биперная музыка на Arduino».
Программная генерация звука не всегда возможна. Например, если есть торможение процессора, как в Радио 86РК и аналогичных ему компьютерах, где DMA постоянно делает выборку для обновления экрана и регенерации ОЗУ, останавливая процессор на время пересылок по шине, сбивая точно рассчитанные тайминги кода. Если не отключить DMA, его работа внесёт в звук постороннее гудение. По этой причине при работе с магнитофоном на таких компьютерах выключается дисплей до окончания операции ввода-вывода.
Корни этого технического решения исторические. Самые ранние западные домашние машины применяли подобный подход. А широко известный в наших краях ZX Spectrum 48K вообще сделал эту практику нормой для бюджетных машин, хотя во времена его выпуска звуковые чипы уже существовали и активно применялись в более дорогостоящих компьютерах.
Однако, ZX Spectrum был позже. Два основных корня, откуда подобный примитивный звук пришёл на отечественные машины — S100 и Apple II.
S-100 — это название системной шины для первого в мире коммерчески успешного персонального компьютера, Altair 8800, 1974 года выпуска. В то время эта легендарная машина не по карману многим энтузиастам, а более доступные альтернативы типа IMSAI 8080 появлялись медленно. Жаждая прикоснуться к новейшим достижениям науки и техники, зарубежные энтузиасты собирали свои компьютеры сами, основываясь на дизайне шины S-100, и таких компьютеров в 70-х было создано порядка тысячи. Благодаря наличию стандарта они в некоторой степени совместимы между собой.
Для одной из таких машин, Sol-20, в 1977 году был разработан комплекс с говорящим названием — Music System. Он позволял создавать и прослушивать на компьютере трёхголосную музыку с очень характерным звучанием, знакомым вам по многим играм для ZX Spectrum.
Музыка редактировалась с помощью терминала в виде очень специфического скрипта, который впоследствии преобразовывался в HEX-дамп.
0010 /AIR WITH VARIATIONS "HARMONIOUS BLACKSMITH" 0020 /G.F. HANDEL 0021 / (P) (C) 1977 SOFTWARE TECHNOLOGY CORP. 0030 <1 0040 K4# NI=90 0050 /THEME 0060 PA 0070 M1 V3@QCI$ 0080 PB 0090 M2 *I24364S32 V2@Q3I14$3 V3@Q5I68Q5 0100 M3 *I364Q76I5# V2*Q-4I.2S2I.1S1Q0 V3@I565C4354 0110 M4 *I.6S$ V2*I.1 V3@I.8 0120 PC RB 0130 PD 0140 M5 *I6S96I76S4696 V2*I24Q2I$-1 V3@I3521$5 0150 M6 *I76S4698'87'76'65T45S6 V2@I+211+6+21+11 0160 V3@I23532345 0170 M7 *Q3I6232S6432 V2@Q+1I$101$1 V3@I89A323$3 0180 M8 *S31I26S231543I4S32 V2@I01$121*21 V3@I23$ABC8F 0190 M9 *I.2S$ V2@I.1 V3@I.C 0200 /VAR. I
Звук синтезировался полностью программно. Так как сам по себе компьютер Sol-20, как и его собратья по шине S-100, не был оснащён никакими звуковыми устройствами, в комплекс Music System также входила «звуковая карта» для шины S-100, содержащая резистор, два конденсатора, и стандартный разъём выхода звука типа Mini Jack.

Как вы понимаете, звук был однобитный. А подключен выходной бит был не к какому-то специальному порту, а просто-напросто к линии разрешения прерывания — прерывания редко использовались в совместимых с S-100 системах. Соответственно, уровень на выходе управлялся командами разрешения и запрета прерывания, EI и DI. Думаю, энтузиасты отечественной техники, не знавшие этот факт, мгновенно поняли, куда я клоню.
И действительно, большая часть ПО для ранних отечественных компьютеров на процессоре КР580ВМ80 была перенесена с S-100 совместимых машин, и некоторые технические решения перекочевали оттуда же. Именно таким образом возникло это удивляющее многих решение со звуком в компьютере Радио 86РК, где выходной бит динамика управляется командами EI и DI. Была перетащена и упомянутая выше программа, теперь известная как «Музыкальная Система».
Другой первопроходец однобитного звука — компьютер Apple II образца 1977 года. Его звуковая система имела на целый один бит больше, чем у предшественника, Apple I, где никакого звука не было вообще. Именно на этой платформе начали своё развитие техники однобитного синтеза звука в игровых программах, так как компьютеры S-100 для развлечений не сильно подходили: у них не было графики и даже элементарного текстового режима, а только терминальный ввод-вывод.
К отечественным машинам этот исторический факт тоже имеет некоторое отношение: аналогичное техническое решение по звуку было также реализовано в отечественном аналоге Apple II, по совместительству первой советской серийной ПЭВМ, компьютере «Агат». Неизвестно, впрочем, оказало ли это влияние на последующие отечественные машины, так как сама линейка «Агатов» не имела наследников, вероятно, из-за так и не освоенного до конца отечественной промышленностью аналога микропроцессора MOS 6502. Но так как «Агат» довольно широко распространился по стране, вероятно, в какой-то мере он послужил примером для многих последующих разработок.
Из музыкального ПО для «Агата», способного выжать что-нибудь интересное из стандартного динамика, существовали двухголосый «АГАТ-Композитор» 1989 года, а также порт вышеупомянутой трёхголосной «Музыкальной системы».
Перечислю некоторые отечественные машины и годы их выпуска, обладающие подобной, максимально рудиментарной звуковой системой:
Агат (1984).
БК-0010 (1985).
Специалист (1985) и его клоны.
Радио-86РК (1986) — дикое управление через ei/di.
ПК8000 (1987).
Орион-128 (1990).
Что касается музыки на подобных советских ПК — с ней, конечно, очень негусто, и примеры найти непросто. В основном это одноголосные мелодии, напоминающие серию операторов BEEP в Бейсике.
Изредка можно встретить порты музыкальных движков со Спектрума. В целом дело биперного озвучивания сильно развито не было: у энтузиастов просто не хватало опыта. К тому же, существовали другие компьютеры, оснащённые хотя бы каким-то аппаратным синтезатором звука.
КР580ВИ53
Краеугольным камнем практически всех прочих звуковых решений в советских бытовых ПК является микросхема КР580ВИ53 — трёхканальный программируемый интервальный таймер, по совместительству отечественный «аналог» западной Intel 8253.

Это была одна из немногих микросхем общего назначения, выпускавшихся советской промышленностью, которую можно было достаточно легко приспособить для нужд генерации звука, что и было сделано во множестве бытовых компьютеров. Причём применяли её довольно разными способами, рассмотрению которых будет посвящена значительная часть последующего текста.

Несмотря на иное изначальное предназначение, в советских бытовых компьютерах ВИ53 часто применялась именно в качестве синтезатора звука, так как каждый канал таймера может генерировать сигнал квадратной формы заданной частоты, и таких каналов в микросхеме три. Получается такой однокорпусный полифонической звуковой чип для бедных. Правда, в ряде компьютеров под звук отводился лишь один канал, подобно тому, как это сделано в IBM PC, а два других обслуживали системные нужды.

Зарубежные специализированные микросхемы, предназначенные для синтеза звука, тоже имеют в своём составе подобный счётчик-таймер, даже с более простыми возможностями: только циклический бинарный счёт до заданного значения. Но в них это лишь треть от всех функциональных блоков.
Помимо счётчиков, формирующих заданные частоты из базовой тактовой частоты, в настоящих «звуковых чипах» присутствуют ЦАП управления громкостью, генераторы шума, генераторы амплитудной огибающей, схемы коммутации и модуляции, а иногда даже ПЗУ с волновыми формами и аналоговые фильтры (как в SID).
Безусловно, полноценный аналог настоящего звукового чипа можно реализовать и на ВИ53, если добавить обвязку из десятка-другого дополнительных микросхем мелкой логики. Но это сложно, дорого, и поэтому в рамках домашних компьютеров почти никогда не делалось. Впрочем, подобные решения повсеместно встречались в советских цифровых электромузыкальных инструментах (ЭМИ, электроорганах и синтезаторах). Также с ними экспериментировали энтузиасты, как в прошлом, так и в недавние годы, добившись интересных результатов.
Штатные звуковые устройства на базе ВИ53 в составе советских ПЭВМ можно разделить на следующие категории:
Один свободный канал используется для звука.
Все три канала используются для звука, выходы каналов соединены параллельно.
Более хитроумные решения с несколькими ВИ53 и дополнительными устройствами.
ПЭВМ, где для генерации звука отводился лишь один канал ВИ53, пошли по стопам оригинального PC XT, задавшего тренд в этом деле. Хотя наличие всего одного звукового канала сильно ограничивает возможности, особенности в области музыкальных применений, многие игры для MS-DOS показали, что это не является препятствием, и всё равно сильно лучше, чем отсутствие звука вовсе.
Среди таких компьютеров есть и полностью оригинальные советские разработки, и клоны XT, унаследовавшие это архитектурное решение естественным образом, для совместимости с оригиналом:
Ассистент-128.
Башкирия 2М.
Ириша.
Квазар-86.
Микроша.
ПК8010 и ПК8020 (Корвет и ему подобные).
Поиск-1.
Чуть меньше было компьютеров, в которых под генерацию звука отдано все три канала ВИ53, что давало трёхголосую полифонию — почти как на зарубежных ПК.
Впрочем, так как никаких дополнительных преобразований звука не делалось, звучат три канала ВИ53 совершенно одинаково и довольно уныло — простая квадратная волна без управления громкостью и тембром. Но в контексте тех лет даже такой простейший звуковой чип, способный играть полифоническую музыку параллельно с работой программы — это был гигантский шаг вперёд.
К тому же, у части этих компьютеров помимо ВИ53 присутствовал и порт обычного бипера, и на нём можно было воспроизводить шумовые эффекты прямо во время звучания музыки на каналах таймера, что теоретически могло обогатить звучание. Впрочем, этой возможностью воспользовались уже энтузиасты нынешнего времени.
Интересно, что прямое зарубежное влияние на это техническое решение не прослеживается. Мне не удалось найти ни одного зарубежного компьютера, где 8253 применялась бы в качестве трёхканального звукового чипа. Вероятно, некоторые истоки идеи можно найти в IBM PCjr, где применялся также трёхканальный звуковой чип SN76489, а информация по программированию этого невиданного в наших краях ПК встречалась в отечественной литературе ранних 90-х.
Апогей БК-01.
Вектор 06ц и совместимые.
Партнёр 01.01 с модулем МЦПГ (цветной псевдографики).
Байт (клон ZX Spectrum).
Одна упущенная возможность во всех отечественных конструкциях — одинаковая громкость каналов. В то время все выходы таймера просто соединялись параллельно через три резистора с одинаковым номиналом в общий монофонический выход, и об иных вариантах никто просто не задумывался.
Сегодня же мой собственный современный опыт разработки музыкальных процедур для ZX Spectrum 48K (в частности, Tritone) и сочинения музыки для них показал, что простейшее отличие в громкости каналов, например, с соотношением 25:50:100, значительно расширяет возможности в аранжировке, позволяя делать разные тембры и эффекты эха. И для этого всего лишь нужно было изменить номиналы трёх резисторов. Увы, история не терпит сослагательного наклонения.
Продвинутые
Так как звуковые синтезаторы для советских компьютеров разрабатывали инженеры, а не композиторы, к вопросу улучшения возможностей они подходили с другой стороны: искали не то, что пригодилось бы музыкантам, а то, что можно было выжать из имеющейся элементной базы. Да и сами музыканты тех лет ещё не знали, что им нужно.
Первое развитие случилось, как ни странно, в области аркадных игровых автоматов. Платформа со сменными играми ТИА МЦ-1 (1986), о которой я подробно рассказывал на Хабре, была оснащена более продвинутым решением, чем просто три канала одного таймера ВИ53. Конечно, это не ПК, но ранняя советская разработка, о которой стоит упомянуть.
В ТИА применялся каскад из двух ВИ53: выходы каналов одной микросхемы идут на входы разрешения счёта каналов второй микросхемы. Выходы же второй смешиваются двумя логическими элементами в один выход. Так как доступные принципиальные схемы грешат неточностями, а на реальных платах есть немало отличий, мне до сих пор не удалось понять, чего именно авторы хотели добиться таким включением. То ли аппаратного управления длительностью звука, то ли составного тембра.

Впрочем, вероятно, сами авторы тоже не поняли, чего хотели добиться, так как ни в одной игре эти возможности задействованы не были. Всюду звучит лишь один канал звука, как на той же Микроше. В версии автомата для игры «Городки» второй таймер исключили, убрав его со схемы и не устанавливая на плату. Ну а в более поздней одноплатной версии автомата, известной как «Мультитрон», и вовсе оставили для звуковых нужд только один канал ВИ53.
Крайне интересным, и, пожалуй, самым продвинутым штатным звуковым синтезатором был оснащён очень малоизвестный ПК8002 «Эльф» (1989), развитие предшествующего ему ПК8000 («Веста», «Сура», «Хобби»).

Эта линейка компьютеров шла по стопам известных в Союзе японских компьютеров стандарта MSX, пытаясь воспроизвести что-то похожее на них, но на советской элементной базе. «Эльф» не экономил на деталях и подобрался близко: он получил и аппаратные спрайты, и более интересный звук, хотя и не дотягивающий до используемого в MSX AY-3-8910.
Решение построено на одной ВИ53 с обвязкой примерно в шесть корпусов мелкой и средней логики. Среди них есть ЦАП 573ПА1, а также генератор цифрового шума на двух сдвиговых регистрах 555ИР8. Это позволило реализовать управление общей громкостью всех каналов с 32 уровнями, а также опцию замены одного из каналов на генератор шума, тактируемый таймером, то есть с управляемой «частотой» шума, как на зарубежных звуковых чипах.
Как водится, оценить звуковые возможности ПК8002 негде — канал шума и громкость, кажется, задействованы только в тестовой программе. Ну а обычные три канала тона, звучащие в редких сохранившихся играх для этой машины, едва ли отличаются от того же Вектора.
Наконец, финальная, ультимативная разработка, наш категорический ответ «Амиге» — полумифический ПК-11/16 «Союз-Неон» (1991), вершина эволюции отечественных PDP-11 совместимых машин, к которым относятся Электроника-60, ДВК, БК и УК-НЦ.
Как и ТИА МЦ-1, «Союз-Неон» был оснащён каскадом из двух ВИ53, в котором выходы одной микросхемы управляли разрешением счёта второй. Но на этот раз все выходы второй микросхемы просто смешивались через три резистора, без логических изысков, а тактовые частоты микросхем были подобраны более разумным образом. Это решение дало возможность управления громкостью звучания каналов, приблизив звучание к обычным каналам зарубежных звуковых чипов.
Услышать звучание «Неона» можно лишь в одном видео, демонстрирующем работу редчайшего реального экземпляра этого компьютера. Ведь в его эмуляторах звук пока не поддерживается.
Эти разработки стали пиком штатных звуковых возможностей компьютеров отечественного происхождения. Но помимо них были ещё возможности нештатные.
Звуковые карты
Помимо звуковых синтезаторов, встроенных непосредственно внутрь компьютера, существовали и отдельные внешние устройства расширения звуковых возможностей — практически звуковые карты. В них инженеры уже могли позволить себе пойти немного дальше и использовать больше деталей, увеличивая сложность и стоимость устройства: ведь оно не обязательное.

Для начала можно вспомнить так называемый «Covox» — простейший 8-битный ЦАП, подключаемый к параллельному порту компьютера. Подобные устройства в готовом коммерческом исполнении существовали практически для всех зарубежных ПК с конца 1980-х годов, производимые одноимённой компанией (её название стало именем нарицательным) либо её конкурентами.
В наших же краях имели хождение самодельные аналоги, собранные из подручных средств — вязанки резисторов, либо, для тех, кто побогаче, на специализированной микросхеме ЦАП К572ПА2. В основном этим промышляли пользователи отечественных и зарубежных клонов IBM PC, а также спектрумисты, которые даже соорудили себе стереофонические (Stereo Covox) и квадрофонические (SounDrive) варианты устройств, работающие по тому же принципу. Но Covox также можно было встретить на БК-0011М, Вектор-06ц, и даже на Агате.
Здесь всё как и с простейшим однобитным выходом. Процессор может играть довольно интересный звук, к тому же более реалистичный, с использованием оцифровок настоящих инструментов, но делается это за счёт использования всего доступного времени на выдерживание точных таймингов. К тому же, для хранения оцифровок требовался большой объём ОЗУ, стандартных 64 килобайт хватало не всем. Поэтому цифровыми звуками баловались в основном обладатели продвинутых 128-килобайтных машин.
Для простого же человеческого БК-0010, обладающего более скромным объёмом ОЗУ, существовала довольно распространённая звуковая приставка «Менестрель», официально именуемая «программно-музыкальным комплексом».

Представляет она собой простейшее решение на двух микросхемах КР580ВИ53, все выходы которых слились в едином порыве для создания неслыханной ранее шестиканальной полифонии, причём стереофонической — три канала слева, три канала справа. Звучит это примерно как шесть PC Speaker’ов, работающих одновременно. Мечта поэта (менестреля).
В настоящее время даже создана современная реплика приставки. Впрочем, делать с ней особо нечего. Насколько мне известно, всё программное обеспечение, поддерживающее это устройство, ограничивалось комплектным «Базовым Музыкальным Монитором» — простейшим текстовым редактором, в котором можно было набирать музыкальный скрипт, напоминающий заново изобретённый вариант MML. Поставлялась программа на микросхеме ПЗУ, и ныне утрачена. История сохранила нам только инструкцию от неё. И на том спасибо.
Значительно более интересная разработка существовала для ПЭВМ «Агат» под названием «Ячейка звукового синтеза 5/2» (ЯЗС). Создана она в новосибирской «Лаборатории компьютеризированных музыкальных комплексов» при Государственной консерватории имени М. И. Глинки примерно в 1990-ом году, как часть аппаратно-программного комплекса для обучения музыкальным премудростям.

Данное устройство, пожалуй, больше всех иных разработок, созданных в Союзе, приблизилось к конкурентоспособному звуковому чипу. Правда, оно не было чипом, не предназначалось для озвучки игр, и в целом было довольно дорогим и сложным — 36 микросхем.
Как водится, ЯЗС построена на двух микросхемах КР580ВИ53. Пять каналов отданы на генерацию звука, а шестой используется для генерации прерываний. При этом выходы каналов не просто соединены вместе, а программно коммутируются с тремя пассивными полосовыми фильтрами, пропускающими ВЧ, СЧ или НЧ составляющую. Каждый канал можно пустить на любую комбинацию фильтров. Также у каждого канала есть опциональный амплитудный генератор, добавляющий небольшой спад громкости после начала звучания.
Помимо тональных каналов, у ЯЗС есть два генератора перкуссии: тональный и шумовой. Это простейшие аналоговые схемы, напоминающие ранние драм-машины типа Roland CR-78, с возможностью программного выбора одной из нескольких входных частот и двух вариантов длительности. Это позволяет получить довольно специфически звучащую бочку, томы, малый барабан и хэты.
Все эти возможности превращают довольно скучный «квадратный» тон в набор более интересных вариаций, отличающихся по тембру и амплитуде. Итоговое звучание отдалённо напоминает что-то среднее между чипом SID и звуковой картой Adlib, но при этом оно довольно самобытное.
В 2022 году Tronix сделал современную реплику ЯЗС, адаптированную для шины ISA, что позволило использовать её в старых IBM-совместимых компьютерах. Эта версия имеет уже шесть тональных каналов, так как ей не требуется генерировать прерывания. Я разработал музыкальный редактор-трекер Yach*PMS специально под эту версию устройства. Когда-нибудь соберусь с мыслями и напишу про этот проект отдельную статью.
Пожалуй, именно ЯЗС стала финальным звуковым аккордом советских компьютеров, и наиболее уникальным синтезатором для ПЭВМ, созданным на отечественной элементной базе.

Большинство последующих, уже постсоветских разработок в области дополнительных звуковых устройств для отечественных бытовых компьютеров сводилось к простому подключению зарубежного звукового чипа AY-3-8910 либо YM2149F, которые стали доступны благодаря распространению клонов ZX Spectrum 128K. В части железа это была тривиальная задача. Некоторые затруднения вызывала адаптация музыкальных проигрывателей, которые пришлось переписать под процессоры КР580ВМ80 и К1801ВМ1 с системами команд i8080 и PDP-11, с чем успешно справились энтузиасты на Вектор-06ц и БК-0011М.
Однако, одним только AY дело не ограничилось. На протяжении 1990-х годов энтузиастами были созданы и более продвинутые звуковые устройства на основе воспроизведения сэмплов, близкие по возможностям к Commodore Amiga и предназначенные для воспроизведения четырёхканальных MOD-файлов, создаваемых на этой платформе, либо аналогичных им STM-файлов с IBM PC.

Первая разработка такого рода была создана ещё в 1993 году, но оставалась практически неизвестной общественности до конца 2000-х годов. Это звуковая карта Magic Sound для уникального постсоветского компьютера Aleste 520EX, разработанного кооперативом «Патисоник» и являвшегося частичным клоном MSX и Amstrad CPC.
Карта была предназначена строго для Aleste и интегрировалась в его архитектуру. В её основе лежали контроллер ПДП К1810ВТ37 (i8237), два таймера КР580ВИ54 (i8254, быстродействующая версия ВИ53) и 8-разрядный ЦАП К1118ПА1. Всего в устройстве задействовано 25 микросхем.
Принцип работы схож с тем, как это сделано на Амиге: контроллер ПДП выбирает данные сэмплы из основного ОЗУ компьютера объёмом 512 килобайт, и выдавал их в ЦАП с задаваемой каналами таймеров частотой. Весьма оригинальной особенностью устройства является использование всего одного ЦАП с мультиплексированием для четырёх каналов и управления их громкостью, вместо набора отдельных ЦАП, что существенно сократило количество деталей.
На Хабре есть интереснейшие воспоминания создателя кооператива «Патисоник» и одного из создателей их весьма удивительных для своего времени, но почти никому не известных разработок. Крайне рекомендую к прочтению!
Следующим устройством подобного рода, но с совершенно иной архитектурой, была звуковая карта General Sound, созданная в 1997 году кооперативом X-Trade из Санкт-Петербурга. Данное устройство подключалось к любым моделям ZX Spectrum и было предназначено для аппаратного воспроизведения четырёхканальных MOD-файлов с Amiga.

Технически General Sound представляла собой целый самостоятельный компьютер: процессор Z80H, работающий на частоте 12 МГц, 128 или 512 килобайт собственного ОЗУ, восемь ЦАП — четыре для выходов каналов и четыре для управления их громкостью, а также ПЗУ с кодом музыкального проигрывателя. Всего в устройстве использовалось около 40 микросхем — почти столько же, сколько в целом «Ленинграде».
Такая высокая сложность обеспечивала удобство работы. Достаточно однажды загрузить музыкальный файл в память устройства, дать команду на проигрывание, и музыка продолжает играть самостоятельно. Также можно давать команды на проигрывание звуковых эффектов. Благодаря такой архитектуре, переозвучка старых игр была достаточно простой, поэтому быстро появилось несколько десятков таких адаптаций. Само устройство также получило некоторую популярность, хотя и было довольно дорогим.
Интересной особенностью General Sound является возможность загрузки запуска пользовательского кода, что превращает звуковую карту в своего рода вычислительный ускоритель — ведь её процессор работает почти в три раза быстрее, чем у обычного Спектрума без турбо-режима. Впрочем, за исключением пары демонстраций эта возможность в реальных программах не применялась.

В настоящее время созданы и полноценные реплики оригинальной версии, и новые, обратно-совместимые версии, с расширенными возможностями — более быстрый процессор, больше каналов, быстрая пересылка данных, даже поддержка SD-карты и формата MP3. Пожалуй, наибольшее распространение получила версия NeoGS, созданная группой NedoPC в 2008 году.
Наконец, последняя разработка, датируемая 2000 годом — DMA Ultrasound Card (DMA USC), созданная украинской группой Witchcraft. Она не производилась серийно, была опубликована в виде схемы в журнале «Радиолюбитель», и из-за довольно высокой сложности (40 микросхем) не получила большого распространения, став своего рода городской легендой среди Спектрумистов.
Как следует из названия, здесь используется тот же принцип, что и в MagicSound: контроллер ПДП выбирает сэмплы из основной памяти компьютера и выводит в ЦАП. Элементная база здесь такая же: КР1810ВТ37, два таймера КР580ВИ53. Однако, выход каналов реализован без мультиплексирования, а подобно General Sound: восемь микросхем ЦАП, четыре для звуков и четыре для управления громкостью.

Главной проблемой DMA USC стало подключение к компьютеру. Во-первых, компьютер должен был обладать объёмом оперативной памяти от 512 килобайт, чтобы в ней в принципе могли поместиться музыкальные файлы. Также требовалась переделка схемы для внедрения контроллера ПДП. При этом инструкция по переделкам была создана только для Pentagon 512K и Kay-1024, а обладателям зоопарка иных клонов Спектрума было необходимо обладать весьма специальными знаниями, чтобы придумать и выполнить необходимые доработки самостоятельно.
Бонусной возможностью DMA USC стала возможность быстрой пересылки блоков памяти в ОЗУ компьютера через контроллер ПДП. Впрочем, эта возможность также не была задействована нигде, кроме демонстраций.
Заключение
Во всех промышленно производившихся отечественных компьютерах наблюдалось значительное технологическое отставание в области звука, и только энтузиасты в начале 1990-х годов смогли несколько исправить ситуацию. Но большого смысла это уже не имело: наступала эра IBM-совместимого ПК.
Один вопрос, который не даёт мне покоя: был ли раскрыт потенциал ВИ53 полностью? Думаю, что нет, и что даже в условиях ограниченной элементной базы можно было создать интересные и недорогие устройства — при условии, что разработчики понимали бы реальные потребности в этой области так, как мы понимаем их сегодня. Планирую ещё вернуться к этой теме в собственной серии экспериментальных проектов на ВИ53, про которые обязательно напишу.
© 2026 ООО «МТ ФИНАНС»
Комментарии (7)

dartav
17.06.2026 08:03Таймеры 8254 как генераторы звука в своих синтезаторах Juno 60 i Juno 106 применял Roland - там очень интересная схема получения пилобразного напряжения и PWM.

shiru8bit Автор
17.06.2026 08:03Интересно! Я как-то давно интересовался схемой Juno 106, но в её аналоговой части, модулями голосов, но то ли не посмотрел в цифровую часть, то ли забыл, что там используется 8253. По крайней мере, сейчас эта информация показалась неожиданной. Juno 60/106 мой любимый синт той эпохи, всегда при случае применяю его эмуляцию в музыке.

CitizenOfDreams
17.06.2026 08:03КР580ВИ53 — трёхканальный программируемый интервальный таймер
О, у меня в детстве был "Апогей" с этим ВИ53. Я даже пробовал издавать из него какие-то звуки, но очень разочаровался, поскольку уже был знаком с великой AY-3-8910.

shiru8bit Автор
17.06.2026 08:03Одна из моих задумок на будущее, когда доберусь до серии экспериментов с ВИ53 — сделать близкий функциональный аналог AY. Посмотреть, сколько придётся добавить микросхем, чтобы получился сопоставимый по возможностям и звучанию синтезатор. Ведь в 90-х ходили слухи, что труднодоставаемую тогда AY-3-8910 кто-то сумел заменить схемой на дискретной логике. Это технически осуществимо, но что-то я сомневаюсь, что кто-то это делал. Но сделать было бы интересно.
hw_store
Забавно, что примерно в те годы, когда на рынке появились инструменты c FM-синтезом от Yamaha, в Стране Советов были освоены аналоговые синтезаторы с цифровым блоком тоногенерации, основанным на делителях частоты с программируемым коэффициентом деления (К145ИК14). Что вполне могло бы управляться компьютером уровня "Радио-86РК". На таймерах 8253 вероятно генерировать проще, при том что драйверы должны быть совершенно разные.