#
  Железо  

DIY - Инструкция по сборке DMA Sound Blaster.

<b>DIY</b> - Инструкция по сборке 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 и бордерные эффекты!


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
scene more! - Minsk e-paper scene.
Про это - разборки Ковровских спектрумистов.
Интервью - Интервью с Вячеславом Медноноговым (Copper Feet).
How it was in Leningrad - Year 1988. First computers
Coding - Процедура "Плавающие атрибуты".

В этот день...   21 ноября