|
SHEPPARD |
|
POPOV |
|
KENDALL |
|
O'NEALLY |
|
|
|
|
|
Soundblaster своими руками
=============================
Генри Шеппард
У вас есть деньги, чтобы купить все, что душе угодно, и нет никакой необходимости идти на компромисс. Все под контролем, но… Покой нам только снится. Наш суперпрактикум адресован всем, кто готов поработать руками и головой, чтобы в конечном итоге изобрести велосипед.
На заре компьютерной эры основной движущей силой прогресса была стесненность в средствах, точнее дороговизна компьютерных плат. Разнесчастная восьмибитная моно(!) звуковая карта от ESS могла с легкой хрипотцой прокаркать голосом ментата из Dune2 или на худой конец пошлепать огненными шарами из Doom2, правда, с жутким скрежетом. При этом подобное сомнительное удовольствие оценивалось в 300-400 долларов. Умельцы вспоминали азы радиоэлектроники и вооружались паяльниками, писали всевозможные драйвера для своих устройств и успешно конкурировали с Crеative и ESS.
Сейчас вполне приличные карты от ESS стоят в 100 раз дешевле, а звучат во столько же раз качественнее. Романтика былого времени уже забыта, однако наработки пионеров компьютерной индустрии до сих пор могут приносить пользу. Самый известный и распространенный перл того времени - COVOX. В простейшем варианте он представлял собою россыпь из десятка резисторов, одного конденсатора и разъема LPT-порта, а позволял выводить звук с качеством не хуже звуковых карт того времени. Небольшая доводка "драйвера" или программы, с которой он работал, превращала его в универсальный цифроаналоговый преобразователь. Его можно было превратить в устройство, управляемое программно любым аналоговым прибором.
В свое время мой COVOX с успехом орал по утрам, включал телевизор и даже использовался для записи данных на аудиокассету. Правда, последний фокус реализуется немного сложнее, так как необходим и обратный, аналого-цифровой, преобразователь, который, к счастью, можно совместить в одном устройстве вместе с классическим COVOX.
Первый рыцарь паяльника и канифоли, который додумался до создания этого шедевра, просто обратил внимание на разводку LPT-порта:
N Направление Сигнал
1 Выход Data Strobe
2 Выход Data 0
3 Выход Data 1
4 Выход Data 2
5 Выход Data 3
6 Выход Data 4
7 Выход Data 5
8 Выход Data 6
9 Выход Data 7
10 Вход Acknowledge
11 Вход Busy
12 Вход Paper Out
13 Вход Select
14 Выход Auto feed
15 Вход Error
16 Выход Init
17 Выход Select Input
18-25 Ground
Восемь выходов порта, отвечающих за данные, позволяют передавать одновременно байт информации, то есть могут шифровать одно из 256 возможных значений. Самая простая и очевидная схема легко объясняет принцип работы устройства. Нужно только заметить, что контакты LPT-порта под номерами с 18 по 25 заземлены на корпус, поэтому можно использовать любой из них, разницы абсолютно никакой. Соедините 9 резисторов по 360 Ом и 9 по 160 Ом по следующей схеме:
Из схемы ясно, что самый младший бит (контакт 2) меньше всех влияет на выходной сигнал, так как ему приходится "прорвываться" через цепочку из девяти сопротивлений по 180 Ом. Следующий бит (контакт 3) "достигает" выхода всего через восемь сопротивлений, и т.д. В итоге все восемь контактов реализуют схему перевода восьми бит данных в 256-уровневый сигнал по классической схеме преобразования двоичного восьмизначного числа в "256-ричное" число. Конденсаторы в схеме играют роль развязки, но на вывод звука никак не влияют (некоторые рисковые пользователи их вообще не используют). Теоретически для резисторов подойдут любые номиналы, главное - соблюдение отношения 2:1, но не стоит и перебарщивать, так как слишком большие значения приведут к очень низкому выходному сигналу.
Такая схема отличается не только простотой, но и отвратительным звучанием. Если верхние тона вполне претендуют на звание звука, то басы больше похожи на скрежет. Небольшая доводка схемы качественно повышает избирательность звука, правда, за счет уровня сигнала:
Эта переделка довела качество вывода до уровня самых дешевых звуковых карт. Очень рекомендую. Однако эти обе схемы могут подойти только к пассивным или несложным активным колонкам за $5-10.
Более качественная "нессиметричная" схема ослабляет нижние биты, с помощью которых шифруются в основном треск и свисты, но от этого теряется четкость музыкальных семплов. Могу порекомендовать только побаловаться умножающими индексами младших четырех битов (т.е. контактов со 2 по 5ый), слегка уменьшив их по сравнению с приведенными на схеме значениями. R можно считать равным 180 Ом:
Внешний вид устройства весьма непритязателен, но ему легко можно придать вполне респектабельную внешность, если впихнуть всю схему в корпус LPT-разъема.
Все предыдущие выкладки могут показаться довольно оторванными от жизни, так как может просто не возникнуть желания попробовать самому собрать эту жалкую железку. Но это-то как раз самое интересное!
1. Деньги и мусорная куча.
Нужно найти в себе силы и добраться до радиорынка. Это не так уж и сложно. Трудности начнутся позже. Мой собственный опыт заключается в том, что мне пришлось оббегать весь рынок, чтобы найти самые обыкновенные резисторы. Если раньше я просто не интересовался сотовыми телефонами и игнорировал их существовние, то теперь я их НЕНАВИЖУ! Технический прогресс дошел до того, что железячники старой закалки, которые продают радиодетали, не хотят возиться с резисторами. Их просто не продают, хотя невозможно себе представить радиосхему без них. Сплошные микросхемы, реле, диоды и прочие достаточно дорогие детали - вот и все, что осталось от некогда огромной армии спекулянтов. Деды-старьевщики продают материнские платы от Pentium или даже современные КПК вроде Cassiopeia E115! И на каждом шагу прямо на ухо орут: "Сотовые телефоны! Покупка! Продажа!".
Однако через полчаса беготни я нашел островок здравого смысла, где у толстого и ленивого мужика, похожего на завсегдатая советской рюмочной, смог купить все необходимое. Чтобы не пришлось опрашивать каждого лоточника, ориентируйтесь на столы с огромным количеством "шкафчиков" из склеенных спичечных коробков, в которых и хранятся расфасованные мелкие детали. Мужик оказался не промах, и за горсть слабомощных резисторов заломил цену втридорога. Ну это неважно, так как каждлое сопротивление обошлось всего по одному рублю. Конденсаторы тоже обошлись по рублю, хотя видно было, что мужик заметил, что я успел набегаться в поисках и готов заплатить сколько скажут. Ну да черт с ним, пусть будет ему лишнее пиво. (фото)
Остальные детали и материалы нашлись быстро, хотя пришлось повозиться с текстолитовой пластиной (фото). Я купил за десятку одну такую пластину, покрытую с одной стороны медью. Чтобы в дальнейшем превратить ее в почти печатную плату без кропотливого выведения дорожек и вытравливания, пришлось дополнительно приобрести обычное полотно для ножовки по металлу и пару квадратных дециметров шкурки-"нулевки" или "единицы". Моток изолированного провода тоже чуть было не стал проблемой, но я даже не стал заниматься поисками, а подобрал из кучи рядом с палаткой с сетевым оборудованием метровый обрезок восьмижильного UTP-кабеля (фото). Я не бомж и не клептоман, просто с проводами из этого обрезка не сравнится даже самозачищающийся провод с золотым покрытием. Последим приобретением стал в принципе необязательный LPT-разъем, но меня не очень привлекала перспектива засовывать проводки в LPT-"маму" компьютера. (фото)
Паяльник, припой и канифоль... Все это у меня и так есть (коллекционирую паяльники), но для имитации печатной платы потребуется мягкая канифоль. На всякий случай я купил еще баночку, выбирая саму канифоль по цвету и прозрачности - она должна напоминать оранжевое цветное стекло.
2. Пиво и суррогаты.
Приступаем к святая-святых: пайке. Самая ленивая нация на свете, ирландцы, изобрели самый ленивый способ пайки, который они использовали даже при производстве телевизоров более полувека назад. Но этот способ очень надежен и позволяет собирать любые несложные схемы без разводки дорожек.
Берем текстолитовую пластину и пару раз проходимся по ней шкуркой, чтобы снять слой мутного оксида с поверхности. Затем разрисовываем ее как тетрадочный лист в клеточку. По линиям начинаем делать пропилы ножовкой или просто полотном (достаточно небольшого усилия), на котором для удобства можно создать подобие рукоятки из нескольких слоев изоленты. В результате получим пластину с почти аккуратными квадратными полями проводника. Теперь эти поля нужно залудить, и вот тут-то снова приходится вспоминать наследие лентяев. Считается, что первый лудильщик просто пролил крепкое пиво в раскаленный железный чан, в котором плавил олово, в результате чего образовалась тонкая, но прочная пленка олова на металле чана. Зачем это лирическое отступление? Все просто: попробуйте как обычно обмакнуть паяльник в припой и канифоль и попробовать залудить медные квадраты на текстолите. Результат будет более чем неубедительным!
А теперь нагло вставим паяльник в кусок канифоли прямо над пластиной и равномерно начнем капать расплавленной канифолью на медь. Жалеть не стоит, так как чем больше, тем лучше. Примерно так же поступаем и с припоем: в то время как жало паяльника размазывает канифоль по медному квадратику дотронуться кончиком припоя-проволоки до кончика жала. Припой моментально растечется по квадратику, при этом за его пределы выбраться не сможет. Припой жалеть не стоит, пусть лучше образуется выпуклая поверхность - большое количество припоя облегчит монтаж деталей и увеличит прочность пайки. Дополнительный плюс "ленивого" метода - избыток канифоли. Лишний раз смачивать жало паяльника не придется.
Теперь залуживаем ножки резисторов и конденсаторов. Нужно не затягивать этот процесс, так как детали очень маленькие и моментально нагреваются. Более пяти секунд непрерывного нагрева резистора нежелательны. Если первый раз залудить не получилось, лучше дать детали 3-5 секунд остыть и повторить попытку.
На фотографии изображен монтаж простейшей некомпенсированной схемы COVOX. Как видите, "ленивая" пластина позволяет расположить детали практически так же, как они располагаются на принципиальной схеме. Удобно, изящно и просто.
Остается только припаять провода к контактам 2-9 и 19 LPT-порта и испытать получившееся устройство.
3. Марш медведей по ушам.
Собранная на фотографиях схема не может обеспечить качественного вывода звука, но все же способна продемонстрировать, что горстка резисторов может тягаться с монстрами вроде Aureal, как дед-ветеран с накачанным внуком-рекетиром. Подключать COVOX к LPT можно не выключая компьютер, правда, если схема собрана правильно. Если вы будете подключать колонки к нашей "звуковой карте" после подключения к LPT, то можете быть уверены, что порт вы не сожжете.
Чтобы не возиться с программированием и возней с настройками, создайте загрузочную дискету, скопируйте на нее himem.sys, mouse.com и все файлы из архива ft2.zip (этот классический архив нетрудно найти в Сети), пропишите в config.sys строку:
device=himem.sys
а в autoexec.bat добавьте:
mouse.com
ft2
и загрузитесь с нее.
Перед вам появится панель старого, но до сих пор мощного редактора FastTracker. В центральной части найдите в меню пункт Disk Options (Disk Op.), загрузите любой трек, войдите в пункт Options и проверьте, что из списка устройств вывода выбран SoundXXX, а в поле SoundXXX - LPT-порт, к которому вы подключили COVOX (обычно это первый порт). Теперь выходите из настроек, жмите на верхнюю кнопку Play song и наслаждайтесь!
Эта схема кроме музыки генерирует всевозможные шумы и хрипы, но все-таки качество звука выше, чем даже у музыки, которая обычно звучит в телефонной трубке, когда вы звоните в какой-нибудь офис и секретарь переключает вас на нужного человека. Для самодельного устройства, на создание которого потребовалось около 40 минут, это очень неплохой результат. Небольшие дополнения и исправления схемы доводят качество звука почти до уровня самых дешевых звуковых карт. Внимательный читатель наверняка заметил, что в FastTracker кроме LPT1 и LPT2 существует опция LPT1+LPT2, которая позволяет при помощи двух идентичных COVOX'ов реализовать стереовывод.
Программы.
Как всегда в любой ситуации есть два пути - ленивый и не очень. Ленивый способ заставить звучать наш "нищий SoundBlaster" - воспользоваться редакторами семейства FastTracker (SMTraker, ModTracker), которые предназначены для создания и проигрывания форматов MOD, STM и S3M. Так как эти программы создавались во времена расцвета COVOXа, то они не только умеют с ним работать, но и делают это виртуозно. Эти форматы до сих пор живы, а FastTracker в Сети встречается чуть ли не на каждом шагу.
Чтобы превратить наше чадо в универсальное устройство можно попробовать воспользоваться специальным драйвером, который перенаправляет весь вывод на звуковую карту на LPT-порт, что превращает COVOX в полноценный "бластер-заменитель". Один из таких драйверов можете скачать c сайта Open Music по адресу http://www.openmusic.ru/_/covox/sb_emul.arj
С точки зрения программиста тоже все не так сложно, как могло бы показаться. Здесь приведен пример программы для DOS-версии Pascal, выбранный из-за простоты, наглядности и отсутствия огромного количества подготовительных строк кода. Человек, хоть пару раз пробовавщий писать программы для Windows, без труда переведет предлагаемый листинг в необходимый вид.
program tst;
{просто заголовок}
uses crt;
{необходимая библиотека}
var
f : file;
{открываемый WAV-файл}
b : array [1..64500] of byte;
{размер звукового файла не превышает 64Кбайт, но это ограничение нужно только для простоты написания программы под DOS}
i : word;
i1: word;
t : byte;
b1: byte;
{просто счетчики}
covox: word;
{переменная, которая "решает" что будет использоваться для вывода, COVOX или PC Speaker}
c : string[2];
{строка с номером порта}
spd : word;
{служебная переменная}
begin
if paramcount = 0 then
{если программа запущена без параметров, то...}
begin
writeln('Тестовая программа для проигрывания *.WAV (Windows) файлов.');
writeln;
writeln('Использование:');
writeln(' TST <имя .WAV файла> [C#]');
writeln;
writeln(' где C# - номер порта с установленным Covox.');
writeln;
writeln('Если параметр C# не указан, будет использован PC Speaker.');
halt;
{...выводим инструкцию по использованию и завершаем работу}
end;
if (paramcount >= 2) and ((copy(paramstr(2),1,1) = 'C') or (copy(paramstr(2),1,1) = 'c')) then
{перевод: если параметров 2 или больше и первая буква второго параметра C или с, то...}
begin
c:=copy(paramstr(2),2,1);
{считываем символ после C во втором параметре}
if c[1] in ['1'..'4'] then
{если считанный символ равен 1, 2, 3 или 4, то...}
begin
covox:=memw[0:$408+((byte(c[1]) and $f)-1)*2];
{вычисляем физический адрес порта, по стандартной формуле}
{желающим разобраться в ней подскажу:
byte(c[1]) - первый символ, который равен 1, 2, 3 или 4 переводим в число,
потом производим операцию AND с шестнадцатиричным F (в Pascal принята запись $F или $f)
и получившееся смещение ((byte(c[1]) and $f)-1)*2 добавляем к физическому адресу 0:$408}
end
else
{если считанный символ НЕ равен 1, 2, 3 или 4, то...}
writeln;
writeln('Параметры неверны.');
halt;
{отмечаем, что COVOX использоваться не будет}
end
else
{если параметров недостаточно, то...}
writeln;
writeln('Недостаточно параметров.');
halt;
end;
sound(20000); nosound;
{необязательная "подготовка" звука}
t:=port[$61];
{запоминаем значение рабочего порта}
assign(f,paramstr(1));
{$I+}
reset(f,1);
blockread(f,b,64500,i);
close(f);
{$I-}
{предыдущий код просто считывает .WAV файл в таблицу, занося количество считанных байт в i,
при этом проверяя наличие считываемого файла при помощи ключа I+ - это просто "ленивое"
перекладывание функций программы на компилятор, вообще же по-хорошему
нужно было написать процедуру для проверки наличия файла}
{дальнейший код не для слабонервных, зато его можно практически без изменений
переносить в любые версии Pascal выше 6.0 и с минимальными изменениями - в C++.
Все отличия будт заключаться в способах записи шестнадцатеричных чисел, знака присвоения
и некоторых математических операторов}
spd:=b[25]+(word(b[26]) shl 8);
{по 25ому и 26ому байтам файла вычисляем размер звуковых данных в байтах}
spd:=$fffffff div longint(spd);
spd:=spd shr 7;
port[$43]:=0;
{начинаем побайтово воспроизводить в звуковой файл в LPT-порт}
for i1:=44 to i do
asm
lea bx,b
mov dx,covox
add bx,i1
dec bx
mov al,[bx]
out dx,al
in al,40h
xchg al,ah
in al,40h
xchg al,ah
mov dx,ax
@m1:
xor al,al
out 43h,al
in al,40h
xchg al,ah
in al,40h
xchg al,ah
push dx
sub dx,ax
cmp dx,spd
pop dx
jb @m1
end;
port[$61]:=t;
{восстанавливаем значение порта}
end.
Эта короткая программа легко адаптируется для решения самых разных задач, точнее из нее несложно сделать процедуру для вывода любого цифрового звука (не MIDI, естественно) на COVOX.
|
|
|
|
|
|
|
|
|
|
|
ДРОИД-ШПИОН - контрольный запуск |
ИМПУЛЬСНАЯ ВИНТОВКА - в тесте |
УРАН НА ЛУНЕ - тесты завершены |
|
СУПЕРСИЛА ДЛЯ ДИСТРОФИКА: |
Подавляющее число людей не отличается не то чтобы атлетическим телосложением, но и вообще не обладают сколько-нибудь заметной физической силой, чтобы противостоять, скажем, трем противникам одновременно. А так хочется посрамить постановочные трюки Джеки Чана!
|
|
ДВИГАЙ МЫСЛЬЮ, А НЕ ЗАДНИЦЕЙ!: |
И пока Москву заполоняли крысы размером с ротвейлера, а старых дев похищали гости с Альфа Центавры, на тему телекинеза отчаянно измывался даже беззубый Ералаш. Классика жанра: школьник легко мог двигать дневник "силой мысли" до тех пор, пока злобная училка не пригвоздила его жирной увесистой двойкой по физике... за что предадим анафеме старую школьную мегеру и докажем, что этой дуре самой было бы неплохо подучить физику.
|
|
Киборги! Вот чего нам необходимо опасаться. Они будут лучше нас, людей, во много раз. Умнее, с лучшей памятью, со встроенными телефонами, модемами, фото- и видеоаппаратами и прочей дребеденью, которую мы сейчас таскаем на себе как вьючные животные.
Очевидно, что Врага нужно изучить, тем более что существуют прототипы. Пока слабые и неопасные, но многообещающие уже в недалеком будущем.
|
|
"Тяжелая физика", которая связана в первую очередь с легкими частицами, как правило вызывает отнюдь не легкую оторопь у новичка. Загадочные названия, неудобоваримые правила сведения формул и совершенно ненормальные прилагательные сбивают с толку даже самых стойких. Последний фактор, кажется, пугает больше всего: описывать очередную частицу как "красивую", "очаровательную" или "очарованную" - выше понимания среднестатистического человека.
Нас же интересует практическое применение радиации. Вы не "очитались": на самом деле радиация страшна только в газетных заметках или на территории ядерных полигонов, где она заботливо культивируется.
|
|
Обычно псевдонаучный термин "пивная акустика" используется работниками приличных баров и ресторанов, когда они выводят слегка перебравших посетителей с завышенным самомнением. Вопли класса "я свои права знаю!" или "уберите ваши грязные лапы!" отличаются неприятными амплитудно-частотными характеристиками и очень мешают окружающим, поэтому охрана старается как можно быстрее вывести такие источники звуковых волн на свежий воздух. Не правда ли, неприятная, но вполне обычная ситуация?
Но каждая идиома с переносным смыслом может быть расшифрована самым грубым и прямым способом. Впервые мне пришлось наблюдать этот подход в Кардиффском клубе ветеранов. Какой-то ненормальный коллекционер в пивном угаре подарил клубу шестифунтовую противотанковую пушку - это изящное канадское страшилище гордо стоит напротив барной стойки. Гильзы снарядов к пушке достаточно тяжелы и требуют аж двух человек обслуги, но сам снаряд удивительно точно повторяет очертания современной пивной банки.
|
|
Достаточно иметь голову на плечах и руки с десятком-другим пальцев, чтобы оценить все прелести старой техники. Списанная рухлядь имела пару неоспоримых преимуществ по сравнению с современными монстрами: она была простой и имела практически полностью открытый интерфейс. Старым хламом можно было управлять через драйвера, а можно и вручную через набор портов и регистров. А вот попробуйте молотком и кусачками разворотить корпус вашего нового мобильника, извлечь из него встроенную фотокамеру, а потом попытаться прикрутить ее к USB-порту! Даже инженеры, которые создавали этот шедевр миниатюризации, обреченно покрутят пальцем у виска горемыки, прогоревшего на попытке проделать этот фокус. Ни пользы, ни финансовой составляющей в этой операции не усматривается.
|
|
Очевидно, что оборона - удел лузеров. Однако я редко встречал авторов, которые прислушивались к этой прописной истине. Всевозможные поделки в журналах вроде Радио, РадиоАматор или в дурацком Хакер сводятся исключительно к пассивным методам шпионажа - украсть пароль, отсниффить поток данных и т.д. Скучно.
Ну раз все так тускло на российском железном небосклоне, придется поделиться сакральным знанием, как самостоятельно заняться прямой агрессивной пропагандой, благо теперь это модно в "узколиберальных" кругах. Так как политические пристрастия нашей команды колеблются в диапазоне от утопизма Мора до тотального протекционизма, то идею мы дарим всем.
Первые опыты прошли успешно, теперь мы решаем, на чем сосредоточить свои усилия: на радио или ТВ. Первый вариант отличается простотой, но второй, очевидно, более интересен читателю ;)
|
|
Веб-сервер, который работает при помощи необычного источника питания - двух картофелин, 20 таблеток аскорбиновой кислоты и 50ти копеек, разменянных на однокопеечные монеты... Поверить в это трудно, ведь очевидно, что такой источник обладает крайне низкой "мощностью".
Но наш сервер использует в качестве "базы" старую плату с 286-ым процессором, 2Мб памяти и немного модифицированный веб-сервер BoA под управлением MsDOS. Плата пережила небольшую хирургическую операцию по удалению всех лишних и энергоемких деталей, плата MIO использует 8-мибитную шину, а вся информация расположена в оперативной памяти сервера. Даже сигнальные светодиоды сетевой платы перекусаны, чтобы зря не светились! ;)
Это необычное устройство будет подробно описано на страницах январского номера ПЛ-Компьтеры. В связи с новогодними праздниками, которые наверняка затянутся примерно до 15 января, у нас есть возможность поддерживать эти сервер и сайт в рабочем состоянии в свободное от безделья время.
|
|
Знакомый психолог однажды заметил, что каждому человеку присущ садизм. У одних это проявляется в виде рыка на подчиненных, у других - промывании мозгов родственникам. Даже самые тишайшие и скромнейшие очкарики в снах разрывают на части своих врагов изощреннейшими методами. Но это слишком примитивные и неэстетичные способы удовлетворить маленький зуд разрушения. Ломать и портить нужно с пользой для дела и желательно с материальными следами.
Выше я уже упоминал, что разгон современного процессора не является особенной доблестью. Это скорее пограничный тюнинг, не более. Посрамить современные процессоры эти достижения не могут ни под каким видом. Нужно что-то особенное! Представьте себе космический межзвездный корабль, собранный на базе Жигули! Вот это уже действительно серьезная заявка на суперхит.
На этот раз мы беремся разогнать процессор более чем в 10 раз (десять!!!) при помощи подручных материалов безо всяких жидких азотов и прочей "кулхацкерской" атрибутики.
|
|
|
|
|
На заре компьютерной эры основной движущей силой прогресса была стесненность в средствах, точнее дороговизна компьютерных плат. Разнесчастная восьмибитная моно(!) звуковая карта от ESS могла с легкой хрипотцой прокаркать голосом ментата из Dune2 или на худой конец пошлепать огненными шарами из Doom2, правда, с жутким скрежетом. При этом подобное сомнительное удовольствие оценивалось в 300-400 долларов. Умельцы вспоминали азы радиоэлектроники и вооружались паяльниками, писали всевозможные драйвера для своих устройств и успешно конкурировали с Crеative и ESS.
Сейчас вполне приличные карты от ESS стоят в 100 раз дешевле, а звучат во столько же раз качественнее. Романтика былого времени уже забыта, однако наработки пионеров компьютерной индустрии до сих пор могут приносить пользу. Самый известный и распространенный перл того времени - COVOX. В простейшем варианте он представлял собою россыпь из десятка резисторов, одного конденсатора и разъема LPT-порта, а позволял выводить звук с качеством не хуже звуковых карт того времени. Небольшая доводка "драйвера" или программы, с которой он работал, превращала его в универсальный цифроаналоговый преобразователь. Его можно было превратить в устройство, управляемое программно любым аналоговым прибором.
|
|
|
|