dialer/dialer.jrt

18 lines
457 B
Plaintext
Raw Normal View History

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 ;