General Sound

Материал из SpeccyWiki
(перенаправлено с «GS»)
Перейти к: навигация, поиск
General Sound и плата расширителя памяти

General Sound (также часто используется сокращение GS) — звуковая карта для отечественных клонов ZX Spectrum. Разработана и производилась фирмой X-Trade (Санкт-Петербург) в конце 1990-х годов (1997—1998). Также распространялась фирмами-прозводителями ZX Spectrum-совместимых компьютеров, Nemo и Scorpion. Позволяла воспроизводить 4-х канальную музыку в формате MOD, а также звуковые эффекты, параллельно с работой компьютера, не снижая производительность его основного процессора. Применялась для озвучивания игр, прослушивания и создания музыки в формате MOD.

Устройство

General Sound является одним из наиболее сложных устройств подобного назначения для ZX Spectrum-совместимых компьютеров. Она представляет собой самостоятельную микропроцессорную систему, с собственным процессором, памятью, ЦАП, и другими элементами. С компьютером она связана портом ввода-вывода, через который передаются данные и управляющие команды. Компьютеру достаточно загрузить нужные звуки и музыкальные композиции в память карты, и далее только передавать команды, такие как запрос на проигрывание нужного звука или мелодии, смену громкости, высоты звучания. Возможно также загрузить в память карты музыкальный модуль, запустить на проигрывание, сбросить компьютер, и работать с другими программами, при этом General Sound будет продолжать воспроизводить музыку.

Карта имеет краевой разъём для установки её в слот шины NemoBus (присутствующий на компьютерах KAY), а при отсутствии такого слота может быть подключена к любому ZX Spectrum-совместимому компьютеру путём припаивания проводов к разъёму и нужным точкам схемы компьютера.

Из-за высокой сложности схемы, содержащей около 40 микросхем, и сравнимой со сложностью схемы самого компьютера, General Sound практически не изготавливалась любителями самостоятельно.

Программное обеспечение

Основное программное обеспечение находится в ПЗУ карты. Оно обеспечивает приём команд и данных от компьютера, воспроизведение музыки в формате MOD и звуковых эффектов.

Проигрыватель модулей является практически полным аналогом проигрывателя редактора ProTracker для компьютера Amiga, при его разработке использовались исходники ProTracker v2.1A. Реализованы все команды формата MOD за исключением двух - E01 (включение фильтра) и EFx (инвертирование цикла). Это позволяет воспроизводить большую часть музыки в формате MOD, однако при воспроизведении модулей, созданных в более современных редакторах возможны проблемы — не поддерживаются нестандартные октавы, некорректно воспроизводятся короткие (менее 1 КБ) зацикленные сэмплы.

Для карты было написано и адаптировано довольно большое количество программного обеспечения:

  • Плееры и сборники музыки с удобным интерфейсом
  • Адаптированные версии популярных игр, озвученные для GS
  • Музыкальные редакторы:

См. также: Список ПО с поддержкой General Sound

Дополнительные возможности

General Sound имеет производительность, превосходящую производительность обычного ZX Spectrum-совместимого компьютера примерно в три раза. Также имеется возможность загрузки в память карты не только данных, но и исполняемого кода, который может выполняться в памяти карты. Теоретически, возможно использование карты не только для проигрывания музыки и звуков, но и для выполнения сложных расчётов, например в играх. Однако, на практике эта возможность почти не использовалась, в частности из-за чрезвычайно низкой пропускной способности канала связи между GS и ZX Spectrum. Единственный известный пример такого использования — эмулятор микросхемы звукогенератора AY-3-8910 и адаптированная версия музыкального редактора. Он имел довольно низкое качество звучания, и не представлял особой практической ценности, являясь собой скорее демонстрацией возможности нестандартного использования карты.

Технические характеристики

  • Процессор: Zilog Z80H на частоте 12 МГц
  • ПЗУ: 32 КБ
  • ОЗУ: 128 КБ в базовом варианте, с помощью платы расширения увеличивается до 512 КБ
  • Частота прерываний: 37.5 кГц (является также частотой дискретизации)
  • Звуковые каналы: 4 независимых 8-разрядных канала с собственными ЦАП
  • Управление громкостью: 4 независимых 6-разрядных регулятора громкости, по одному для каждого канала

Эмуляция

Существует два подхода к эмуляции General Sound. Высокоуровневая эмуляция подразумевает реализацию программного интерфейса карты (её встроенного ПО) и воспроизведение звука и музыки каким-либо плеером. Это позволяет существенно повысить качество звука по сравнению с реальным устройством и снизить системные требования эмулятора, но не позволяет обеспечить совместимость с ПО, использующим низкоуровневое программирование карты (загрузку и выполнение кода).

Низкоуровневая эмуляция подразумевает эмуляцию всех компонентов карты - процессора, ОЗУ, и т.д. Такой подход требует более мощного компьютера для работы эмулятора, обеспечивает качество звука, аналогичное реальному устройству и максимальную совместимость.

Полная (низкоуровневая) эмуляция General Sound реализована в следующих эмуляторах ZX Spectrum:

Альтернативы

В 2000-х годах неоднократно выдвигались идеи создания аналога карты на современной элементной базе, для снижения её себестоимости и трудоёмкости производства. Ряд идей предполагал использование другой архитектуры карты (включая другой процессор) с обеспечением программной совместимости на уровне программного интерфейса встроенного ПО (высокоуровневая эмуляция), без возможности исполнения загружаемого кода. Хотя программ, использующих возможность исполнения кода, очень мало, и они могли быть доработаны, пользователи не поддержали такой подход.

В июне 2008 года на демопати DiHalt 2008 группа NedoPC провела презентацию звуковой карты NeoGS, представляющей собой реализацию General Sound (совместимую с оригиналом) на основе современных электронных компонентов и имеющую ряд дополнительных возможностей. Малосерийное производство и продажи этой карты начались осенью того же года.

Ссылки