ZX Pilot #42
09 декабря 2005

Coding - как использовать компьютер для борьбы с комарами (программа отпугивающая комаров).

               C O D I N G

──────────────────────────────────────────

(С) Иван Рощин


          Скажи вампирам "Нет"!
          ═════════════════════

        Вентилятор нужен, чтобы засасывать
                   комаров через дисковод.

                        Народная мудрость.

   Да-да, речь пойдет именно  о  том,  как
использовать компьютер для борьбы с  этими
кровососущими тварями, - правда, не  таким
жестоким  способом,  как  в  эпиграфе.  :)
Прочитал я недавно интересную заметку  [1]
о том, как одна  музыкальная  радиостанция
добавляет  в  свои   трансляции   звуковой
сигнал,    отпугивающий    комаров.    Там
упоминалось,  что  частота  этого  сигнала
12,3   КГц.   И   я   решил    попробовать
сформировать  подобный  сигнал  с  помощью
своего ZX Spectrum.
   Вот первый  вариант  процедуры:  сигнал
воспроизводится через встроенный динамик.

;При тактовой частоте процессора  3,5  МГц
;один период составит  ;3,5*10^6/12,3*10^3
;~= 285 тактов (точное ;значение  284,55).
;Пусть      продолжительность       одного
;полупериода будет 142 такта, ;а другого -
;143.

     DI

M1   LD   B,8     ;7          ┐
     DJNZ $       ;7*13+8=99  │
     INC  HL      ;6          ├ 130+12=142
     LD   A,16    ;7          │
     OUT  (254),A ;11         ┘

     LD   B,9     ;7          ┐
     DJNZ $       ;8*13+8=112 │
     INC  HL      ;6          ├ 143
     LD   A,0     ;7          │
     OUT  (254),A ;11         ┘

     JR   M1      ;12

   А вот второй вариант: для  формирования
сигнала      используется      музыкальный
сопроцессор.

CHAN EQU  0  ;Исполь. канал:0-A, 1-B, 2-C.
VOL  EQU  15 ;Громкость (0-15).

     LD   HL,#FFBF
     LD   C,#FD

;При тактовой  частоте  сопроцессора  1,75
;Мгц значение делителя частоты тона должно
;быть равным 1,75*10^6/(12,3*10^3*16) ~= 9
;(точное значение  8,89).  Выводим  его  в
;регистры частоты тона:

     LD   B,H
     LD   A,CHAN*2
     OUT  (C),A
     LD   B,L
     LD   A,9
     OUT  (C),A

     LD   B,H
     LD   A,CHAN*2+1
     OUT  (C),A
     LD   B,L
     XOR  A
     OUT  (C),A

;Включаем вывод частоты тона:

     LD   B,H
     LD   A,7
     OUT  (C),A
     LD   B,L
     LD   A,#FF
     RES  CHAN,A
     OUT  (C),A

;Установка громкости:

     LD   B,H
     LD   A,8+CHAN
     OUT  (C),A
     LD   B,L
     LD   A,VOL
     OUT  (C),A

     RET

   Так   как    музыкальный    сопроцессор
работает    независимо    от     основного
процессора, то,  выполнив  эту  процедуру,
можно в дальнейшем работать с программами,
не обращающимися к сопроцессору, и звук не
будет прерван.
   Обе    процедуры    формируют    сигнал
простейшей прямоугольной формы.  Но  форма
оригинального сигнала много  сложнее:  как
упоминается в [1],  он  занимает  1  Мб  в
формате  Real  Audio.   Поэтому   полезный
эффект  от  использования  этих   процедур
может оказаться ниже ожидаемого. Интересно
было бы, если бы кто-то  поделился  своими
результатами: помогает или нет?


Fido  : 2:5020/689.53
ZXNet : 500:95/462.53
E-mail: asder_ffc@softhome.net
WWW   : http://www.ivr.da.ru



Другие статьи номера:

Credits - создатели газеты.

Новости - выход газеты это уже новость.

Наш гость - мемуары спектрумиста из Дзержинска - Nuts.

О разном - Мысли Nuts о системном софте для спектрума.

О разном - Arhon рассуждает о причинах увядания геймдева на Спектруме.

Тема - одно из последних открытых писем Nemo (ответ SirX'у).

Тему - Достоин ли NEMO уважения? Да кто такой этот NEMO?

Тема - Nemo просто обыкновенный хам, не уважающий никого!!! Или его подставили?

Coding - как использовать компьютер для борьбы с комарами (программа отпугивающая комаров).

Новелла - День Открытых Дверей.

Comics - отчет с пьянки Vel'a.

Post scriptum - рассказ о нелегкой судьбе этого номера газеты.

Реклама - реклама и обьявления.


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

Похожие статьи:
The_hacker_club - Защита CSC:DV-2
Всякая всячина - Cамое большое простое число. Рекорды числа "пи".
Мы выбираем - Результаты статистического опроса пользователей Спектрума в городе Гомеле.

В этот день...   28 марта