DMA Ultrasound Card (DMA Ultrasound Card)
DMA Ultrasound Card (часто используется сокращение DMA USC) — звуковая карта для российских клонов бытового компьютера ZX Spectrum. Разработана Алексеем Иноземцевым/Stranger (Украина, город Зугрэс, Донецкая область) и WitchCraft 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). При этом основной процессор компьютера задаёт параметры пересылки, а само воспроизведение звука происходит без его участия. Однако, так как для пересылки используются основные шины адреса и данных, воспроизведение звука замедляет работу компьютера, приостанавливая процессор на время выборки данных. Этот процесс занимает намного меньше времени, чем при полностью программном воспроизведении звука (как, например, с устройством SoundDrive), оставляя достаточно ресурсов процессора для выполнения какой-либо программы. Проигрыватель музыки в формате MOD занимает в среднем 5-15 % процентов времени системы при стандартной тактовой частоте (3.5 МГц), что сравнимо со временем, затрачиваемым некоторыми проигрывателями музыки для AY-3-8910.
Помимо воспроизведения звука, карта также предоставляет некоторые дополнительные возможности, недоступные на обычных ZX Spectrum-совместимых компьютерах. Это быстрые блочные пересылки данных внутри памяти компьютера без участия процессора и генерация прерываний процессора с задаваемой программно частотой (в стандартном ZX Spectrum есть прерывание только по началу отображения кадра, с частотой 50 Гц).
Подключение
[править | править код]Подключение DMA USC требует серьёзного вмешательства в схему компьютера. Будучи подключенной, карта значительно изменяет (расширяет) архитектуру ZX Spectrum. Для обеспечения возможности такого подключения предполагается внесение изменений и выполнение доработок схемы компьютера. Так как схемотехника различных вариантов российских ZX Spectrum-совместимых компьютеров может сильно отличаться, подключение карты ко многим из них невозможно без специальных знаний. Инструкция по подключению была разработана только для компьютеров Пентагон с ОЗУ, расширенным до 512 КБ, и KAY-1024. Для нормальной работы карты основное ОЗУ компьютера должно было иметь объём 512 КБ и более. Карта могла работать и со стандартными 128 КБ, однако это не имело смысла из-за недостаточности такого объёма памяти для хранения программы и звуковых данных. Так средний музыкальный файл в формате MOD превышал 100 КБ, что уже создавало определённые проблемы пользователям ПК с объёмом ОЗУ 128 КБ при желании прослушать такой файл.
У многих спектрумистов, собиравших карту, было желание перевести DMA USC в турбо-режим (7 МГц), что могло увеличить скорость работы операций с блоками памяти (пересылка память-память) в 2 раза, однако в этом случае могли возникать проблемы с нестабильной работой российских микросхем КР580ВИ53 на повышенной частоте. Для решения проблемы рекомендовалось заменять их на оригинальные i8253.
Программное обеспечение
[править | править код]Мнение о том, что адаптация существующего программного обеспечения для DMA USC заметно сложнее, чем адаптация для General Sound, не верно. Для DMA наиболее просто адаптируется ПО написанное для COVOX и Sound Drive, достаточно подменить подпрограмму воспроизведения. В случае же с играми, которые совсем не поддерживали ни 128кб режим, ни музыкальные сопроцессоры — задача озвучивания была вовсе элементарной и сопоставимой с адаптацией для General Sound.
Разработчиком DMA USC (Алексей Иноземцев/Stranger), а также группой Witchcraft Group (Андрей Михальченков/F.r. и Дмитрий Михальченков/Hard) было разработано и адаптировано для карты некоторое количество программ. Среди них:
- Access Player v1.2 — проигрыватель MOD-файлов, поддерживающий работу с дискетами в формате MS-DOS. Автор программы Алексей Иноземцев/Stranger.
- Digital Studio v1.12 — адаптированная версия популярного музыкального редактора. Автор адаптации Алексей Иноземцев/Stranger.
- ProDigital Editor — адаптированная версия музыкального редактора. Автор адаптации Алексей Иноземцев/Stranger.
- Free Speed Utility — утилита для изменения скорости работы компьютера. Автор программы Witchcraft Group.
- Witchcraft Resident Boot Installer — утилита для установки загрузчика дискет, который постоянно находится в памяти компьютера и мгновенно запускается по нажатию кнопки NMI (Немаскируемое прерывание). Автор программы Witchcraft Group.
- X-Tracker 0.4 — музыкальный редактор, формат MOD
- Mixer 1.5 — утилита микширования звуковых эффектов. Автор адаптации Алексей Иноземцев/Stranger.
А также адаптированные версии игр:
- Barbarian 3
- Wacky Darts
- Fist 1
- Dizzy 2
- Rambo 2
- Joe Blade 3
Технические характеристики
[править | править код]- Частота дискретизации: теоретически до 3.5 МГц (не кГц), практически до ~200 кГц
- Звуковые каналы: 4 независимых 8-разрядных канала с собственными ЦАП
- Управление громкостью: 4 независимых 6-разрядных регулятора громкости, по одному для каждого канала
- Поддерживаемый объём памяти: до 1 МБ (с возможностью расширения до 16 МБ)
- Максимальный размер непрерывного семпла: 64 КБ
- Дополнительные возможности:
- Генерация прерываний для основного процессора компьютера с частотой от 30 Гц до 1.7 МГц
- Быстрая пересылка блоков памяти, включая межстраничные пересылки
- Возможность изменения скорости работы компьютера в диапазоне от 50 до 100 %
Эмуляция
[править | править код]Из-за малой распространённости устройства, и очень небольшого количества программного обеспечения, использующего его возможности, DMA USC в настоящий момент не поддерживается ни одним из эмуляторов ZX Spectrum.
Библиография
[править | править код]- «Ваш компьютер» № 4-6 2000 г.
Ссылки
[править | править код]- Witchcraft Creative Group — сайт группы, разработавшей DMA USC.
- DMA UltraSound Card
- DMA USC (недоступная ссылка)
- DMA Ultrasound Card