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 практически не изготавливалась любителями самостоятельно.
Программное обеспечение
Основное программное обеспечение находится в ПЗУ карты. Оно обеспечивает приём команд и данных от компьютера, воспроизведение музыки и звуковых эффектов.
Для карты было написано и адаптировано довольно большое количество программного обеспечения:
- Плееры и сборники музыки с удобным интерфейсом
- Адаптированные версии популярных игр, озвученные для 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 (совместимую с оригиналом) на основе современных электронных компонентов и имеющую ряд дополнительных возможностей.
Ссылки
- Сайт фирмы Scorpion — сохранившаяся до сих пор страница с описанием General Sound
- Программное обеспечение GS для дисковой системы TR-DOS
- Руководство по программированию General Sound - статья из ZX Format #6
- GENERAL'изaция прогрaмм - статья из Spectrum Expert #1
- Прямое программирование General Sound - статья из Adventurer #13