;:sys36864
	;.opt oo
	*= $c000
	lda #0
	sta lim
	sta ton
	sta tonfrei
	lda #64
	sta 650
	jmp run
c	=$dd00
d	=$dc00
z	=20
s	=17
s1	=54272
s2	=s1+7
lau	=s1+24
ad	=0
sr	=240
wv	=129
hi	.byte "\x93beats per minute              nh 11.95"
	.byt 13
	.byte "\x11tasten:  \x12 c \x92  clear"
	.byt 13
	.byte "         \x12 x \x92  ende"
	.byt 13
	.byte "         \x12 l \x92  anzeige-limiter"
	.byt 13
	.byte "         \x12 t \x92  ton-ausgabe"
	.byt 13
	.byte "         \x12+/-\x92  ton-verhaeltnis"
	.byt 13
	.byte "         \x12 r \x92  ton-verhaeltnis =1"
	brk
go2	.byt 13
	.byte "\x13\x11\x11\x11\x11\x11\x11\x11\x11\x11         jede andere taste im takt der"
	.byt 13
	.byte "         musik betaetigen!" 
	.byt 13
	.byte "\x11\x11--------------------------------------"
	.byt 13
	.byte "\x11   limiter:"
	.byt 13
	.byte "tonausgabe:"
	.byt 13,0
mes	.byte "beats per minute: \x12???\x92       "
	.byt 13,0
off	.byte "messzeit abgelaufen"
	brk
ove	.byte "ueberlauf"
	brk
tonpar	.byte "=///***"
tonzah	.byte "1248248"
tomin	.byt 1,2,3,1,1,1,1
toplu	.byt 4,4,4,4,5,6,4
erste	brk
cnt	.word 0
sperr	brk
now	.word 0
lim	brk
ton	brk
tonfrei	brk
tonart	brk
tonfac	.byte "....."
c60	.byt $86,$70,0,0,0
c80	.byt $87,$20,0,0,0
c160	.byt $88,$20,0,0,0
on	.byte "ein  (80-160 bpm)"
	brk
aut	.byte "aus               "
	brk
tan	.byte "ein  ("
	brk
soundb	ldx #16
	ldy #12
	jsr $e50c
	lda ton
	beq saus
	lda #<tan
	ldy #>tan
	jsr $ab1e
	ldx tonart
	lda tonpar,x
	jsr $ffd2
	lda tonzah,x
	jsr $ffd2
	lda #")"
	jmp $ffd2
saus	lda #<aut
	ldy #>aut
	jmp $ab1e
run	lda #<hi
	ldy #>hi
	jsr $ab1e
	lda #0
	sta 198
	sta tonfrei
go	lda #<go2
	ldy #>go2
	jsr $ab1e
	ldx #z
	ldy #0
	jsr $e50c
	lda #<mes
	ldy #>mes
	jsr $ab1e
	lda #%10010000
	sta c+14
	lda #%01011000
	sta c+15
sign	ldx #15
	ldy #12
	jsr $e50c
	lda lim
	beq laus
	lda #<on
	ldy #>on
	bne taus
laus	lda #<aut
	ldy #>aut
taus	jsr $ab1e
	jsr soundb
skp	lda #0
	sta erste
	sta cnt
	sta cnt+1
	sta sperr
	ldx #z+2
	jsr 59903
main	lda 198
	bne key
qtest2	jmp test2
key	jsr 65508
	cmp #"c"
	beq qgo
	cmp #"x"
	bne weiter
aus	jmp ($316)
weiter	cmp #"\x03"
	beq aus
	cmp #"l"
	bne nol
	lda lim
	eor #-1
	sta lim
qgo	jmp go
nol	cmp #"t"
	bne not
	lda ton
	bne waran
	inc ton
	lda #15
	sta lau
	lda #2
	sta d+6
	sta d+7
	lda #<985
	sta d+4
	lda #>985
	sta d+5
	lda #%10010000
	sta d+14
	lda #%10000001
	sta d+14
	lda #%01010000
	sta d+15
	lda #%01000001
	sta d+15
	lda #0
	sta tonfrei
	beq qgo
waran	lda #0
	sta tonfrei
	sta ton
	sta lau
	beq qgo
