Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß) 4 WINDOW 5 CLS 10 WINDOW 0,23,2,39 :CLS 20 DATA 245,197,237,75,0,2,197,237,75,152 30 DATA 239,197,1,71,79,237,67,152,239,58 40 DATA 191,2,254,0,62,133,202,48,2,203 50 DATA 239,211,128,58,188,2,211,128,1,69 60 DATA 2,237,67,0,2,237,75,189,2,195 70 DATA 66,2,219,136,238,128,211,136,11,251 80 DATA 120,177,202,84,2,237,77,193,193,237 90 DATA 67,152,239,193,237,67,0,2,193,62 100 DATA 3,211,128,219,136,230,127,211,136,241,237,77 110 DIM F(123) 120 FOR A=0 TO 91 130 READ B 140 POKE 529+A,B 150 NEXT A 160 PRINT "START" 170 FOR A=25 TO 69 STEP 4 180 POKE 700,A 190 B=INT(10000/A) 200 DOKE 701,B 210 POKE 703,0 220 PRINT A,B 230 CALL 529 240 DOKE 512,-189 250 NEXT A 260 PRINT:PRINT " 1 KURZE MELODIE" 270 PRINT " 2 LANGE MELODIE":PRINT 280 INPUT " WAHL:";AB 290 IF AB=1 THEN AB=2:ELSE AB=1 300 CLS:WINDOW 15,23,2,19 310 FOR A=1 TO 9 STEP 2 320 PRINT AT(A,0);STRING$(40,"") 330 NEXT A 340 FOR A=0 TO 10 STEP 2 350 PRINT AT(A,0);STRING$(40," ") 360 NEXT A 370 FOR A=0 TO 120 STEP 3 380 F(A)=0 390 NEXT A 400 PRINT AT(15,21);"G GANZE N." 410 PRINT AT(16,21);"H HALBE N." 420 PRINT AT(17,21);"V VIERTEL N." 430 PRINT AT(18,21);"A ACHTEL N." 440 PRINT AT(19,21);"S SECHZEHNTEL" 450 PRINT AT(20,21);"P PAUSE" 460 PRINT AT(21,21);"KURSORTASTEN" 470 PRINT AT(22,21);"DEL STREICHEN-ENDE" 480 PRINT AT(23,21);"ESC NEUE MELODIE" 490 A=1:B=5:P=160 500 PRINT AT(5,1);"*" 510 R$=INKEY$ 520 IF LEN(R$)=0 THEN 510 530 R=ASC(R$) 540 C=A:D=B 550 IF R=80 THEN 1130 560 IF R=24 THEN A=39 570 IF R=25 THEN A=1 580 IF R=27 THEN 300 590 IF R=31 THEN 1430 600 IF R=10 THEN B=B+1 610 IF R=11 THEN B=B-1 620 IF R=8 THEN A=A-AB 630 IF R=9 THEN A=A+AB 640 IF A<1 THEN A=1 650 IF A>39 THEN A=39 660 IF B<0 THEN B=0 670 IF B>10 THEN B=10 680 IF R=71 THEN 780 690 IF R=72 THEN 780 700 IF R=86 THEN 780 710 IF R=65 THEN 780 720 IF R=83 THEN 780 730 IF R=29 THEN 1250 740 POKE C+40*D-5120,P 750 P=PEEK(A+40*B-5120) 760 POKE A+40*B-5120,42 770 GOTO 510 780 FOR C=1 TO 9 STEP 2 790 PRINT AT(C,A);"" 800 PRINT AT(C-1,A);" " 810 NEXT C 820 PRINT AT(10,A);" " 830 IF R=83 OR R=65 OR R=86 THEN A$="":ELSE A$="" 840 PRINT AT(B,A);A$ 850 IF R=71 THEN 870 860 IF B>4 THEN PRINT AT(B-1,A);"":ELSE PRINT AT(B+1,A);"" 870 A=A+AB 880 IF A>39 THEN 910 890 P=PEEK(A+40*B-5120) 900 PRINT AT(B,A);"*" 910 IF AB=1 THEN C=3*A-3:ELSE C=3*INT(A/2) 920 D=C+1 930 E=C+2 940 IF B=0 THEN F(C)=25:F(D)=1000:F(E)=0 950 IF B=1 THEN F(C)=28:F(D)=950 :F(E)=0 960 IF B=2 THEN F(C)=30:F(D)=900 :F(E)=0 970 IF B=3 THEN F(C)=33:F(D)=850 :F(E)=0 980 IF B=4 THEN F(C)=37:F(D)=800 :F(E)=0 990 IF B=5 THEN F(C)=40:F(D)=750 :F(E)=0 1000 IF B=6 THEN F(C)=44:F(D)=700 :F(E)=0 1010 IF B=7 THEN F(C)=50:F(D)=650 :F(E)=0 1020 IF B=8 THEN F(C)=56:F(D)=600 :F(E)=0 1030 IF B=9 THEN F(C)=59:F(D)=550 :F(E)=0 1040 IF B=10 THEN F(C)=66:F(D)=500 :F(E)=0 1050 IF R=71 THEN V=8 1060 IF R=72 THEN V=4 1070 IF R=86 THEN V=2 1080 IF R=65 THEN V=1 1090 IF R=83 THEN V=.5 1100 F(D)=F(D)*V 1110 IF A>39 THEN P=PEEK(40*B-5081):A=39:GOTO 1250 1120 GOTO 510 1130 FOR C=1 TO 9 STEP 2 1140 PRINT AT(C,A);"" 1150 PRINT AT(C-1,A);" " 1160 NEXT C 1170 PRINT AT(10,A);"" 1180 IF AB=1 THEN C=3*A:ELSE C=3*INT(A/2)+3 1190 F(C)=-1 1200 A=A+AB 1210 IF A>39 THEN 1250 1220 P=PEEK(A+40*B-5120) 1230 PRINT AT(B,A);"*" 1240 GOTO 510 1250 D=3:L=1 1260 CLS 1270 IF A>39 THEN A=39 1280 IF L>39 THEN E=0:L=39:GOTO 1310 1290 PRINT AT(11,L);"*" 1300 E=F(D) 1310 IF E=0 THEN PRINT "SOUND OK":PRINT:PRINT AT(11,L);" ":GOTO 510 1320 IF E=-1 THEN 1410 1330 POKE 700,E 1340 DOKE 701,F(D+1) 1350 POKE 703,F(D+2) 1360 CALL 529 1370 DOKE 512,-189 1380 D=D+3 1390 PRINT AT(11,L);" ":L=L+AB 1400 GOTO 1280 1410 PAUSE 3 1420 GOTO 1380 1430 FOR C=1 TO 9 STEP 2 1440 PRINT AT(C,A);"" 1450 PRINT AT(C-1,A);" " 1460 NEXT C 1470 PRINT AT(10,A);" " 1480 IF AB=1 THEN F(3*A)=0:ELSE F(3*INT(A/2)+3)=0 1490 A=A-AB 1500 IF A<1 THEN A=1 1510 GOTO 510