Scr#1
\ GELUID DEEL 1
\ Assembler is required

CODE BEEPER H POP B POP XH PUSH
 D PUSH B D MOV 03B5 CALL
 D POP XH POP JPIX ;C

: TONE  437.500 2 PICK UM/MOD
  UNDER >R 1000 */ R> BEEPER ;

: MS 20 /MOD PAUSE 0 ?DO 10 0
  DO LOOP LOOP ;

: SOUND 65533 P! 49149 P! ;

: FREQ 2* 109.375 3 ROLL
  UM/MOD  UNDER 256 /MOD 2 PICK
  1+  SOUND  SWAP SOUND ;

: VOL 8 + SOUND ;

: TONES 56 7 SOUND ;
: SHUTUP -1 7 SOUND ;
: NOISE 7 7 SOUND ;

-->







Scr#2
\ MUZIEKNOTEN

VARIABLE LEN VARIABLE TEMP
VARIABLE OCT
VARIABLE VOLUME
2 LEN ! 200 TEMP !
8 OCT !
16 CONSTANT Z
: NOOT CREATE , DOES> @ OCT @
  * Z / LO @ 0= IF 1 FREQ TONES
  TEMP @  LEN @ * MS SHUTUP
                 ELSE TEMP @ LEN
  @ * SWAP TONE THEN ;

523 NOOT C 554 NOOT C#
583 NOOT D 622 NOOT D#
659 NOOT E 698 NOOT F
740 NOOT F# 784 NOOT G
831 NOOT G# 880 NOOT A
932 NOOT A# 988 NOOT B

: L LEN ! ;
: O+ OCT @ 2 * OCT ! ;
: O- OCT @ 2 / OCT ! ;
: R TEMP @ LEN @ * MS ;
: >> 1 VOLUME @ 1+ VOL 1 VOLUME
+! ;
: << 1 VOLUME @ 1- VOL -1 VOLUME
 +! ;
15 VOLUME ! 1 15 VOL

