28 lines
542 B
Plaintext
28 lines
542 B
Plaintext
|
import timer.jrt
|
||
|
|
||
|
:asm >spk ( div -- )
|
||
|
MOV AL 0xb6 #
|
||
|
OUT 0x43 # AL
|
||
|
POP AX
|
||
|
OUT 0x42 # AL
|
||
|
MOV AL AH
|
||
|
OUT 0x42 # AL
|
||
|
IN AL 0x61 #
|
||
|
OR AL 0x03 #
|
||
|
OUT 0x61 # AL
|
||
|
NEXT
|
||
|
|
||
|
:asm silence ( -- )
|
||
|
IN AL 0x61 #
|
||
|
AND AL 0xfc #
|
||
|
OUT 0x61 # AL
|
||
|
NEXT
|
||
|
|
||
|
: slide ( div count + -- )
|
||
|
>r begin over >spk 1 sleep-csec swap r@ + swap 1- dup not until
|
||
|
rdrop drop drop silence ;
|
||
|
: boop ( div count -- ) swap >spk sleep-csec silence ;
|
||
|
: noise ( count -- )
|
||
|
begin rand >spk 1 sleep-csec 1- dup not until drop silence ;
|
||
|
|