Faultless #03
31 декабря 1995

 ╔══════════════════════════════════════╗
  ║Раздел:Открытие;                      ║
  ║Статья:Програмирование AY 3-8910;     ║
  ║Текст :Ворожкин Александр.            ║
  ╚══════════════════════════════════════╝


   В этом разделе я расскажу вам о програ-
  ммировании  музыкального  процессора.Для
  управления  муз.процессором имеются  два
  порта  с  адресом  #FFFD - адрес  выбора
  регистра и с адресом #BFFD - адрес порта
  для  чтения.Музыкальный  процессор имеет
  16-ть восьмиразрядных регистров,пронуме-
  рованных от R0 до R15.Для того чтобы за-
  писать данные в какой-либо из регистров,
  нужно проделать следующие операции:

   LD BC,#FFFD    ;Адрес порта выбора ре-
                   гистра
   LD A,N         ;Номер регистра
   OUT (C),A      ;Выбор регистра
   LD B,#BF       ;Адрес для выбора данных
                   (C = #FD)
   LD A,N         ;Данные
   OUT (C),A      ;Запись данных в регистр

   Теперь я  хотел бы вам  подробно объяс-
  нить назначение всех регистров:

   R0 - R5        ;Образуют  три  пары для
                   задания  высоты  звука.
                   Для каждого из трех ка-
                   налов: R0,R1 - канал A;
                   R2,R3 - канал B;R4,R5 -
                   канал  C.В  этих  парах
                   используется  только 12
                   бит,таким образом число
                   определяющее высоту
                   звука лежит в  пределах
                   от 0 до 4095.
 
   R6             ;Задает  частоту  белого
                   шума.Для  задания  шума
                   используется  младшие
                   6-ть бит от 0 до 5.
   R7             ;Управляет смесителем
                   каналов.Младшие три би-
                   та   используются   для
                   управления выводом чис-
                   того  тона для  каждого
                   из  трех   каналов.Биты
                   3,4,5  используются для
                   управления выводом час-
                   тоты   шума.Биты  6 и 7
                   запрещение функций вво-
                   да.

   R8 - R10       ;Управляют амплитудой
                   звука  соответственно в
                   каналах A,B,C.Громкость
                   лежит  в  пределах от 0
                   до 15 то есть использу-
                   ются младшие 4 бита.

   R11 - R12      ;Образуют  пару и задают
                   скорость  огибающей.Ис-
                   пользуются  все  16 бит
                   этих   регистров.В  них
                   можно записывать значе-
                   ние  от  0 до 65535.Чем
                   больше число,тем больше
                   скорость изменения оги-
                   бающей.
   R13            ;Генератор огибающей.Ис-
                   пользуется   младшие  4
                   бита: бит 0 - задержка;
                   бит 1 - чередование;
                   бит 2 - атака; бит 3 -
                   продолжение.
   R14 - R15      ;При программировании на
                   звучание не  влияют.Ис-
                   пользуются для управле-
                   ния шиной данных и пор-
                   тами ввода/вывода.

   Также с помощью муз.процессора возможно
  воспроизведение цифрового звука.Для вос-
  произведения используются 4-х битные ре-
  гистры амплитуды звука, от R8 до R10.Для
  примера мы даем программу  воспроизведе-
  ния цифровок:
   DI
   LD HL,Адрес
   LD DE,Длина
   LD BC,#FFFD
   LD A,Канал     ;8 - A,9 - B,10 - C
   OUT (C),A
   LD B,#BF       ;_OUT1
   LD A,(HL)
   OUT (C),A
   LD B,Задержка  ;от 1 до 255
   DJNZ $
   INC HL
   DEC DE
   LD A,D
   OR E
   JR NZ,_OUT1
   EI
   RET
   Я думаю,что пояснения для этого примера
  не потребуются.
   AY способен  воспроизводить  только 4-х
  битный звук.Для более качественного вос-
  произведения используются  такие устрой-
  ства, как COVOX,SOUNDRIVE,ULTRAVOX.



Other articles:


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

Similar articles:

В этот день...   28 April