ZXNet эхоконференция «code.zx»
тема: как зациклить
от: Vladimir Galtscev
кому: Kirill Frolov
дата: 24 Nov 1998
Hi,Kirill!
однажды 23-11-98 ровно в 02:22:00 я заметил перебранку между
Dmitry Lomov и Kirill Frolov про как зациклить и я не смог
пройти мимо, не попинав это дело...
KF>> номера в викоммнике. Таблица эта не бесконечная. Проблема в
KF>> фазового согласования в момент перезапуска с начала таблицы.
DL> зацикливай таблицу в нулевой фазе. длина будет зависеть
DL> от комбинации частот... а кому щас легко? :)
KF>> Может имеются более умные решения ? Как например в АОHах это
KF>> сделано ?
DL> там таймер помогает, можно и рилтайм считать. конкретно не ковырял.
KF>> В реалтайме не могу - сейчас 23Кгц, а будет тогда 10.
DL> не так уж мало. может, покатит.
Я могу быть не прав, это мое право, но не далее как сегодня
(или вчера, а может и завтра) я микшировал два синусных сигнала
и мне не показалось что там было 10 кГц...
Лучшее зацикливание - бесконечное проигрывание в реалтайме
Вот программка:
LD IX,#1000
LD D,TAB/256
LD HL,0
LD BC,#0100 ; частота первого сигнала
EXX
LD D,TAB/256
LD HL,0
LD BC,#0432 ; частота второго сигнала (больше первого)
P1
LD E,H
LD A,(DE); берем 1-ый байт
ADD HL,BC
EXX:EX DE,HL
LD H,E
ADD A,(HL):RRA; находим среднее арифметическое со 2-ым
EX DE,HL
ADD HL,BC
; второй EXX можно не ставить...
; в регистре A результат
OUT (XX),A
DEC LX:JP NZ,P1
DEC HX:JP NZ,P1
RET
With best wishes, Vladimir Galtscev или -=STS=-
|