MOS Technology 6581/8580 SID (сокр. от ) — электронный компонент, микросхема, выполняющая функцию программируемого звукогенератора, использовавшаяся в бытовых компьютерах фирмы Commodore International — CBM-II, Commodore 64, и Commodore 128. Она была одной из первых микросхем подобного типа, предназначенных для использования в бытовых компьютерах, до появления у них возможностей воспроизведения цифрового звука.

Вместе с микросхемой видеоконтроллера VIC-II SID стала тем компонентом, который сделал C64 самым продаваемым бытовым 8-разрядным компьютером в истории, а также, в какой-то степени, повлияла на возникновение явления, называемого демосцена.

На микросхему SID выдан американский патент № 4 677 890, заявка была подана 27 февраля 1983 года, и принята 7 июля 1987 года. Срок действия патента истёк 7 июля 2004 года.

Разработка Микросхема SID была разработана инженером Робертом Яннесом, впоследствии основавшим компанию Ensoniq, производящую цифровые синтезаторы. Яннес возглавил группу разработчиков, включающую, помимо него, двух техников и оператора САПР Applicon (в настоящее время — собственность UGS Corporation), которая провела весь процесс разработки за пять месяцев, в течение второй половины 1981 года. Яннес уже имел опыт работы в области проектирования синтезаторов звука, и не был доволен возможностями существовавших на тот момент компьютерных средств генерации звука. Он хотел получить качественный синтез музыкальных инструментов, что стало причиной реализации в SID таких возможностей, как программируемая огибающая ADSR, ранее не использовавшаяся в микросхемах подобного типа для бытовых компьютеров.

Роберт Яннес. On the Edge: The Spectacular Rise and Fall of Commodore

Во время разработки особое внимание уделялось точности управления частотой генерируемого звука, и SID изначально должна была иметь 32 независимых голоса с одним общим генератором частоты. Однако эта возможность не была реализована из-за нехватки времени. Вместо одного общего генератора, который работал, но не был закончен, на кристалле было размещено три его копии, что позволило реализовать три независимых голоса, каждый со своим собственный генератором. Другая возможность, не вошедшая в окончательный вариант из-за нехватки места на кристалле — таблица определённых заранее частот, соответствующих музыкальным нотам. Поддержку ввода звука Яннес реализовал по собственной инициативе, однако она практически не использовалась в компьютере. Изделие производилось по 7-микронной технологии, чтобы увеличить процент выхода работоспособных кристаллов — пиком прогресса в то время была 6-микронная технология.

Микросхема SID, как и Commodore 64, первый компьютер, в котором она применялась, была закончена к началу Consumer Electronics Show — выставки, проходившей в первые выходные января 1982 года. Несмотря на то, что Яннес не был полностью удовлетворён достигнутым результатом, его коллега Чарльз Уинтебл сказал: «Эта штука в десять раз лучше всего, что есть у других, и в двадцать раз лучше, чем требовалось».

При разработке микросхемы не использовалось заранее сформулированное техническое задание. Наоборот, оно формировалось в процессе разработки, и не все запланированные возможности были реализованы в конечном изделии. Яннес утверждает, что у него был список планируемых возможностей, из которых только три четверти были в итоге реализованы. Это объясняет, почему техническая документация на первую версию микросхемы (6581) не полностью соответствовала действительности. Более поздняя версия (8580) была приведена в соответствие с документацией. Например, 8580 может выполнять логическое И над двумя формами генерируемого сигнала, чего не позволяла делать 6581. Другая функция, работа которой различается в двух версиях микросхемы — фильтр: в 6581 его работа сильно отличалась от описанной в технической документации.

