;: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 jsr $ab1e ldx tonart lda tonpar,x jsr $ffd2 lda tonzah,x jsr $ffd2 lda #")" jmp $ffd2 saus lda #aut jmp $ab1e run lda #hi jsr $ab1e lda #0 sta 198 sta tonfrei go lda #go2 jsr $ab1e ldx #z ldy #0 jsr $e50c lda #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 bne taus laus lda #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 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 jsr $bbd4 jsr $bafe jsr $bafe jsr $bafe lda #c60 jsr $bb0f lda lim beq orig test lda #c80 jsr $bc5b bpl oka1 inc $61 bne test oka1 lda #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 jsr $bba2 ;"ldy #1:sty 199:jsr $bdd7:dec 199" ;"lda #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 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