not	cmp #"+"
	bne nopl
	ldx tonart
	lda toplu,x
	bne setto
nopl	cmp #"-"
	bne nomi
	ldx tonart
	lda tomin,x
setto	sta tonart
	jsr soundb
	lda tonfrei
	beq qqmain
	jsr setsound
	jmp main
nomi	cmp #"r"
	bne nor
	lda #0
	beq setto
qqtest2	jmp test2
nor	lda sperr
	bne qqtest2
	lda erste
	bne neue
	sta tonfrei
	inc erste
	lda #-1
	sta c+6
	sta c+7
	lda #<985
	sta c+4
	lda #>985
	sta c+5
	lda #%10010000
	sta c+14
	lda #%10000001
	sta c+14
	lda #%01011000
	sta c+15
	lda #%01001001
	sta c+15
	lda #0
	sta cnt
	sta cnt+1
	ldx #z
	ldy #s
	jsr $e50c
	ldx #6
balk	jsr $ab3f
	dex
	bne balk
qqmain	jmp main
neue	lda c+6
	sta now
	lda c+7
	sta now+1
	inc cnt
	bne ok
	inc cnt+1
	bne ok
	lda #<ove
	ldy #>ove
	jmp fault
ok	lda now
	eor #-1
	sta $63
	lda now+1
	eor #-1
	sta $62
	ldx #$90
	sec
	jsr $bc49
	jsr $bc0c
	lda cnt
	sta $63
	lda cnt+1
	sta $62
	ldx #$90
	sec
	jsr $bc49
	lda $61
	jsr $bb12
	ldx #<tonfac
	ldy #>tonfac
	jsr $bbd4
	jsr $bafe
	jsr $bafe
	jsr $bafe
	lda #<c60
	ldy #>c60
	jsr $bb0f
	lda lim
	beq orig
test	lda #<c80
	ldy #>c80
	jsr $bc5b
	bpl oka1
	inc $61
	bne test
oka1	lda #<c160
	ldy #>c160
	jsr $bc5b
	bmi orig
	dec $61
	bne oka1
orig	ldx #z
	ldy #s
	jsr $e50c
	jsr $bddd
	ldx #-1
suchpk	inx
	lda $100,x
	beq nopk
	cmp #"."
	bne suchpk
	lda #","
	sta $100,x
	lda #0
	sta $103,x
nopk	jsr $bf0c
	jsr $ab1e
	jsr $ab3f
	jsr $ab3f
	jsr $ab3f
	jsr setsound
	jmp test2
setsound	lda #<tonfac
	ldy #>tonfac
	jsr $bba2
;"ldy #1:sty 199:jsr $bdd7:dec 199"
;"lda #<tonfac:ldy #>tonfac:jsr $bba2"
	ldx tonart
	beq norm
	cpx #4
	bcc divi
	dex
	dex
	dex
multi	dec $61
	dex
	bne multi
	beq norm
divi	inc $61
	dex
	bne divi
norm	lda $61
	cmp #$91
	bcc kl65
eo	inc $d020
	jmp eo
kl65	lsr $66
	jsr $b801
	sta d+7
	sty d+6
	lda #%01010000
	sta d+15
	lda #%01000001
	sta d+15
	lda ton
	sta tonfrei
	rts
test2	lda c+7
	bne test3
	lda #<off
	ldy #>off
fault	sty sperr
	pha
	ldx #z+2
	ldy #0
	jsr $e50c
	ldy sperr
	pla
	jsr $ab1e
test3	lda tonfrei
	bne tonakt
nma	jmp main
tonakt	lda d+7
	ora d+6
	bne nma
	lda #20
	sta s1+1
	lda #ad
	sta s1+5
	lda #sr
	sta s1+6
	lda #21
	sta s2+1
	lda #ad
	sta s2+5
	lda #sr
	sta s2+6
	ldy #8
	sty s1+4
	sty s2+4
	ldx #20
wait2	dex
	bne wait2
	ldy #wv
	sty s1+4
	sty s2+4
	ldx #0
	ldy #2
wait	dex
	bne wait
	dey
	bne wait
	dey
	sty s1+4
	sty s2+4
	jmp main
