DMA UltraSound Card

Материал из SpeccyWiki
(перенаправлено с «DMA USC»)
Перейти к: навигация, поиск

DMA Ultrasound Card (часто используется сокращение DMA USC) - звуковая карта для отечественных клонов ZX Spectrum. Разработана Алексеем Иноземцевым и группой Witchcraft Creative Group (Украина, города Дзержинск и Зугрэс Донецкой области) в конце 1990-х годов. Являлась некоммерческой разработкой, никогда не производилась серийно, предлагалась для самостоятельного повторения. Схема устройства распространялась свободно. Описание и печатная плата публиковались в журнале "Ваш компьютер" №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. Адаптация некоторых программ могла оказаться принципиально невозможной из за влияния работы карты на временные характеристики компьютера либо отсутствия свободной памяти для размещения звуковых данных.

Группой Witchcraft Creative Group было разработано и адаптировано для карты несколько программ. Среди них:

  • Access Player v1.2 - проигрыватель MOD-файлов, поддерживающий работу с дискетами в формате MS-DOS
  • Digital Studio v1.12 - адаптированная версия популярного музыкального редактора
  • ProDigital Editor - адаптированная версия музыкального редактора
  • Free Speed Utility - утилита для изменения скорости работы компьютера
  • Witchcraft Resident Boot Installer - утилита для установки загрузчика дискет, который постоянно находится в памяти компьютера и мгновенно запускается по нажатию кнопки NMI (Немаскируемое прерывание
  • X-Tracker 0.4 - музыкальный редактор, формат MOD
  • Sample Mixer 1.5 - утилита микширования звуковых эффектов

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

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

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

Эмуляция

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

Ссылки