Listing of file='TTONE.BAS;0D' on disk='vmedia/ay-3-8910_programs-sector.ccvf'
100 GOSUB 10000 200 PRINT 210 INPUT "NUMBER: ";N$ 220 GOSUB 11000 230 GOTO 200 10000 REM *** DEFINE TOUCH-TONE FREQUENCIES *** 10010 REM 10020 DIM HI(11),LO(11),C(3),R(4) 10030 FC = 2000000.0:REM CLOCK FREQUENCY FOR AY-3-8910 10040 RESTORE 10000 10050 REM TOUCH-TONE FREQUENCIES 10060 DATA 697,770,852,941,1209,1336,1477 10070 FOR I= 1 TO 4:READ R(I):R(I)= INT (FC/ (16* R(I))+ 0.5):NEXT I 10080 FOR I= 1 TO 3:READ C(I):C(I)= INT (FC/ (16* C(I))+ 0.5):NEXT I 10090 FOR I= 0 TO 2 10100 FOR J= 1 TO 3 10110 HI(I* 3+ J) = C(J):LO(I* 3+ J) = R(I+ 1) 10120 NEXT J 10130 NEXT I 10140 HI(0) = C(2):LO(0) = R(4) 10150 HI(10) = C(1):LO(10) = R(4) 10160 HI(11) = C(3):LO(11) = R(4) 10170 RETURN 11000 REM *** OUTPUT A NUMBER IN A STRING *** 11010 REM 11020 L = LEN (N$) 11030 IF L= 0 THEN RETURN 11040 FOR K= 1 TO L 11050 D$ = MID$ (N$,K,1) 11055 PRINT D$; 11060 KY = ASC (D$)- 48 11070 IF D$= "*" THEN KY= 10 11080 IF D$= "#" THEN KY= 11 11090 IF KY< 0 OR KY> 11 GOTO 11150 11100 GOSUB 15000 11150 NEXT K 11200 RETURN 15000 REM *** GENERATE THE TONES *** 15010 REM 15020 OUT 48,7:OUT 49,63 15030 OUT 48,9:OUT 49,0 15040 OUT 48,10:OUT 49,0 15050 OUT 48,3:OUT 49,0 15060 OUT 48,5:OUT 49,0 15070 OUT 48,2:OUT 49,LO(KY) 15080 OUT 48,4:OUT 49,HI(KY) 15085 OUT 48,7:OUT 49,57 15090 OUT 48,9:OUT 49,5 15100 OUT 48,10:OUT 49,3 15110 REM DEBUGGING ONLY - INPUT"";A$ 15120 FOR I= 1 TO 20:NEXT I 15130 OUT 48,9:OUT 49,0 15140 OUT 48,10:OUT 49,0 15150 FOR I= 1TO 100:NEXT I 15200 RETURN