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 ;