Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß) 0 POKE 22,0:POKE 862,1 1 WINDOW:CLS:CLEAR 350:L$=STRING$(39,""):DIM M$(1):E=1:R$="MELODIE ":OUT 136,128 2 DEF FN K(I)=ASC(MID$(K$,I,1)):DEF FN N(I)=ASC(MID$(N$,I,1)):GOSUB 9:GOTO 11 3 M$=LEFT$(M$,I-1)+T$+MID$(M$,J+1):RETURN 4 PRINT "BITTE WAEHLEN:"; 5 E$=INKEY$:IF E$=""THEN 5:ELSE PRINT E$;:RETURN 6 INPUT "VON TON NR.";I:INPUT "BIS TON NR.";J:RETURN 7 WINDOW 16,18,0,39:RETURN 8 WINDOW 0,17,0,39:CLS:RETURN 9 N$=""+CHR$(183)+" ys le_ZU PLHDA=9 520.+ 555" 10 K$="CcDdEFfGgAaHCcDdEFfGgAaHCcDdEFfGgAaH-:=":RETURN 11 GOSUB 8:T$="pp":GOSUB 105:PRINT "":PRINT "SOUND":PRINT "":GOSUB 21 12 WINDOW 5,18,0,39:PRINT "1 - KOMPONIEREN":PRINT "2 - "+R$+"EINLESEN":PRINT "3 -";SPC(9);"AUSLAGERN 13 PRINT "4 -";SPC(9);"ABSPIELEN":PRINT "5 - MEMORY-SPIEL":PRINT "6 - HAPPY BIRTHDAY 14 PRINT "7 - GENERIERUNG":PRINT "8 - ENDE":PRINT:GOSUB 4:CLS:Y=VAL(E$) 15 ON Y GOSUB 16,68,70,108,85,107,71,109:GOTO 11 16 GOSUB 8:PRINT SPC(5);:FOR I=1 TO 3:PRINT "1234567890 ";:NEXT:PRINT:PRINT L$:FOR I=0 TO 4 17 PRINT 30*I;CHR$(8);TAB(5);"":PRINT " ":NEXT 18 WINDOW 12,17,0,39:CLS:PRINT L$:PRINT "1 - ";R$;" 2 - ABSPIEL 19 PRINT "3 - AENDERUNG 4 - ENDE" :PRINT L$ 20 GOSUB 4:Y=VAL(E$):GOSUB 7:ON Y GOSUB 24,66,56,11:OUT 128,3:GOTO 18 21 PRINT AT(19,0);STRING$(39,""):PRINT AT(21,4);STRING$(31,""):PRINT AT(23,5);STRING$(27,"") 22 PRINT AT(20,4);"CDEFGAHCDEFGAHC" 23 PRINT AT(22,5);"cd fga cd fga":RETURN 24 A=E:W=0:E=A:WINDOW 13,14,0,39:CLS 25 PRINT ": - WIEDERHOLUNG 1/2/3 - OKTAVEN":PRINT "= - ENDE";SPC(10);"SONST - PAUSE"; 26 GOSUB 7:INPUT "EINGABE AB TON NR.";A:CLS:M$=LEFT$(M$,A-1):GOSUB 7 27 O=0:I=A-1 28 IF I>149 THEN E=149:RETURN:ELSE I=I+1:JV=J:J=0:IF W=0 THEN 34 29 H=ASC(MID$(M$,I,1)):Q=H-50*INT(H/50):T=FN N(Q) 30 T$=CHR$(FN K(Q)):IF Q<43 THEN O=INT((Q-1)/14) 31 IF T$<>":"THEN 37:ELSE IF B=0 THEN B=I:GOTO 37 32 IF B>0 THEN I=B:B=-1:GOTO 37 33 IF B=-1 THEN B=0:GOTO 37 34 T$=INKEY$:IF T$=""THEN J=J+1:GOTO 34 35 IF T$>"0"AND T$<"4"THEN O=VAL(T$)-1:GOTO 34 36 U=INT(J/15):IF U>3 THEN U=3 37 IF I>A AND F<35 THEN PRINT AT(D,F);CHR$(JJ) 38 P=O*14:IF W=1 THEN J=Q:GOTO 40 39 T=ASC(T$):FOR J=P+1 TO 45:IF FN K(J)=T THEN T=FN N(J):GOTO 40:ELSE NEXT:J=43:T$="- 40 IF J>42 THEN T=0 41 Q=J:KK=Q-P:C=INT(J/2)*2:IF Y<4 THEN 46 42 IF J=C THEN S$="":ELSE S$="" 43 IF T=0 THEN 49 44 IF Q<30 THEN PRINT AT(16-INT((Q-1)/2),I-1-INT((I-1)/39)*39);S$ 45 GOTO 48 46 Z=INT((I-2)/30):S=I-Z*30+3:Z=Z+Z+2:S=S+INT((S-5)/10) 47 IF I>A THEN PRINT AT(Z,S);Z$:PRINT AT(Z+1,S);CHR$(216+U-O*4) 48 Z$=T$:IF T=0 THEN 51 49 F=KK+4+P:D=20:IF J=C THEN D=22 50 JJ=PEEK(-5120+40*D+F):IF F<35 THEN PRINT AT(D,F);" " 51 OUT 128,3:IF T=0 THEN 53 52 OUT 128,7:OUT 128,T:IF W=1 THEN U=INT(H/50):FOR L=1 TO V*U*50:NEXT:GOTO 55 53 IF MS=0 THEN IF I>A THEN M$=M$+CHR$(U*50+JV):IF J=45 THEN E=I:M$=M$+"":RETURN 54 IF MS=1 THEN Q=ASC(MID$(M$,I,1)):IF T<>FN N(Q-50*INT(Q/50))THEN MS=2:RETURN 55 IF I<E OR W=0 AND MS=0 THEN 28:ELSE OUT 128,3:E=X:RETURN 56 WINDOW 13,14,0,39:CLS:PRINT "1 - KORREKTUR":PRINT "2 - STREICHEN 3 - EINFUEGEN"; 57 GOSUB 7:GOSUB 4:Y=VAL(E$):CLS:GOSUB 6:H=J:ON Y GOTO 60,58,59 58 T$="":GOSUB 3:E=E-J+I-1:RETURN 59 E=E+J+1-I:H=I-1 60 T$="":FOR K=I TO J:CLS:PRINT "TON NR.";K;TAB(15)"TASTE :";:GOSUB 5:X$=E$ 61 PRINT:PRINT TAB(15);:O=1:PRINT "OKTAVE:";:GOSUB 5:O=VAL(E$) 62 FOR L=1 TO 14:P=(O-1)*14+L:IF ASC(X$)=FN K(P)THEN 64 63 NEXT L:P=43 64 PRINT:L=1:PRINT TAB(15);"LAENGE:";:GOSUB 5:L=VAL(E$):T$=T$+CHR$(L*50+P) 65 PRINT:NEXT K:J=H:GOSUB 3:RETURN 66 OUT 128,3:PRINT "SPIEL MIT TEMPO: ";:GOSUB 5:V=VAL(E$) 67 CLS:I=1:X=E:J=X:GOSUB 6:A=I:E=J:CLS:W=1:WINDOW 2,11,5,39:CLS:GOSUB 7:GOTO 27 68 PRINT R$;:INPUT ":";T$:PRINT "RECORDER AUF WIEDERGABE 69 CLOAD*"*";M$:E=LEN(M$(1)):PRINT M$(0):IF M$(0)<>T$ THEN 69:ELSE M$=M$(1):RETURN 70 PRINT R$;:INPUT ":";M$(0):PRINT "RECORDER AUF AUFNAHME STELLEN":M$(1)=M$:CSAVE*"*";M$:RETURN 71 FOR O=0 TO 2:GOSUB 8:PRINT "OKTAVE";O+1;:P=O*14:PRINT "(TASTE = -->STANDARD 72 PRINT TAB(10)">ENTER< -->WEITER)":PRINT:FOR J=1 TO 13:IF J=6 THEN NEXT 73 PRINT "TASTE ";CHR$(FN K(J+P));" - FREQUENZ:";FN N(P+J):NEXT:GOSUB 83 74 E$="":GOSUB 7:CLS:PRINT "TASTE:";:GOSUB 5:IF E$="="THEN GOSUB 9:M$="":RETURN 75 IF E$=CHR$(13)THEN 84 76 FOR K=P+1 TO P+14:L=K-P:J=O*14+L:Z=L+2:IF L>5 THEN Z=Z-1 77 IF E$<>CHR$(FN K(K))THEN NEXT:GOTO 74 78 PRINT " NEU:";:GOSUB 5:IF E$<>CHR$(13)THEN K$=LEFT$(K$,K-1)+E$+MID$(K$,K+1) 80 T=0:PRINT:INPUT "FREQUENZ:";T:IF T<40 OR T>255 THEN T=FN N(K) 81 PRINT AT(Z,19);T:IF ASC(E$)<>13 THEN PRINT AT(Z,6);E$ 82 T$=CHR$(T):M$=N$:I=K:J=K:GOSUB 3:N$=M$:GOSUB 83:GOTO 74 83 T$=MID$(N$,P+1,13):GOSUB 105:RETURN 84 NEXT O:M$="":RETURN 85 E=1:A=1:M$="":GOSUB 8 86 PRINT "DIE VOM COMPUTER VORGEGEBENE TONFOLGE":PRINT "IST ZU WIEDERHOLEN. 87 POKE-5040,32:PRINT AT(4,0);STRING$(15," "):L=RND(PEEK(31)) 88 MS=0:L=INT(RND(1)*13+1):IF L=INT(L/2)*2 THEN 88 89 M$=M$+CHR$(L):W=1:GOSUB 101:W=0:MS=1 90 PAUSE 15:PRINT AT(4,0);"BITTE EINGEBEN!":GOSUB 101:IF MS<2 THEN E=E+1:GOTO 87 91 X=X+1:IF X>13 THEN 93 92 PAUSE 5:ON INT(X/2)GOSUB 94,95,96,97,98,99:GOTO 100 93 T$="GRATULIERE! SIE KOENNTEN COMPUTER WERDEN":GOTO 100 94 T$="FUER TAUBE UND BLINDE NICHT GEEIGNET":RETURN 95 T$="OHREN WASCHEN UND AUGEN AUF!":RETURN 96 T$="MEHR KONZENTRATION BITTE!":RETURN 97 T$="SIE SIND NOCH ENTWICKLUNGSFAEHIG":RETURN 98 T$="SIE SIND SCHON FAST GUT":RETURN 99 T$="FABELHAFT! GEDAECHTNIS HERVORRAGEND!":RETURN 100 PRINT AT(8,0);T$:MS=0:OUT 128,3:T$="":GOSUB 105:PAUSE 20:RETURN 101 FOR I=6 TO 14 STEP 2:PRINT AT(I,0);L$:PRINT AT(I+1,0);STRING$(60," "):NEXT 102 POKE-4920,32:IF MS=1 THEN W=0:ELSE W=1 103 X=E:A=1:V=1:GOSUB 27:IF F<35 THEN PRINT AT(D,F);CHR$(JJ) 104 RETURN 105 FOR I=1 TO LEN(T$):T=ASC(MID$(T$,I,1)):IF T<40 THEN NEXT 106 OUT 128,7:OUT 128,T:PAUSE 2:NEXT:OUT 128,3:RETURN 107 M$="33geki+33gemk+33sokig"+CHR$(12)+">okmk+":E=28 108 GOSUB 101:PAUSE 9:RETURN 109 WINDOW:CLS:PRINT AT(9,9);"AUF WIEDERSEHEN... 110 T$="":GOSUB 105:PAUSE 5:T$="":GOSUB 105:CLS:CLEAR 256:OUT 136,0:END