ZXNet эхоконференция «code.zx»


тема: ШИМ-МОДУЛЯЦИЯ



от: Kirill Frolov
кому: All
дата: 01 Jul 1998


├┤!,all !

Смотрю и вижу, что пошли всякие разговоры про аоны, да
про тональный набор, да еще и применительно к XTR. Mне это
очень не понравилось, поэтому вот программка для пищания
в телефон 4-битных звуков с частотой примерно до 5 Кгц
(частота вывода около 10 Кгц).
Программка может и номер запрашивать в аоне, а если
постараться и немного доделать то может и номер тоном
набирать.


ORG #C000

DI
LD A,(TONE)
CP #21
CALL NZ,DPC
LD A,#21
LD (TONE),A
JR TONE

;СКОЛЬКО БАЙТОВ БУДЕТ В ЗВУКЕ 82 ШТУКИ
ANUM EQU 41

;ПОДГОТОВКА К БЫСТРОМУ ВЫВОДУ
DPC LD IX,TBL1
LD IY,ANUM
LD DE,TBL3
LD B,0
DPC0 LD A,(IX)
RLCA : RLCA
RLCA : RLCA
CALL DPC1
LD A,(IX)
CALL DPC1
INC IX
DEC YL
JR NZ,DPC0
LD DE,#A3ED
LD HL,TBL4
LD BC,ANUM*16*2
DPC4 LD (HL),E
INC HL
LD (HL),D
INC HL
DEC BC
LD A,B
OR C
JR NZ,DPC4
LD (HL),#C9
RET

;ИЗ 4 БИТ ДЕЛАЕТ 16 БАЙТ ДЛЯ
;БЫСТРОГО ВЫВОДА В ПОРТ, ИСПОЛЬЗУЕТ
;ТАБЛИЦУ ДЛЯ ШИМ-МОДУЛЯЦИИ
DPC1 AND #0F
ADD A,A
LD C,A
LD HL,TBL2
ADD HL,BC
LD C,(HL)
CALL DPC2
INC HL
LD C,(HL)
DPC2 LD B,8
DPC3 RLC C
LD A,C
AND #18
OR #20
LD (DE),A
INC DE
DJNZ DPC3
RET

;ЗДЕСЬ МОЖHО СЛУШАТЬ
TONE DB #C9 : DW TBL3
LD C,#FE
CALL TBL4
LD A,#7F
IN A,(#FE)
RRA
JR C,TONE
RET

;ЗДЕСЬ ТОЖЕ МОЖHО СЛУШАТЬ
COVOX DI
LD HL,TBL1
LD B,ANUM
COVOX1 LD A,(HL)
AND #F0
RLCA : RRCA
RLCA : RRCA
OUT (#DD),A
INC DE
DEC C
JP $+3
CALL DELAY
LD A,(HL)
RLCA : RLCA
RLCA : RLCA
AND #F0
OUT (#DD),A
CALL DELAY
INC HL
DEC B
JP NZ,COVOX1
LD A,#7F
IN A,(#FE)
RRA
JR C,COVOX
RET

DELAY JP $+3
JP $+3
JP $+3
JP $+3
JP $+3
JP $+3
JP $+3
JP $+3
JP $+3
JP $+3
JP $+3
JP $+3
RET

;ТАБЛИЦА ШИМ-МОДУЛЯЦИИ
TBL2 DW #0000,#0100,#0808,#1084
DW #2222,#4892,#924A,#54AA
DW #5555,#55D5,#5D5D,#75D7
DW #7777,#77F7,#F7F7,#FEFF

;TBL2 DW #FFFF,#FFFE,#FFFC,#FFF8
DW #FFF0,#FFE0,#FFC0,#FF80
DW #FF00,#FE00,#FC00,#F800
DW #F000,#E000,#C000,#8000
DW #0000

;ПЕРВАЯ ТАБЛИЦА МЕHЬШЕ ШУМИТ


;СИГHАЛ 4 БИТHЫЙ
TBL1 ;INSERT "sin4" ; - ЭТО ДЛЯ АОHА

;ЗВУК
DB #01,#23,#45,#68,#AB,#BD,#EF
DB #FE,#DB,#BA,#86,#54,#32,#10
DB #01,#23,#45,#68,#AB,#BD,#EF
DB #FE,#DB,#BA,#86,#54,#32,#10
DB #01,#23,#45,#68,#AB,#BD,#EF
DB #FE,#DB,#BA,#86,#54,#32,#10



;ДАHHЫЕ ДЛЯ ПОРТА
TBL3

;КОМАHДЫ OUTI ДЛЯ ВОСПРОИЗВЕДЕHИЯ
TBL4 EQU ANUM*16*2+TBL3

END EQU ANUM*16*2*2+TBL4+1




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

Похожие статьи:
Видео - фильм "CЛОМАННАЯ CТРEЛА".
Список BBS - Список BBS. Открылся третий гейт с FidoNet.
Пансион любви - Мистер Хобс еще раз сверился с записью в блокноте и направился к особняку...
Железяки - расширение памяти ZX Spectrum (подключение SIMM 4Mb).
Мир звуков Спектрума - глава 5: Оператор PLAY для музыкального сопроцессора AY- 3-8910 (AY-3-8912).

В этот день...   18 апреля