Характеристики Три независимых, раздельно программируемых генератора частоты (диапазон в 8 октав, приблизительно 16—4000 Гц). Четыре различных формы сигнала для каждого генератора (пилообразная, треугольная, прямоугольная, и шум). Один многорежимный фильтр, имеющий выходы низких, средних и высоких частот с разделением 6 децибел на октаву для средних частот, и 12 децибел на октаву для низких и высоких частот. Различные режимы фильтра иногда использовались совместно для создания дополнительных тембров, например, с помощью режекторного фильтра. Три раздельных ADSR-огибающих, по одной на каждый генератор. Три кольцевых модулятора. Синхронизатор генераторов. Два 8-разрядных АЦП. Обычно использовались для опроса аналоговых игровых контроллеров типа paddle, впоследствии также применялись для подключения манипулятора типа «мышь». Внешний аудиовход (для смешивания генерируемого звука с внешними источниками). Генератор случайных чисел и модуляции.

Технические подробности

SID является микросхемой смешанного типа и содержит как цифровую, так и аналоговую части. Основная его часть и управляющие порты — цифровые, однако выход аналоговый. SID реализует трёхголосый синтез звука, каждый голос может использовать одну из четырёх форм сигнала: прямоугольную (с изменяемой скважностью), треугольную, пилообразную, и псевдослучайную (но не белый шум). Каждый голос может также модулироваться с помощью кольцевого модулятора одним из других голосов, что позволяет расширить частотный спектр генерируемого сигнала. Кольцевой модулятор, фильтр, и быстрое программное переключение между различными формами сигнала создают характерное, узнаваемое звучание SID.

Каждый голос может быть пропущен через общий аналоговый фильтр (реализованный с использованием внешних конденсаторов), с программно управляемой частотой среза и резонанса. Внешний источник звука также может быть пропущен через фильтр.

Версия микросхемы 6581 имела ошибку, из-за которой при изменении громкости канала возникал небольшой щелчок. Как оказалось, эта ошибка могла быть полезна для реализации четвёртого псевдо-голоса, которым можно было имитировать звуки перкуссии и воспроизводить цифровой звук, например короткие речевые или музыкальные вставки (Commodore 64 не имел достаточного количества памяти для хранения оцифрованных звуков большой длительности). Эта ошибка была частично исправлена в версии микросхемы 8580, использовавшейся в Commodore 64C и Commodore 128. Это исправление привело к очень тихому звучанию оцифрованных звуков. Однако модификация схемы компьютера позволяла восстановить оригинальный уровень громкости.

Помимо исправления ошибок, между версиями 6581 и 8580 существует несколько различий. Оригинальная версия, 6581, производилась по КМОП-технологии, требующей для работы микросхемы 12-вольтового питания. Версия 8580 производилась по технологии КМОП-2, которая требует пониженного напряжения питания (9 вольт), а также уменьшает тепловыделение при работе. По этой причине версия 8580 более надёжна, чем 6581. Дополнительно в 8580 было реализовано лучшее разделение между аналоговой и цифровой частями схемы, за счёт чего снизился уровень шума и искажений на аудиовыходе.

Также производилась КМОП-2 версия 6581, с обозначением 6582. Она никогда не использовалась в новых Commodore 64.

В оригинальной технической документации на SID упоминается, что различные формы сигнала могут быть использованы одновременно, что приводит к логическому вычитанию между ними. Однако только версия микросхемы 8580 действительно позволяет делать это — в версии 6581 некоторые сочетания форм сигнала приводят к полной тишине или почти неслышимому звучанию, в зависимости от партии микросхем. Работа фильтра в разных версиях микросхемы также различается, версия 8580 больше соответствует технической документации.

Несмотря на ряд перечисленных недостатков версии 6581, многие музыканты, создававшие музыку для SID, отдавали предпочтение именно ей. Основная причина в том, что фильтр 6581 создавал сильные искажения, что иногда использовалось для имитации таких инструментов, как перегруженный звук электрогитары. Также высокочастотная составляющая фильтра имела большую (на 3 децибела) громкость по сравнению с остальными составляющими, что делало звук более «басовым». Также нелинейность фильтра и выходных ЦАП, приводила к дополнительным искажениям звука, делающим его более «мягким» и «гладким».

