home *** CD-ROM | disk | FTP | other *** search
- 1 rem **********************************
- 2 rem * *
- 3 rem * composer v3.0 + hcopy *
- 4 rem * *
- 5 rem * von dieter borchert *
- 6 rem * hornauer strasse 156 *
- 7 rem * 6233 kelkheim *
- 8 rem * *
- 9 rem **********************************
- 10 :
- 12 dimno(7,12),ln(7,12),hn(7,12),da$(20),va(3,2),wx$(12,6)
- 13 print"[147]arbeiten sie mit"
- 14 print"datasette (1) oder floppy disk (8) ?"
- 15 getgn$:ifgn$=""then15
- 16 gn=val(gn$):ifgn<>1andgn<>8then15
- 17 print"[147]bitte einen moment geduld !"
- 18 fori=0to12:readda$(i):next:fori=1to8:readd$(i):next
- 19 fori=1to3:readva(i,1),va(i,2):next
- 20 fori=1to11:forj=1to6:readwx$(i,j):next:next:printchr$(8);chr$(142);
- 21 poke808,225:rem erst eingeben,wenn programm einwandfrei laeuft
- 22 n1=0:vo=1:da=1:ok=4:z=211:s=214:cs=58732
- 23 rem frequenzen definieren
- 24 fr=262.89
- 25 ift=8then70
- 26 no(t,nr)=fr*1.0594631:hn(t,nr)=int(no(t,nr)/256)
- 30 ln(t,nr)=int(no(t,nr)-hn(t,nr)*256)-1
- 45 fr=no(t,nr):nr=nr+1
- 50 ifnr=12thent=t+1:nr=0
- 60 goto25
- 70 fori=0to7:no(i,12)=0:next
- 75 ifpeek(750)=134then100
- 76 sys(57812)"comp mc",gn,1:poke780,0:sys65493:poke750,134
- 77 fori=49152to49199:pokei,0:next:goto100
- 80 geta$:ifa$=""then80
- 81 return
- 90 print"(taste druecken)":gosub80:return
- 100 poke53280,1:poke53281,1:print"[147]";:poke198,0:rem hauptmenue
- 101 print"[147]----------------------------------------";:
- 102 print"composer v 3.0 / (c) 1986 by d.borchert ";
- 103 print"----------------------------------------";:
- 110 print""spc(12)"hauptmenue"
- 120 printspc(10)"=============="
- 130 print""tab(8)"1) laden
- 140 [153]""[163]8)"2) speichern
- 150 print""tab(8)"3) parameter setzen
- 160 [153]""[163]8)"4) melodie spielen
- 170 print""tab(8)"5) melodie stoppen
- 180 [153]""[163]8)"6) loeschen / teile kopieren"
- 190 [153]""[163]8)"7) neue melodie eingeben
- 200 print""tab(8)"8) noten zeigen / floppybefehl
- 205 [153]""[163]8)"9) drucken / ende";
- 210 [141]80
- 220 a[178][197](a$):[145]a[141]1000,2000,3000,4000,5000,6000,7000,8000,9000
- 230 [137]100
- 500 [143] kleines window ausgeben
- 505 [151]z,17:[151]s,17:[158]cs:[153]"(NULL)tantantantantantantantantantantantantantantantantantantantanright$";
- 510 [129]i[178]1[164]6:[151]z,17:[151]s,17[170]i:[158]cs:[153]" ";:[130]
- 520 [129]i[178]1[164]6:[151]z,17:[151]s,17[170]i:[158]cs:[153]"(NULL)";wx$(cc,i);
- 530 [151]z,38:[151]s,17[170]i:[158]cs:[153]"(NULL)";:[130]
- 535 [151]z,17:[151]s,24:[158]cs:[153]"mid$tantantantantantantantantantantantantantantantantantantantan(NULL)wait";
- 540 [142]
- 600 [153]"ononon";:[142]:[143] cursor in position bringen
- 700 [143] window loeschen
- 705 [129]i[178]0[164]7:[151]z,8:[151]s,i[170]17:[158]cs:[153]" ";
- 710 [130]:[142]
- 800 [143] grosses window ausgeben
- 802 [151]z,8:[151]s,17:[158]cs:[153]"(NULL)tantantantantantantantantantantantantantantantantantantantantantantantantantantantantanright$";
- 804 [129]i[178]1[164]6:
- 805 [151]z,8:[151]s,17[170]i:[158]cs:[153]" ";:[130]
- 810 [129]i[178]1[164]6:[151]z,8:[151]s,17[170]i:[158]cs:[153]"(NULL)";wx$(cc,i);
- 820 [151]z,38:[151]s,17[170]i:[158]cs:[153]"(NULL)";:[130]
- 830 [151]z,8:[151]s,24:[158]cs:[153]"mid$tantantantantantantantantantantantantantantantantantantantantantantantantantantantantan(NULL)wait";
- 840 [142]
- 999 :
- 1000 [143] laden von musikstuecken
- 1001 :
- 1002 mp[178]1:[153]"loadfilename eingeben :"[166]25);
- 1005 [151]54296,0:[133]fi$:cc[178]9:[141]500
- 1006 [139]fi$[178]"$"[167][141]8070:[137]1000
- 1010 [158](57812)""[170]fi$[170]"",gn,1:[151]780,0:[158]65493:[141]700
- 1012 [139]gn[178]1[167]1030
- 1020 [159]15,8,15:[132]15,c,c$:[139]c$[179][177]"ok"[167][160]15:[137]10000n w[176]den.
- 1030 [160]15:[153]"die melodie koennen sie im"
- 1040 [153]"hauptmenue starten."
- 1050 [141]90
- 1060 [142]
- 1999 :
- 2000 [143] speichern von musikstuecken
- 2001 :
- 2002 mp[178]2:[153]"loadfilenamen eingeben:"[166]25);:[133]fi$
- 2003 [151]54296,0:[151]56334,0:[151]788,49:[151]789,234:[151]56334,1
- 2004 [139]gn[178]1[167]2010 "
- 2005 cc=8:gosub800:fi$=fi$+",p,w":open1,gn,1,fi$
- 2006 open15,8,15:input#15,c,c$:ifc$<>"ok"then2015
- 2007 print#1,chr$(0);chr$(192);
- 2008 fori=49152to53000:print#1,chr$(peek(i));:next
- 2009 close1:goto2015
- 2010 sys(57812)""+fi$+"",1:poke193,0:poke194,192:poke174,1:poke175,206:sys62957
- 2011 gosub700:goto2020
- 2015 gosub700:ifc$<>"ok"thenclose15:goto10000
- 2020 close15:print:print"die melodie wurde gespeichert."
- 2030 gosub90
- 2040 return
- 2999 :
- 3000 rem parameter setzen
- 3001 :
- 3005 print"[147]"tab(12)"parameter
- 3010 [153][163]11)"============"
- 3020 [153]"1) wellenform
- 3030 print"2) pulsform
- 3040 [153]"3) anschlag / abschwellen
- 3050 print"4) halten / ausklingen
- 3060 [153]"5) lautstarke / geschwindigkeit
- 3061 print"6) parameter initialisieren
- 3062 [153]"7) melodie stoppen
- 3063 print"8) anzahl der 1/8-noten
- 3064 [153]"9) zurueck ins hauptmenue
- 3070 gosub80
- 3080 onval(a$)goto3100,3200,3300,3400,3500,3600,3700,3800,3900
- 3090 goto3000
- 3100 fori=2to19:poke781,i:sys59903:next:cc=1:gosub500
- 3105 print"wellenform"
- 3106 print"stimme 1: ";peek(49161)
- 3107 print"stimme 2: ";peek(49162)
- 3108 print"stimme 3: ";peek(49163)
- 3110 print"wellenform eingeben:";
- 3120 inputwa$:wa=val(wa$):ifwa<17orwa>129thengosub600:goto3110
- 3130 print"welche stimme :";:gosub80:a1=val(a$):printa$
- 3140 ifa1=1thenpoke49161,wa:poke49170,wa-1:gosub90:goto3000
- 3150 ifa1=2thenpoke49162,wa:poke49171,wa-1:gosub90:goto3000
- 3160 ifa1=3thenpoke49163,wa:poke49172,wa-1:gosub90:goto3000
- 3170 gosub600:goto3130
- 3200 fori=2to19:poke781,i:sys59903:next:cc=2:gosub500
- 3210 print"pulsform :"
- 3220 print"stimme 1: ";peek(49155),peek(49156)
- 3230 print"stimme 2: ";peek(49157),peek(49158)
- 3240 print"stimme 3: ";peek(49159),peek(49160)
- 3250 print"neue pulsform (h-byte) :";:inputp1$:p1=val(p1$)
- 3255 ifp1<0orp1>15thengosub600:goto3250
- 3260 print"neue pulsform (l-byte) :";:inputp2$:p2=val(p2$)
- 3265 ifp2<0orp2>15thenprint:gosub600:goto3260
- 3270 print"welche stimme :";:gosub80:a1=val(a$):printa$
- 3271 ifa1=1thenpoke49155,p1:poke49156,p2:gosub90:goto3000
- 3272 ifa1=2thenpoke49157,p1:poke49158,p2:gosub90:goto3000
- 3273 ifa1=3thenpoke49159,p1:poke49160,p2:gosub90:goto3000
- 3274 gosub600:goto3270
- 3300 fori=2to19:poke781,i:sys59903:next:cc=3:gosub500
- 3310 print"anschalg / abschwellen"
- 3320 f(1)=int(peek(49164)/16):f(2)=peek(49164)-f(1)*16
- 3321 f(3)=int(peek(49166)/16):f(4)=peek(49166)-f(3)*16
- 3322 f(5)=int(peek(49168)/16):f(6)=peek(49168)-f(5)*16
- 3330 print"stimme 1 :";f(1),f(2)
- 3340 print"stimme 2 :";f(3),f(4)
- 3350 print"stimme 3 :";f(5),f(6)
- 3360 print"anschlag:";:inputa1$:a1=val(a1$)
- 3365 ifa1<0ora1>15thengosub600:goto3360
- 3370 print"abschwellen:";:inputa2$:a2=val(a2$)
- 3375 ifa2<0ora2>15thengosub600:goto3370
- 3376 a3=a1*16+a2
- 3380 print"welche stimme :";:gosub80:a4=val(a$):printa$
- 3381 ifa4=1thenpoke49164,a3:gosub90:goto3000
- 3382 ifa4=2thenpoke49166,a3:gosub90:goto3000
- 3383 ifa4=3thenpoke49168,a3:gosub90:goto3000
- 3390 gosub600:goto3380
- 3400 fori=2to19:poke781,i:sys59903:next:cc=4:gosub500
- 3410 print"halten / ausklingen"
- 3420 f(1)=int(peek(49165)/16):f(2)=peek(49165)-f(1)*16
- 3421 f(3)=int(peek(49167)/16):f(4)=peek(49167)-f(3)*16
- 3422 f(5)=int(peek(49169)/16):f(6)=peek(49169)-f(5)*16
- 3430 print"stimme 1 :";f(1),f(2)
- 3440 print"stimme 2 :";f(3),f(4)
- 3450 print"stimme 3 :";f(5),f(6)
- 3460 print"halten :";:inputa1$:a1=val(a1$)
- 3465 ifa1<0ora1>15thengosub600:goto3460
- 3470 print"ausklingen:";:inputa2$:a2=val(a2$):a3=a1*16+a2:print
- 3475 ifa2<0ora2>15thengosub600:goto3470
- 3476 a3=a1*16+a2
- 3480 print"welche stimme :";:gosub80:a4=val(a$):printa$
- 3481 ifa4=1thenpoke49165,a3:gosub90:goto3000
- 3482 ifa4=2thenpoke49167,a3:gosub90:goto3000
- 3483 ifa4=3thenpoke49169,a3:gosub90:goto3000
- 3490 gosub600:goto3480
- 3500 fori=2to19:poke781,i:sys59903:next:cc=5:gosub500
- 3510 print"lautstaerke: ";peek(49153)
- 3520 print"neue lautstaerke : ";:inputlo$
- 3525 ifval(lo$)<0orval(lo$)>15thengosub600:goto3520
- 3530 poke49153,val(lo$)
- 3540 print"geschwindigkeit:";peek(49154)
- 3550 print"neue geschwindigkeit:";:inputsp$
- 3555 ifval(sp$)<4orval(sp$)>32thengosub600:goto3550
- 3556 poke49154,val(sp$):goto3000
- 3600 sys52000:goto3000
- 3700 poke54296,0:goto3000
- 3800 fori=2to22:poke781,i:sys59903:next:cc=6:gosub500
- 3810 print"anzahl der 1/8 noten:";peek(49152)
- 3820 print"neue anzahl :";:inputnv$:nv=val(nv$)
- 3821 ifnv=256thennv=0
- 3822 ifnv>256ornv<0thengosub600:goto3820
- 3826 poke49152,nv:goto3000
- 3900 return
- 3999 :
- 4000 rem musik anschalten
- 4001 :
- 4002 poke56334,0:poke788,56:poke789,199:poke56334,1:sys52000:return
- 4999 :
- 5000 rem musik ausschalten
- 5001 :
- 5002 poke56334,0:poke788,49:poke789,234:poke56334,1:poke54296,0:return
- 5999 :
- 6000 rem noten loeschen / teile kopieren
- 6001 :
- 6010 print"[147](n)oten loeschen / (t)eile kopieren"
- 6015 print"======================================"
- 6020 gosub80
- 6030 ifa$="n"then6100
- 6040 ifa$="t"then6300
- 6050 goto6020
- 6100 cc=9:gosub500:poke54296,0:print"";
- 6110 fori=49200to50999:pokei,0:next:gosub700:print"";:gosub90:return
- 6300 fori=3to24:poke781,i:sys59903:next
- 6305 print"kopieren von :";:inputh1$:h1=val(h1$)
- 6306 ifh1<0orh1>256then6305
- 6310 print"bis :";:inputh2$:h2=val(h2$)
- 6315 ifh2<0orh2>256orh2<h1thenprint:gosub600:goto6310
- 6320 print"neuer anfang :";:inputh3$:h3=val(h3$)-1
- 6325 ifh3<0orh3>256thengosub600:goto6320
- 6330 print"welche stimme:";:inputh4$:h4=val(h4$)
- 6335 ifh4<0orh4>3thenprint:gosub600:goto6330
- 6340 h5=h3+(h2-h1):h6=h5-h3:cc=9:gosub500
- 6341 fori=0toh6
- 6342 pokeva(h4,1)+h3+i,peek(va(h4,1)+h1+i-1)
- 6343 pokeva(h4,2)+h3+i,peek(va(h4,2)+h1+i-1)
- 6344 next
- 6350 gosub700:pokez,3:pokes,13:syscs:print"noch einmal ?":gosub80
- 6351 ifa$="j"then6360
- 6352 ifa$="n"thenreturn
- 6353 goto6350
- 6360 print"[147]";(h1);"-";(h2);" neuer anfang:";h3+1;" stimme:";h4
- 6370 goto6300
- 6999 :
- 7000 rem neue melodie entwerfen
- 7001 :
- 7002 print"[147]"tab(8)"neue melodie entwerfen "
- 7010 printtab(7)"========================"
- 7012 n1=0:vo=1:l3=0:l2=0:l1=0:poke54296,0
- 7015 print"anzahl der 1/8-noten :";:inputen$:en=val(en$)
- 7016 poke781,3:sys59903:print"";
- 7017 ifen=256thenpoke49152,0:goto7020
- 7018 poke49152,en
- 7020 fori=0to12:printtab(2)da$(i):next
- 7030 print" note ^":y1=14:no=8:cc=7:gosub800
- 7040 poke199,0:pokez,9:pokes,5:syscs:print"oktave :";:poke199,1:printok
- 7042 pokez,22:pokes,5:syscs:print"laenge :";:poke199,1:printd$(da)
- 7045 n1$=str$(n1+1)+" "
- 7046 pokez,9:pokes,7:syscs:print"note nr.:";:poke199,1::printn1$:poke199,0
- 7048 pokez,9:pokes,9:syscs:print"stimme nr.:";:poke199,1:printvo
- 7051 n2$=da$(l2)+str$(l1)+" "
- 7053 pokez,9:pokes,11:syscs:print"letzte note :";:printn2$
- 7054 pokez,9:pokes,13:syscs:print"letzte dauer :";d$(l3)
- 7055 pokez,9:pokes,15:syscs:print"(return)=note uebernehmen"
- 7058 a$=""
- 7060 gosub80
- 7070 ifa$="[145]"then7100
- 7071 ifa$=""then7200
- 7072 ifa$>"0"anda$<"9"thenok=val(a$)
- 7073 ifa$="[133]"thenda=8
- 7074 ifa$="[137]"thenda=7
- 7075 ifa$="[134]"thenda=6
- 7076 ifa$="[138]"thenda=5
- 7077 ifa$="[135]"thenda=4
- 7078 ifa$="[139]"thenda=3
- 7079 ifa$="[136]"thenda=2
- 7080 ifa$="[140]"thenda=1
- 7085 ifa$=chr$(13)then7500
- 7086 ifa$="_"thenvf=9-da:goto7900
- 7087 ifa$="[147]"thenreturn
- 7088 ifa$="v"thenvo=vo+1:n1=0:ifvo=4thenreturn
- 7089 ifa$="n"thenn1=n1+(9-da)
- 7090 goto7040
- 7100 poke199,0:pokez,2:pokes,y1:syscs:printda$(no)
- 7110 no=no-1:y1=y1-1
- 7111 ifno<0thenno=0:y1=y1+1
- 7120 pokez,2:pokes,y1:syscs:poke199,1:printda$(no):goto7060
- 7200 poke199,0:pokez,2:pokes,y1:syscs:printda$(no)
- 7210 no=no+1:y1=y1+1
- 7211 ifno>12thenno=12:y1=y1-1
- 7220 pokez,2:pokes,y1:syscs:poke199,1:printda$(no):goto7060
- 7500 vf=9-da
- 7521 l1=ok:l2=no:l3=da
- 7530 fori=0tovf:pokeva(vo,1)+n1+i,hn(ok,no):pokeva(vo,2)+n1+i,ln(ok,no)
- 7531 next
- 7540 n1=n1+vf
- 7560 ifn1>=enthen7800
- 7570 goto7040
- 7800 vo=vo+1:ifvo=4thenreturn
- 7810 n1=0:pokez,9:pokes,11:syscs:print" ";:goto7040
- 7900 n1=n1-vf:ifn1<=0thenn1=0
- 7910 goto7040
- 7999 :
- 8000 rem floppybefehl / noten zeigen
- 8001 :
- 8002 mp=8:print"[147]"tab(2)"(f)loppybefehl / (n)oten zeigen":poke54296,0
- 8003 gosub80
- 8004 ifa$="f"then8020
- 8005 ifa$="n"then8100
- 8010 goto8003
- 8020 cc=10:gosub800:close2,15:open2,8,15:print"befehl :";:inputco$
- 8040 fori=1tolen(co$):ifmid$(co$,i,1)="!"then8050
- 8041 next
- 8042 goto8065
- 8050 co$=left$(co$,i-1)+":"+right$(co$,len(co$)-i)
- 8055 print"haben sie sich vertippt ?"
- 8060 gosub80:ifa$="j"then8079
- 8065 ifco$="q:"thenreturn
- 8066 ifco$="v:"orco$="i:"orleft$(co$,2)="s:"then8078
- 8068 ifco$="$:"thengosub8071
- 8069 goto8079
- 8070 rem inhaltsverzeichnis
- 8071 print"[147]"spc(6)"inhaltsverzeichnis"
- 8072 open5,8,0,"$":get#5,a$,a$
- 8073 get#5,a$,a$:ifst=64thenclose5:gosub90:print"[147]":return
- 8074 get#5,a$,b$:printasc(a$+chr$(0))+256*asc(b$+chr$(0));
- 8075 get#5,a$:printa$;:ifa$<>""then8075
- 8076 print:goto8073
- 8078 print#2,co$:close2
- 8079 open15,8,15:input#15,c,c$:ifc$<>"ok"thenclose2:close15:goto10000
- 8080 close2:close15:goto8020
- 8100 rem show notes
- 8105 print"von note nummer:";:inputa1$:a1=val(a1$)-1
- 8106 ifa1<0ora1>255then8105
- 8110 print"bis note nr.";:inputa2$:a2=val(a2$)-1
- 8115 ifa2<0ora2<a1ora2>255thenprint:gosub600:goto8110
- 8120 print"welche stimme:";:gosub80:printa$:a3=val(a$)
- 8130 ifa3<1ora3>3thengosub600:goto8120
- 8150 print"[147]":ze=0:cc=9:gosub500:print""
- 8160 fori=a1toa2
- 8170 forr=0to7
- 8171 fort=0to12:w1=peek(va(a3,1)+i):w2=peek(va(a3,2)+i)
- 8172 ifw1=hn(r,t)thengg=1
- 8173 ifw2=ln(r,t)andgg=1thent1=t:t2=r:goto8176
- 8174 nextt
- 8175 nextr
- 8176 printi+1;" note:";da$(t1);:printtab(20);"oktave:";t2:gg=0:ze=ze+1
- 8177 geta$:ifa$="[133]"thenreturn
- 8178 ifze>13thengosub90:fore=0to16:poke781,e:sys59903:next:ze=0:print""
- 8180 nexti
- 8190 print"fertig.":gosub90:return
- 8999 :
- 9000 rem drucken / ende
- 9001 :
- 9010 print"[147]";tab(10)"(d)rucken / (e)nde"
- 9015 printtab(8)"==========================="
- 9020 gosub80:ifa$<>"d"anda$<>"e"then9020
- 9030 ifa$="d"then9050
- 9040 poke808,237:end
- 9050 rem melodie drucken
- 9055 a1=peek(49152):ifa1=0thena1=255
- 9060 print"[147]bitte geben sie den namen ein :":inputk1$
- 9061 iflen(k1$)>40thenprint"name zu lang.":gosub90:goto9060
- 9062 print"[147]copyright bei wem ":inputk2$
- 9063 iflen(k2$)>60thenprint"name zu lang.":gosub90:goto9062
- 9064 print"[147]achtelnoten pro takt (4-12) ";:inputk3$:k3=val(k3$)
- 9065 ifk3<2ork3>12then9064
- 9066 print"[147]welche stimme sollen gedruckt werden ?"
- 9067 print"stimme 1 (j/n) ?":gosub80:ifa$<>"j"anda$<>"n"then9066
- 9068 ifa$="j"thenf1(1)=1
- 9069 print"stimme 2 (j/n) ?":gosub80:ifa$<>"j"anda$<>"n"then9069
- 9070 ifa$="j"thenf1(2)=1
- 9071 print"stimme 3 (j/n) ?":gosub80:ifa$<>"j"anda$<>"n"then9071
- 9072 ifa$="j"thenf1(3)=1
- 9080 iff1(1)=1andf1(2)=1andf1(3)=1thenf1=1:f2=3:f3=1:goto9100
- 9081 iff1(1)=1andf1(2)=1thenf1=1:f2=2:f3=1:goto9100
- 9082 iff1(2)=1andf1(3)=1thenf1=2:f2=3:f3=1:goto9100
- 9083 iff1(1)=1andf1(3)=1thenf1=1:f2=3:f3=2:goto9100
- 9084 fori=1to3:iff1(i)=1thenf1=i:f2=i:f3=1:goto9100
- 9085 nexti
- 9100 cc=11:gosub800:print"";:open5,4:print#5,chr$(14);
- 9110 fori=1to(40-(len(k1$)))/2:print#5,chr$(32);:next:print#5,k1$
- 9120 fori=1to40:print#5,"=";:next:print#5,chr$(15);:fori=1to3:print#5,chr$(13);:next
- 9130 h1=0:h2=15
- 9135 ifa1<h2thenh2=a1-1:dc=1
- 9140 fora3=f1tof2stepf3
- 9145 print#5,a3;") ";:t3=0
- 9150 fori=h1toh2
- 9160 forr=0to7
- 9170 fort=0to12
- 9180 w1=peek(va(a3,1)+i):w2=peek(va(a3,2)+i)
- 9190 ifw1=hn(r,t)thengg=1
- 9191 ifw2=ln(r,t)-2andgg=1thengg=0:t1=t:t2=r:goto9230
- 9192 ifw2=ln(r,t)-1andgg=1thengg=0:t1=t:t2=r:goto9230
- 9193 ifw2=ln(r,t)+1andgg=1thengg=0:t1=t:t2=r:goto9230
- 9194 ifw2=ln(r,t)+2andgg=1thengg=0:t1=t:t2=r:goto9230
- 9200 ifw2=ln(r,t)andgg=1thengg=0:t1=t:t2=r:goto9230
- 9205 geta$:ifa$="[133]"thenprint#5:close5:return
- 9210 nextt
- 9220 nextr
- 9230 ifda$(t1)="pause"thenjn$="pau":goto9260
- 9240 jn$=da$(t1)+str$(t2):jn$=left$(jn$,2)+right$(jn$,1)
- 9250 ifmid$(jn$,2,1)=chr$(32)thenjn$=left$(jn$,1)+right$(jn$,1)+chr$(32)
- 9260 print#5,jn$;chr$(32);
- 9270 t3=t3+1:ift3=k3thenprint#5,"[221] ";:t3=0
- 9280 nexti
- 9290 print#5,chr$(10);
- 9300 nexta3
- 9310 fori=1to((h2-h1)+1)*4+9:print#5,"-";:next:print#5,chr$(10);
- 9315 fori=1to5:print#5,chr$(32);:next
- 9320 fori=h1+1toh2+1:kl$=str$(i)
- 9330 kl$=right$(kl$,len(kl$)-1):xc=len(kl$)
- 9340 ifxc=1thenkl$=chr$(32)+chr$(32)+kl$+chr$(32):goto9370
- 9350 ifxc=2thenkl$=chr$(32)+kl$+chr$(32):goto9370
- 9360 kl$=kl$+chr$(32)
- 9370 gh=gh+1:ifgh=k3+1thenprint#5,chr$(32);chr$(32);:gh=1
- 9380 print#5,kl$;:nexti:print#5,chr$(13);
- 9390 h3=h1:h1=h2+1
- 9400 h2=h2+(h2-h3)+1:gh=0:t3=0
- 9410 ifdc=1thendc=0:goto9440
- 9420 ifh2>=a1thenh2=a1:dc=1
- 9430 print#5,chr$(10);:goto9140
- 9440 print#5,chr$(13);chr$(13);chr$(15);
- 9450 f$(1)="composer v3.0 (c) 1986 bei d.borchert"
- 9460 f$(2)=k1$+" (c) 1986 bei "+k2$
- 9470 fori=1to2
- 9480 forj=1to(80-len(f$(i)))/2:print#5,chr$(32);:next:print#5,f$(i):nexti
- 9490 fori=1to3:f1(i)=0:next:print#5:close5:return
- 9999 :
- 10000 rem lese-und schreibfehler abfangen
- 10001 :
- 10009 print"";c;" ";c$
- 10010 print"sie koennen diesen namen nicht benutzen"
- 10020 print"(m) zurueck ins hauptmenue"
- 10030 print"(n) noch ein versuch "
- 10040 gosub80
- 10050 ifa$="m"thenreturn
- 10060 ifa$="n"andmp=1then1000
- 10070 ifa$="n"andmp=2then2000
- 10075 ifa$="n"andmp=8then8000
- 10080 goto10040
- 10999 :
- 11000 rem daten von noten und zehldauer
- 11001 :
- 11005 datac,#c,d,#d,e,f,#f,g,#g,a,#a,h,pause
- 11010 data1/1,7/8,3/4,5/8,1/2,3/8,1/4,1/8
- 11020 data49200,49500,49800,50100,50400,50700
- 11025 rem daten fuer windows
- 11030 data wellenformen,------------,17 = dreieck,33 = saegezahn
- 11040 data65 = rechteck,129 = rauschen
- 11050 datapulsform,--------,werte von 0-15,l-byte=niederwert. -
- 11060 datah-byte=hoeherwert. -,byte
- 11070 dataanschlag/abschwellen,--------------------,,bitte nur werte
- 11080 datavon 0-15,eingeben
- 11090 datahalten/ausklingen,-----------------,,nur werte,von 0-15,sind zulaessig
- 11100 data---------------------,lautstaerke,werte von 0-15
- 11110 data---------------------,geschwindigkeit,werte von 4-32
- 11120 dataanzahl der noten,---------------,,eingaben von,0-256,sind moeglich
- 11130 data(cursortasten)=note aussuchen,(funkt.tasten)=dauer
- 11140 data(n)=eine note vor,(v)=naechste stimme eingeben
- 11150 data(shift-home)=zurueck zum menue,(_)=eine note zurueck
- 11160 databitte einen moment geduld.,die musikstuecke werden
- 11170 dataabsolut auf diskette/kassette,geschrieben. deshalb
- 11180 datadauert es etwas laenger,
- 11190 databitte haben sie,einen moment,geduld,,,
- 11200 datadiskettenbefehle,q!=hauptmenue
- 11210 data$!=inhaltsverzeichnis,"s!name=loescht das file name"
- 11220 datav!=validatieren der diskette,i!=initialisieren der diskette
- 11230 datadruecken sie <f1>,um den druckvorgang zu,unterbrechen. bitte
- 11240 datahaben sie etwas geduld,der computer und der,drucker leisten harte arbeit.
-