From ClaudiusMaximus, 7 Months ago, written in Plain Text.
Embed
  1. \ Clapping Music
  2.  
  3. : dup { t -- t t } t t ;
  4.  
  5. : getbit { b n -- t }
  6.   1 b << dup
  7.   n & ==
  8. ;
  9.  
  10. : envelope { t -- e }
  11.   t ~ 0x3FFF &
  12.   dup * 14 >>
  13.   dup * 14 >>
  14. ;
  15.  
  16. : noise { t -- n }
  17.   t t t * 4 >> * 4 >> i8 i64
  18. ;
  19.  
  20. : audio { c t -- o }
  21.   t 5 * 3 / -> t
  22.   t 14 >> 144 / c *
  23.   t 14 >> +
  24.   12 % 0x6B7 getbit
  25.   t envelope *
  26.   t c + noise * 14 >>
  27.   i8
  28. ;
  29.  
  30. RUN audio
  31.  
  32. 1 -> increment
  33. 0 -> time
  34.