Версии

Версия 6581 R1 никогда не поступала в продажу. Яннес сделал следующее высказывание: «Микросхема SID с самого начала получилась отличная, она звучала. Всё, что нам требовалось для её показа [на выставке 1982 года], заработало со второй попытки». Это, видимо, означает, что ревизия R1 была первой пробной партией микросхем, а R2 — вторым вариантом маски для кристалла, которая использовалась в последующем массовом производстве. На фотографиях прототипа C64, сделанных Чарльзом Уинтеблом, видна маркировка «MOS 6581 2082» (без R2, значит, это ревизия R1), что, видимо, означает, что пробная партия микросхем SID была произведена в 20-ю неделю 1982 года.

Список известных версий и ревизий микросхем SID:

6581 R2 — имеет обозначение «MOS» «6581» на корпусе микросхемы 6581 R3 — имеет обозначение «6581 R3» или «6581 CBM» 6581 R4 AR — имеет обозначение «6581 R4 AR» 6582 A — производился примерно в 1992 году 8580 R5 — производился с 1987 по 1992 год

Некоторые из микросхем имеют маркировку «CSG», которая расшифровывается как Commodore Semiconductor Group (а также логотип Commodore), вместо маркировки «MOS». Эти микросхемы могут иметь одинаковую дату выпуска, включая неделю, что означает, что принтеры, наносящие маркировку на корпус микросхемы, находились на разных конвейерах завода.

Музыка и звуковые эффекты в играх Commodore 64 имел низкую скорость загрузки данных с кассеты и дисковода, загрузка 64 килобайт данных в ОЗУ могла занимать несколько минут. Поэтому среди разработчиков игр распространилась практика использования так называемых «загрузчиков», которые сначала загружали и выводили на экран какое-либо изображение, и проигрывали музыку в процессе загрузки остальной части игры (иногда даже с мини-игрой или возможностью влиять на проигрываемую музыку). Возможно, именно из-за медленного процесса загрузки и отличного звучания микросхемы SID, композиторы, создававшие музыку для игр на Commodore, получили бо́льшую известность по сравнению с композиторами, работавшими для других игровых систем.

В число хорошо известных авторов музыки для SID входят Мартин Гэлвей (Martin Galway), известный своей работой над множеством играми, включая Wizball, и Роберт Хаббард (Rob Hubbard), известный по таким играм, как ACE 2, Delta, International Karate, IK+ и Monty on the Run. Также заслуживают упоминания Йерун Тель (Jeroen Tel) (игры Cybernoid и Myth), (игры Ghouls'n Ghosts, Bionic commando, Raw recruit, Gauntlet III, Agent X II) и Кристофер Хюльсбек (Chris Hülsbeck) (игры The Great Giana Sisters, Hollywood Poker Pro), музыкальная карьера которого началась с SID, и впоследствии продолжилась на других платформах.

Современные разработки В 1997 году шведской компанией Elektron был выпущен электронный музыкальный инструмент SidStation, использующий в качестве синтезатора микросхему SID. Так как производство микросхемы SID было давно прекращено, Elektron скупила почти все оставшиеся на складах микросхемы. В 2004 году Elektron выпустила Monomachine, секвенсор с опциональной клавиатурой. Monomachine содержит несколько разных синтезаторов, включая один аналогичный микросхеме 6581 генератор, реализованный на основе цифрового сигнального процессора. В июне 1998 года Dag Lem реализовал программный эмулятор SID, называемый reSID. Он написан на языке C++, и распространяется с открытым исходным кодом, под лицензией GPL. В 1999 году была создана звуковая карта для IBM PC-совместимых компьютеров. Она могла содержать от одной до четырёх микросхем SID, и позволяла PC использовать их возможности напрямую, без программной эмуляции и воспроизведения эмулируемого звука через стандартную звуковую карту (например, SoundBlaster).