DMA UltraSound Card — различия между версиями

Материал из SpeccyWiki
Перейти к: навигация, поиск
(Технические характеристики)
м (Технические характеристики)
Строка 29: Строка 29:
  
 
== Технические характеристики ==
 
== Технические характеристики ==
*Частота дискретизации: теоретически до 3.5 МГц (не кГц), практически до ~200 КГц
+
*Частота дискретизации: теоретически до 3.5 МГц (не кГц), практически до ~200 кГц
 
*Звуковые каналы: 4 независимых 8-разрядных канала с собственными [[ЦАП]]
 
*Звуковые каналы: 4 независимых 8-разрядных канала с собственными [[ЦАП]]
 
*Управление громкостью: 4 независимых 6-разрядных регулятора громкости, по одному для каждого канала  
 
*Управление громкостью: 4 независимых 6-разрядных регулятора громкости, по одному для каждого канала  

Версия 12:48, 11 июня 2008

DMA Ultrasound Card (часто используется сокращение DMA USC) - звуковая карта для отечественных клонов ZX Spectrum. Разработана Алексеем Иноземцевым и группой Witchcraft Creative Group (Украина, город Дзержинск) в 1999 году. Являлась некоммерческой разработкой, никогда не производилась серийно, предлагалась для самостоятельного повторения. Схема устройства распространялась свободно. Описание и печатная плата публиковались в журнале "Ваш компьютер" №4-6 2000 г. В связи с высокой сложностью устройства (40 микросхем), а также небольшим количеством программного обеспечения, это устройство не получило распространения. Тем не менее, оно стало известным благодаря большому количеству публикаций в различных электронных журналах и газетах для ZX Spectrum (MSD, Echo, Adventurer, Body).

Устройство

В отличии от более популярной звуковой карты General Sound, DMA USC не является отдельной микропроцессорной системой. Она построена на основе контроллера прямого доступа к памяти (DMA) КР1810ВТ37 (отечественный аналог микросхемы i8237) и использует для хранения сэмплов звука основную память компьютера. Микросхема КР1810ВТ37 обеспечивает реализацию четырёх раздельных каналов прямого доступа к памяти, что даёт возможность производить одновременную передачу четырёх потоков данных из памяти в отдельные 8-разрядные ЦАП карты. Скорость пересылки для каждого канала, а значит и скорость проигрывания сэмплов, задаётся с помощью двух программируемых трёхканальных таймеров КР580ВИ53 (i8253). При этом основной процессор компьютера задаёт параметры пересылки, а само воспроизведение звука происходит без его участия. Однако, так как для пересылки используются основные шины адреса и данных, воспроизведение звука замедляет работу компьютера, приостанавливая процессор на время выборки данных. Этот процесс занимает намного меньше времени, чем при полностью программном воспроизведении звука (как, например, с устройством SounDrive), оставляя достаточно ресурсов процессора для выполнения какой-либо программы. Проигрыватель музыки в формате MOD занимает до 15% процентов времени системы при стандартной тактовой частоте (3.5 МГц), что сравнимо со временем, затрачиваемым некоторыми проигрывателями музыки для AY-3-8910.

Помимо воспроизведения звука, карта также предоставляет некоторые дополнительные возможности, недоступные на обычных ZX Spectrum-совместимых компьютерах. Это быстрые блочные пересылки данных внутри памяти компьютера без участия процессора и генерация прерываний процессора с задаваемой программно частотой (в стандартном ZX Spectrum есть прерывание только по началу отображения кадра, с частотой 50 Гц).

Подключение

Подключение DMA USC требует серьёзного вмешательства в схему компьютера, сопряжённого со значительными доработками схемы компьютера. Так как схемотехника различных вариантов отечественных ZX Spectrum - совместимых компьютеров могла значительно отличаться, подключение карты ко многим из них было невозможно без специальных знаний. Инструкция по подключению была разработана только для компьютеров Pentagon с ОЗУ, расширенным до 512 КБ, и KAY-1024. Для нормальной работы карты основное ОЗУ компьютера должно было иметь объём 512 КБ и более. Теоретически карта могла работать и со стандартными 128 КБ, однако это не имело смысла из-за недостаточности такого объёма памяти для хранения программы и звуковых данных.

На компьютерах с турбо-режимом (7 МГц) могли возникать проблемы с нестабильной работой микросхем КР580ВИ53 на повышенной частоте. Для решения проблемы рекомендовалось заменять их на оригинальные i8253, труднодоступные в нашей стране.

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

Адаптация существующего программного обеспечения для DMA USC была заметно сложнее, чем адаптация для General Sound. Требовалось не только добавить команды управления картой, но и разместить звуковые данные и код проигрывателя музыки в памяти компьютера (в General Sound код и данные находились во встроеной памяти карты). Адаптация некоторых программ могла оказаться принципиально невозможной из-за влияния работы карты на временные характеристики компьютера.

Группа разработчиков DMA USC адаптировала для карты некоторое количество программ своими силами. Среди них:

  • Access Player v1.2 - проигрыватель MOD-файлов, поддерживающий работу с дискетами в формате MS-DOS
  • X-Tracker 0.4 - музыкальный редактор, формат MOD
  • Free Speed Utility - утилита для изменения скорости работы компьютера
  • Digital Studio v1.12 - адаптированная версия популярного музыкального редактора
  • ProDigital Editor - адаптированная версия музыкального редактора

А также адаптированные версии игр (только для компьютера Пентагон с 512 КБ ОЗУ):

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

  • Частота дискретизации: теоретически до 3.5 МГц (не кГц), практически до ~200 кГц
  • Звуковые каналы: 4 независимых 8-разрядных канала с собственными ЦАП
  • Управление громкостью: 4 независимых 6-разрядных регулятора громкости, по одному для каждого канала
  • Поддерживаемый объём памяти: до 1 МБ (с возможностью расширения до 16 МБ)
  • Максимальный размер непрерывного сэмпла: 64 КБ
  • Дополнительные возможности:
    • Генерация прерываний для основного процессора компьютера с частотой от 30 Гц до 1.7 МГц
    • Быстрая пересылка блоков памяти, включая межстраничные пересылки
    • Возможность изменения скорости работы компьютера в диапазоне от 50 до 100%

Эмуляция

Из-за малой распространённости устройства и очень небольшого количества программного обеспечения, использующего его возможности, DMA USC в настоящий момент не поддерживается ни одним из эмуляторов ZX Spectrum. Vitamin работает над её эмуляцией.

Ссылки