# |
|
DIY - Инструкция по сборке DMA Sound Blaster.
DMA Sound Blaster
AlCo
Предположим,что вы не пожалели свой ко-
мпьютер и, вконец искромсав ланцетом (но-
жом, отвёрткой) плату, поставили-таки 384x
x304. Теперь вы с грустью глядите на кучу
проводов,торчащую из совсем недавно краси-
во пропаянной платы,и наверняка ничего хо-
рошего обо мне не думаете.
Но оказывается, это ещё не всё! То, что
вы уже сделали - всего лишь подготовитель-
ная часть к установке чудовищного по воз-
можностям музыкального девайса
Sound Blaster v1.00!
Вкратце опишу, на что же он способен:
- Цифровые звучки на прерываниях (6000 t/
int).Это могут быть,например,вопли раненых
врагов в играх и т.п.;
- Multi-channel music (16 каналов, 8 кГц);
- Цифровая музыка из Digital Studio (3 ка-
нала,16 кГц) или из Ultra Sonic (4 канала,
8 кГц) на прерываниях (45000 t/int). Отсу-
тствие частотных искажений звука.
- MOD'ы с частотой микширования 16 кГц БЕЗ
Turbo. А в Turbo их можно вешать на преры-
вание!
- Проигрывание оцифровок с распаковкой в
Realtime (.mp3???)
Для его сборки вам потребуется:
- 2 шт. 555ИР23 (можно 1533ИР23);
- 2 шт. 572ПА1 или мешок резисторов;
- 2 инвертора (рекомендую DD94).
Теперь схема:
DD38 ИР23 ПА1
┬──┐ ┌──┬─┬──┐ ┌────┐ +5V
│Q0├2──INK0──3┤D0│ │Q0├2───11┤ ├1─┬─>
│Q1├5──INK1──4┤D1│ │Q1├5───10┤ ├14┤
│Q2├6──INK2──7┤D2│ │Q2├6────9┤ ├12┤
│Q3├9──INK3──8┤D3│ │Q3├9────8┤ЦАП ├13┘
│Q4├12─INK4─13┤D4│ │Q4├12───7┤ ├2───┐
│Q5├15─INK5─14┤D5│ │Q5├15───6┤ ├3───┤
│Q6├16─INK6─17┤D6│ │Q6├16───5┤ │ ┴
│Q7├19─INK7─18┤D7│ │Q7├19───4┤ ├15┬───┐
│ │ │__│ │ │ └────┘ │ █
│ │ ┌─ ──oOE│ │ │ KT315│ 6K█
│ │ ┴ ┌──/C │ │ │ ─┴─ █
┴──┘ │ └──┴─┴──┘ 5мкФ │
│ <────╫───┬──┘ ──┤
9/DD6(ЛП5)│ к усилителю█ │
<──────────┘ (смесителю)█200 v
16кГц <────────┤ +5V
┴
Некоторые пояснения: 16 кГц взято не от
балды,а так,чтобы было равно 0,когда элек-
тронный луч рисует слева направо,и 1,когда
он возвращается справа налево. В регистр
считывается крайний правый столбец 384x304
экрана (и правильно,нехрена рисовать там:у
меня,например,отображается только ў336 то-
чек по горизонтали),а точнее,рисунок этого
столбца без атрибутов(атрибуты лучше обну-
лить). Так просто всё будет при включенном
384x304,а для того, чтобы в обычном режиме
звук не считывался с экрана, нужно внести
небольшое добавление в схему Contact 2.03:
BOR in ___
──────────── BOR out
+5v ║──────────────
( <──────)║
┌─┐ ║
┌┤1o----------- A13V (11/D17)
|└─┘вместо GND ──────────────
─┴───────────────
4/D9
Почему я сразу не внёс этот инвертор в
схему 384x304? Во-первых,GND легче найти:)
Во-вторых, так круче: щёлкнул переключате-
лем,и меняется вся картинка (загрузите ис-
ходник LISTER80.H и всё поймёте).
Внимание! Канал, который здесь нарисо-
ван, понимается как ЛЕВЫЙ. ПРАВЫЙ канал -
ещё один регистр и ЦАП, причём на вход /C
этого второго регистра подаётся тот же 16
кГц,только инвертированный.
В остальном скажу вот что:схема Contact
+SB больше меняться не будет,за исключени-
ем одного маленького момента:вместо GND на
сигнал OE^ регистра лучше подать какой-ни-
будь разряд порта #EFF7 (если они ещё не
все заняты). Я,к сожалению,не знаю станда-
ртного (на данный момент) назначения битов
этого порта. Если кто знает,plz,скажите.(И
не забудьте выделить битик под SB!)
Программирование SB.
Итак, если вы ещё не знаете, адреса та-
кие (левый канал,режим 256x192,0-й экран):
С начала прерывания...
- Первые 16 байт считываются из #F8CF 4-й
странички ОЗУ согласно строения экрана;
- Следующие 64 - с адреса #C00F той же 4-й
стр. согласно строения экрана (DOWN HL);
- Следующие 192 - с адреса #600F;
- И, наконец,последние 48 - с адреса #F80F
4-й странички ОЗУ.
Для режима 384x304 всё аналогично,толь-
ко все адреса на #2000 меньше.
Для правого канала ко всем адресам надо
прибавить 8.
Если кто скажет, что адреса неудобные,
то может сразу выйти из этой статьи.Адреса
именно такие, какие есть,поскольку на ско-
рость работы программ это НЕ ВЛИЯЕТ.
Программу, которая довольно резво (6000
t) играет сэмпл в эти адреса,вы можете по-
заимствовать всё из того же LISTER80.H.
Плейер для цифровой музыки строится так
(к примеру,возьмём 3 канала с громкостью):
Для каждого из 3 каналов:
OUT (32765),page
LD D,'MIX3CHN
LD LX,16
BEGIN LD C,D
ADD A,B ┐
ADC HL,SP ├ 20 раз
LD E,... │
LDI ┘
EX AF,AF';a'='endinst
CP H
JR NZ,$+4
LD H,beginst
EX AF,AF'
INC D
DEC LX
JP NZ,BEGIN
(около 43 t/байт)
И для смесителя каналов:
OUT (32765),20
MIX3CHN
LD DE,... ┐ ┐
LD C,... ┐ │ │
LD A,(BC) │ │ │
LD L,... │ 11b│ 46b│ 256b
ADD A,(HL) ├ x4 ├ x5 │ x16
ADD A,(IX+...)│ ── │ ── ├ ───
LD (DE),A │ 44b│230b│ 4k
=> INC D ┘ -1 │ │
┘ │
JP $+26 │
DS 23 ┘
(около 60 t/байт)
P.S. Днесь читал про DMA UltraSound. Чува-
ки! 20 микросхем - это же полплаты компью-
тера! Разве Speccy для того придуман прос-
тым, чтобы на него вешали такие чудовищные
девайсы?
P.P.S. И ещё: решающим для многих аргумен-
том против DMA UltraSound будет тот факт,
что во время его работы нельзя использо-
вать MultiColor и бордерные эффекты!
Похожие статьи:
В этот день... 21 ноября