General Sound — различия между версиями
Zxdn (обсуждение | вклад) (→Программное обеспечение) |
Alone (обсуждение | вклад) м (Правки Cmapuk (обсуждение) откачены к версии Zxdn) |
||
(не показано 11 промежуточных версии 3 участников) | |||
Строка 10: | Строка 10: | ||
== Программное обеспечение == | == Программное обеспечение == | ||
− | Основное программное обеспечение находится в [[ПЗУ]] карты. Оно обеспечивает приём команд и данных от компьютера, воспроизведение музыки и звуковых эффектов. | + | Основное программное обеспечение находится в [[ПЗУ]] карты. Оно обеспечивает приём команд и данных от компьютера, воспроизведение музыки в формате [[MOD]] и звуковых эффектов. |
+ | |||
+ | Проигрыватель модулей является практически полным аналогом проигрывателя редактора ProTracker для компьютера [[Amiga]], при его разработке использовались исходники ProTracker v2.1A. Реализованы все команды формата MOD за исключением двух - E01 (включение фильтра) и EFx (инвертирование цикла). Это позволяет воспроизводить большую часть музыки в формате MOD, однако при воспроизведении модулей, созданных в более современных редакторах возможны проблемы — не поддерживаются нестандартные октавы, некорректно воспроизводятся короткие (менее 1 КБ) зацикленные сэмплы. | ||
Для карты было написано и адаптировано довольно большое количество программного обеспечения: | Для карты было написано и адаптировано довольно большое количество программного обеспечения: | ||
Строка 22: | Строка 24: | ||
== Дополнительные возможности == | == Дополнительные возможности == | ||
− | General Sound имеет производительность, превосходящую производительность обычного ZX Spectrum-совместимого компьютера примерно в три раза. Также имеется возможность загрузки в память карты не только данных, но и исполняемого кода, который может выполняться в памяти карты. Теоретически, возможно использование карты не только для проигрывания музыки и звуков, но и для выполнения сложных расчётов, например в играх. Однако, на практике эта возможность почти не использовалась. Единственный известный пример такого использования — эмулятор микросхемы звукогенератора [[AY-3-8910]] и адаптированная версия музыкального редактора. Он имел довольно низкое качество звучания, и не представлял особой практической ценности, | + | General Sound имеет производительность, превосходящую производительность обычного ZX Spectrum-совместимого компьютера примерно в три раза. Также имеется возможность загрузки в память карты не только данных, но и исполняемого кода, который может выполняться в памяти карты. Теоретически, возможно использование карты не только для проигрывания музыки и звуков, но и для выполнения сложных расчётов, например в играх. Однако, на практике эта возможность почти не использовалась, в частности из-за чрезвычайно низкой пропускной способности канала связи между GS и ZX Spectrum. Единственный известный пример такого использования — эмулятор микросхемы звукогенератора [[AY-3-8910]] и адаптированная версия музыкального редактора. Он имел довольно низкое качество звучания, и не представлял особой практической ценности, являясь собой скорее демонстрацией возможности нестандартного использования карты. |
== Технические характеристики == | == Технические характеристики == | ||
Строка 31: | Строка 33: | ||
* Звуковые каналы: 4 независимых 8-разрядных канала с собственными ЦАП | * Звуковые каналы: 4 независимых 8-разрядных канала с собственными ЦАП | ||
* Управление громкостью: 4 независимых 6-разрядных регулятора громкости, по одному для каждого канала | * Управление громкостью: 4 независимых 6-разрядных регулятора громкости, по одному для каждого канала | ||
+ | |||
+ | == Эмуляция == | ||
+ | Существует два подхода к эмуляции General Sound. Высокоуровневая эмуляция подразумевает реализацию программного интерфейса карты (её встроенного ПО) и воспроизведение звука и музыки каким-либо плеером. Это позволяет существенно повысить качество звука по сравнению с реальным устройством и снизить системные требования эмулятора, но не позволяет обеспечить совместимость с ПО, использующим низкоуровневое программирование карты (загрузку и выполнение кода). | ||
+ | |||
+ | Низкоуровневая эмуляция подразумевает эмуляцию всех компонентов карты - процессора, ОЗУ, и т.д. Такой подход требует более мощного компьютера для работы эмулятора, обеспечивает качество звука, аналогичное реальному устройству и максимальную совместимость. | ||
+ | |||
+ | Полная (низкоуровневая) эмуляция General Sound реализована в следующих эмуляторах ZX Spectrum: | ||
+ | |||
+ | *[[EmuZWin]] | ||
+ | *[[Spectaculator]] | ||
+ | *[[UnrealSpeccy]] | ||
+ | *[[Z80Stealth]] | ||
+ | |||
+ | == Альтернативы == | ||
+ | В 2000-х годах неоднократно выдвигались идеи создания аналога карты на современной элементной базе, для снижения её себестоимости и трудоёмкости производства. Ряд идей предполагал использование другой архитектуры карты (включая другой процессор) с обеспечением программной совместимости на уровне программного интерфейса встроенного ПО (высокоуровневая эмуляция), без возможности исполнения загружаемого кода. Хотя программ, использующих возможность исполнения кода, очень мало, и они могли быть доработаны, пользователи не поддержали такой подход. | ||
+ | |||
+ | В июне [[2008]] года на [[демопати]] [[DiHalt 2008]] группа [[NedoPC]] провела презентацию звуковой карты [[NeoGS]], представляющей собой реализацию General Sound (совместимую с оригиналом) на основе современных электронных компонентов и имеющую ряд дополнительных возможностей. Малосерийное производство и продажи этой карты начались осенью того же года. | ||
== Ссылки == | == Ссылки == |
Текущая версия на 07:58, 23 декабря 2013
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 (совместимую с оригиналом) на основе современных электронных компонентов и имеющую ряд дополнительных возможностей. Малосерийное производство и продажи этой карты начались осенью того же года.
Ссылки
- Сайт фирмы Scorpion — сохранившаяся до сих пор страница с описанием General Sound
- Программное обеспечение GS для дисковой системы TR-DOS
- Руководство по программированию General Sound - статья из ZX Format #6
- GENERAL'изaция прогрaмм - статья из Spectrum Expert #1
- Прямое программирование General Sound - статья из Adventurer #13