PWM MODULATION

ZXNet echo conference «code.zx»

From Kirill Frolov To All 1 July 1998

├┤!,all ! I look and see that there is all sorts of talk about aons, yes about tone dialing, and even in relation to XTR. This is for me I really didn’t like it, so here’s the beeping program into the phone 4-bit sounds with a frequency of up to approximately 5 kHz (output frequency about 10 KHz). The program can also request a number in the caller, and if try and finish it a little, maybe the number is in tone dial ORG #C000 D.I. LD A,(TONE) CP #21 CALL NZ,DPC LD A,#21 LD (TONE),A JR TONE ;HOW MANY BYTES WILL BE IN THE SOUND OF 82 PIECES ANUM EQU 41 ;PREPARATION FOR QUICK WITHDRAWAL 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 B.C. LD A,B OR C JR NZ,DPC4 LD (HL),#C9 RET ;FROM 4 BITS MAKES 16 BYTES FOR ;QUICK OUTPUT TO PORT, USES ;TABLE FOR PWM MODULATION 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 #18OR #2 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 THE LD HL,TBL1 LD B,FIFTH 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,#F8 DW #F000,#E000,#C000,#8 DW #0000 ;Publishers ТАБЛИЦА МЕHЬШЕ ШУМИТ ;СИГHАЛ 4 БИТHЫЙ TBL1 ;INSERT "sin4" ; - ЭТО ДЛЯ АОHА ;ЗВУК DB #01,#23,#45,#68,#AB,#BD,#EFDB #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 ;DATA FOR PORT TBL3 ;OUTI COMMANDS FOR PLAYBACK TBL4 EQU ANUM*16*2+TBL3 END EQU ANUM*16*2*2+TBL4+1