AY -3-8910 — это 3-голосный программируемый звуковой генератор (PSG), разработанный компанией General Instrument (GI) в 1978 году, изначально для использования с их 16-битным CP1610 или одним из 8-битных микрокомпьютеров серии PIC 1650. AY-3-8910 и его варианты использовались во многих аркадных играх — Konami's Gyruss содержит пять [1] — и пинбольных автоматах Bally, а также являлись звуковым чипом в игровых консолях Intellivision и Vectrex , а также в Amstrad CPC , Oric-1 , Colour Genie , Elektor TV Games Computer , MSX , Tiki 100 и более поздних домашних компьютерах ZX Spectrum . Он также использовался в звуковых картах Mockingboard и Cricket для Apple II и в картридже Speech/Sound [2] для цветного компьютера TRS-80 .
После отделения GI от Microchip Technology в 1987 году чип продавался в течение нескольких лет под брендом Microchip. Он также производился по лицензии Yamaha (с выбираемым штифтом делителя тактовой частоты и таблицей огибающей громкости с двойным разрешением и двойной частотой) как YM2149F ; Atari ST использует эту версию. Он выдает очень похожие результаты на Texas Instruments SN76489 и находился на рынке в течение аналогичного периода.
Чипы больше не производятся, но функционально идентичные клоны все еще находятся в активном производстве. Неофициальное описание VHDL свободно доступно для использования с FPGA .
AY-3-8910 — это простой конечный автомат . Его состояние шестнадцати 8-битных регистров программируется по 8-битной шине (используемой как для адресации, так и для данных) путем переключения одного из внешних контактов. Например, типичный цикл настройки переводит шину в «адресный режим» для выбора регистра, а затем переключает в «режим данных» для установки содержимого этого регистра. Эта шина была изначально реализована на собственных процессорах GI, но ее пришлось воссоздать в связующей логике или с помощью дополнительного интерфейсного адаптера, такого как MOS Technology 6522 , когда чип использовался с гораздо более распространенными процессорами MOS Technology 6502 или Zilog Z80 .
Шесть регистров управляют высотой тона, создаваемой в трех основных каналах. Частота для генерации хранится в двух 8-битных регистрах, выделенных для каждого канала, но значение ограничено 12 битами по другим причинам, в общей сложности 4095 (значение регистра используется как делитель частоты , а 0 рассматривается как 1) различных высот тона. Другой регистр управляет периодом генератора псевдослучайного шума (всего 31 разное время цикла), в то время как другой управляет смешиванием этого шума в трех основных каналах.
Громкость канала управляется тремя дополнительными регистрами или включением или выключением дополнительных элементов управления огибающей на них. Наконец, последние три регистра управляют временем контроллера огибающей , устанавливая тип огибающей и время цикла огибающей. Всего восемь типов огибающей включают пилообразную или треугольную форму, начиная с максимума или минимума. Форму также можно настроить на повторение для эффекта цикличности. Всего можно установить 65535 различных времен цикла. Поскольку для всех трех каналов используется только одна огибающая, многие программисты игнорировали ее и программировали собственные контроллеры огибающей в программном обеспечении (управляя громкостью напрямую). Известный трюк заключался в запуске аппаратной огибающей с временем цикла выше 20 Гц для создания пилообразного или треугольного звука, похожего на бас.
Хотя имеется всего 16 регистров, четыре бита MSB 8-битной шины должны быть установлены на заводское значение по умолчанию «0000» при выборе регистра. Неправильная установка битов MSB приводит к тому, что чип игнорирует изменение регистра. GI принимала заказы на индивидуальные биты MSB (с заводской установкой на значение, отличное от «0000»). Чипы, изготовленные с индивидуальной установкой битов регистра MSB, позволяют одному и тому же процессору управлять более чем одним чипом AY на одной шине (например, TurboSound для ZX Spectrum). На вторичном рынке есть много чипов new-old-stock (NOS) с заводской установкой битов MSB на значение, отличное от «0000». Значение, отличное от «0000», может вызвать значительные проблемы при разработке для проектировщиков и ремонтников. Необходимо написать программное обеспечение для определения правильного значения битов MSB на любом данном чипе. Кроме того, необходимо изменить программное обеспечение или добавить аппаратное обеспечение, чтобы можно было использовать эти заводские микросхемы MSB вместо микросхем по умолчанию «0000».
AY-3-8910 генерирует тоны с основными частотами до 125 кГц (входная тактовая частота 4 МГц или 6 МГц с YM2149F), что значительно выходит за пределы диапазона человеческого слуха и попадает в ультразвуковой диапазон. Наличие ультразвуковых значений является следствием конструкции делителя частоты; для того чтобы иметь адекватное разрешение на слышимых частотах, необходимо, чтобы общая тактовая частота (и, следовательно, выход на малых делителях) была значительно выше слышимого диапазона. Только делители ниже 5 дают полностью ультразвуковые выходные частоты. Частоты, эквивалентные верхней октаве клавиатуры фортепиано, могут быть определены с разумной точностью по сравнению с принятыми значениями нот для равномерно темперированной шкалы, с точностью почти 1 Гц в диапазоне A440 и еще точнее на более низких тонах. Несмотря на высокую максимальную частоту, возможность разделить эту цифру на 4096 означает, что самая низкая напрямую определяемая выходная частота составляет 30,6 Гц, что примерно равно B0, третьей самой низкой ноте на обычном 88-клавишном пианино, и так же хорошо, как инфразвуковая частота с обычными акустическими системами. По сути, чип способен производить прилично музыкальный вывод на всех разумных высотах, встречающихся в большинстве композиций.
Напротив, SN76489 имеет только 10 бит точности для своих делителей частоты. Имея ту же базовую частоту 125 кГц, теоретически он должен отсутствовать в двух нижних октавах PSG. Чтобы обойти это, SN76489 воспроизводит свои тон-генераторы на одну октаву ниже их расчетной частоты, давая ему на одну октаву меньше в басах и на одну октаву меньше в верхах по сравнению с PSG.
Кремниевый чип 8910 продавался в трех различных корпусах.
AY -3-8910 имеет два универсальных 8-битных параллельных порта ввода-вывода , A и B, которые доступны в 40-контактном корпусе с тем же названием.
AY -3-8912 — это тот же чип в 28-контактном корпусе, с параллельным портом B, просто не подключенным ни к одному из контактов. Меньшие корпуса экономят стоимость и место на плате. 8912 был наиболее широко используемым вариантом.
AY -3-8913 — это тот же чип в 24-контактном корпусе, с обоими неподключенными параллельными портами. Некоторые пользователи считали, что небольшое уменьшение количества контактов по сравнению с 8912 сделало его менее интересным; однако регистры ввода-вывода редко использовались разработчиками, поэтому GI создала эту полностью функциональную альтернативу с 24 контактами и выпустила ее примерно через 6 месяцев после чипов 8910 и 8912. Целью было уменьшить сложность для разработчика и уменьшить площадь печатной платы.
Чип Yamaha YM2149F SSG (Software-controlled Sound Generator) имеет ту же распиновку, что и AY-3-8910, с небольшим отличием, что контакт 26 может уменьшить вдвое главный тактовый сигнал, если его понизить. Если его не подключить, как это было бы при замене чипа AY-3-8910, внутренний резистор подтянет контакт вверх, поэтому главный тактовый сигнал не уменьшится вдвое.
Yamaha YM3439 — это КМОП-версия YM2149F. Доступна в двух корпусах: 40-контактный DIP (YM3439-D) и 44-контактный QFP (YM3439-F).
Yamaha YMZ294 — один из новейших вариантов YM2149, но в 18-контактном корпусе. Не имеет параллельных портов и только один звуковой выход с тремя смешанными каналами.
Yamaha YMZ284 — это еще меньшая вариация YM2149 в 16-контактном корпусе. По сути, это YMZ294 без штыря выбора 4/6 МГц и штыря /TEST.
Yamaha YMZ285 имеет 28-контактный корпус и встроенный PCM. Не имеет параллельных портов и двух звуковых выходов: один с тремя смешанными каналами SSG, другой с выходом PCM.
Toshiba T7766A — совместимый чип, имеющий ту же распиновку, что и AY-3-8910, и использовавшийся в некоторых моделях MSX .
Winbond WF19054 , JFC 95101 и File KC89C72 имеют ту же распиновку , что и AY-3-8910, а также 100% совместимы с программным обеспечением. Они все еще производятся и используются во многих игровых автоматах .
AY -3-8914 имеет ту же распиновку и тот же 40-контактный корпус, что и AY-3-8910 , за исключением того, что регистры управления на чипе перетасованы, а «ожидаемый вход» на выводе A9 может быть другим. Он использовался в консоли Intellivision компании Mattel и компьютере Aquarius .
AY -3-8930 , также известный как AY8930 , является улучшенной, но в основном обратно совместимой версией AY -3-8910 . Функция вывода BC2 изменена (он игнорируется и предполагается равным 0 независимо от состояния вывода), в остальном распиновка такая же, как у AY-3-8910 . Этот вариант чипа добавляет ряд важных улучшений, таких как отдельные огибающие для трех каналов (в отличие от одной общей огибающей), переменные рабочие циклы, больше бит точности для частоты ноты, громкости и частоты огибающей, а также гораздо более настраиваемый генератор шума. Он использовался в звуковой карте Covox Sound Master для IBM-PC. Очень немногие игры использовали его преимущества за пределами обычных функций AY-3-8910 . Этот чип, возможно, был произведен только Microchip Technology .
Yamaha использовала ядро YM2149 для производства целого семейства музыкальных чипов , которые использовались в мобильных телефонах, домашних компьютерах, домашних и аркадных игровых системах и т. д. Например, YM2203 (также известный как OPN) по сути является YM2149 с добавленным FM-синтезом , а также его гораздо более продвинутыми преемниками: YM2608 (также известный как OPNA), который сохранил все предыдущие функции и значительно их расширил, YM2610 (OPNB), который добавил другие функции и сохранил звуковые каналы YM2149, но не порты ввода-вывода, и YM2612 (также известный как OPN2), который добавил некоторые функции, но удалил все остальные, включая звуковые каналы YM2149 и порты ввода-вывода.