18 lines
457 B
Plaintext
18 lines
457 B
Plaintext
|
array dtmf-col 1209 freq>div , 1336 freq>div , 1477 freq>div ,
|
||
|
array dtmf-row 697 freq>div , 770 freq>div , 852 freq>div , 941 freq>div ,
|
||
|
|
||
|
( 0 1 2
|
||
|
3 4 5
|
||
|
6 7 8
|
||
|
-3 -1 -2 )
|
||
|
|
||
|
-2 const D*
|
||
|
-1 const D#
|
||
|
|
||
|
: dtmf ( digit -- f1 f2 ) 1-
|
||
|
dup 0 < if abs 3 % 3 swap else 3 /mod then
|
||
|
cells dtmf-col + @ swap cells dtmf-row + @ ;
|
||
|
: dial ( digit -- ) dtmf 20 arp 7 sleep-csec ;
|
||
|
: dialtone [ 350 freq>div lit 440 freq>div lit ] 200 arp ;
|
||
|
|