0 IF A>1 THEN RETURN 1000 REM 1005 REM 1010 REM 1015 REM 1020 REM 1025 REM 1030 REM 1035 REM 1040 REM 1045 REM 1050 REM 1055 REM 1060 REM 1065 IF M=7 THEN 7665 1068 IF M=7.5 THEN 7960 1070 REM 1075 REM 1080 IFA=0 THENA=.1:LOAD"MODULATOR",8,1 1082 IFA=.1THENA=.2:LOAD"SEQUENCER.OBJ",8,1 1084 IFA=.2THENA= 1:LOAD"SEQ.ERG.OBJ",8,1 1085 REM 1120 REM 1130 POKE 56,144:CLR 1140 REM 1150 REM 1160 DIM V%(8,255),TN%(255),TH(24) 1165 DIM BF(2),T(2),O(2),OF(2),S(2) 1170 DIM C1(2),C(2),AD(2),SR(2) 1175 DIM BL$(6),KV$(3),KF$(6),MD$(3) 1180 DIM TN$(11) 1185 REM 1190 GOSUB 8000 :REM INITIALISIERUNGEN 1200 GOSUB 4000 :REM HAUPTMENUE 1210 REM 1500 REM 1510 REM 1520 REM 1530 GET A$:IF A$="" THEN 1530 1540 A=ASC(A$) 1550 SYS GS,V%(M,A) :REM BERECHN. GOSUB 1560 GOTO 1530 2000 REM 2010 REM 2020 REM 2025 POKE 650,0 2030 F=TH(TN%(A)):AD=MO+72:X=PEEK(AD) 2035 IF S(0) THEN SYSDO,MO ,F*BF(0):POKE SI+4 ,C1(0) 2040 IF S(1) THEN SYSDO,MO+7 ,F*BF(1):POKE SI+11,C1(1) 2050 IF S(2) THEN SYSDO,MO+14,F*BF(2):POKE SI+18,C1(2) 2090 IF EG THEN POKE AD,X OR 1 2110 IF SU THEN POKE 650,128:RETURN 2120 IF PEEK(203)<>64 AND PEEK(198)=0 THEN 2120 2130 POKE AD,X AND 254 2140 POKE SI+4 ,C(0) 2150 POKE SI+11,C(1):POKE SI+18,C(2) 2160 POKE 650,128:RETURN 2500 REM 2510 REM 2520 REM 2530 REM 2550 PW=PW+P2:IF PW>=PM THEN PW=PW-PM 2555 SYSGT,PV 2560 PW=PW+P1:IF PW>=PM THEN PW=PW-PM 2565 SYSGT,PV 2570 PW=PW-P1:IF PW< 0 THEN PW=PW+PM 2575 SYSGT,PV 2580 PW=PW-P2:IF PW< 0 THEN PW=PW+PM 2585 SYSGT,PV 2600 REM 2605 REM 2610 SYSDO,PA,PW:L=LEN(STR$(PW)) 2620 SYSPR,3+LN,4,BL$(6-L);F2$;PW 2625 RETURN 2630 REM 2635 REM 2640 POKE PA,PW:L=LEN(STR$(PW)) 2650 SYSPR,3+LN,11,BL$(4-L);F2$;PW 2655 RETURN 2660 REM 2665 REM 2670 POKE PA,PW:L=LEN(STR$(PW)) 2680 SYSPR,3+LN,16,BL$(4-L);F2$;PW 2685 RETURN 2690 REM 2695 REM 2700 IF A>136 OR A<133 THEN RETURN 2705 B=A-133 :REM B=0,1,2,3 2710 POKE PA,(PEEK(PA)AND231)OR(B*8) 2715 SYSPR,3+LN,21,F2$;KV$(B) 2717 SYSPR,6 ,34,F2$;KF$(B):RETURN 2720 REM 2725 REM 2730 IF A>135 OR A<133 THEN RETURN 2735 B=A-132 :REM B=1,2,3 2740 POKE PA,(PEEK(PA)AND249)OR(B*2) 2745 SYSPR,3+LN,28,F2$;MD$(B):RETURN 2750 REM 2755 REM 2760 POKE PA,PW:L=LEN(STR$(PW)) 2765 SYSPR,7,S,BL$(4-L);F2$;PW:RETURN 2770 REM 2775 REM 2780 B=-(A>134):REM F1,F3 B=0 F5,F7 B=1 2785 POKE PA,(PEEK(PA)AND247)OR(B*8) 2790 SYSPR,7,29,F2$;CHR$(43+2*B) 2795 RETURN 2810 REM 2815 REM 2820 IF A>135 OR A<133 THEN RETURN 2825 B=A-132 :REM B=1,2,3 2830 POKE PA,(PEEK(PA)AND249)OR(B*2) 2835 SYSPR,7,33,F2$;MD$(B):RETURN 2840 REM 2845 REM 2850 POKE PA,PWAND7:POKE PA+1,INT(PW/8) 2855 L=LEN(STR$(PW)) 2860 SYSPR,5,2,BL$(5-L);F2$;PW:RETURN 2865 REM 2870 REM 2875 RF=(RF AND 15)+16*PW:POKE PA,RF 2880 L=LEN(STR$(PW)) 2885 SYSPR,5,9,BL$(3-L);F2$;PW:RETURN 2890 REM 2895 REM 2900 IF A>136 OR A<133 THEN RETURN 2905 B=A-133 :REM B=0,1,2,3 2910 X=2^B:X1=255-X:REM MASKEN 2915 Y=RF AND X 2920 RF=(RF AND X1)OR(X-Y):POKE PA,RF 2925 Y=-128*(Y=0):AD=1024+(5+B)*40+15 2930 FOR I=AD TO AD+5 2935 : POKE I,(PEEK(I)AND127)OR Y 2940 NEXT:RETURN 2945 REM 2950 REM 2955 IF A>136 OR A<133 THEN RETURN 2960 B=A-129 :REM B=4,5,6,7 2965 X=2^B:X1=255-X:REM MASKEN 2970 PW=PEEK(PA):Y=PW AND X 2975 POKE PA,(PW AND X1)OR(X-Y) 2980 Y=-128*(Y=0):AD=1024+(1+B)*40+25 2985 FOR I=AD TO AD+3 2990 : POKE I,(PEEK(I)AND127)OR Y 2995 NEXT:RETURN 3000 REM 3005 REM 3010 POKE PA,(PEEK(PA) AND 240) OR PW 3015 L=LEN(STR$(PW)) 3020 SYSPR,5,31,BL$(3-L);F2$;PW:RETURN 3050 REM 3052 REM 3054 IF A<>134 THEN 3064 3056 REM 3058 OF=OF+1:IF OF<=50 THEN 3110 3062 OF=-49:GOTO 3076 3064 IF A<>135 THEN 3074 3066 REM 3068 OF=OF-1:IF OF>=-49 THEN 3110 3072 OF=50:GOTO 3084 3074 IF A<>133 THEN 3082 3076 REM 3078 T=T+1:IF T<=11 THEN 3110 3080 T=0:GOTO 3090 3082 IF A<>136 THEN RETURN 3084 REM 3086 T=T-1:IF T>=0 THEN 3110 3088 T=11:GOTO 3096 3090 REM 3092 O=O+1:IF O<=5 THEN 3110 3094 O=0:GOTO 3110 3096 REM 3098 O=O-1:IF O>=0 THEN 3110 3100 O=5:T=10 3110 REM 3112 IF T=11 AND O=5 THEN T=0:O=0 3114 BF=440*2^(O-4+(T-9)/12+OF/1200) 3116 O(SN)=O:T(SN)=T:OF(SN)=OF 3118 BF(SN)=BF*17.0327 3120 SYSDO,MO+7*SN,F*BF(SN) 3122 REM 3124 SYSPR,3+SN,3,F2$;O 3126 SYSPR,3+SN,2,TN$(T) 3128 SYSPR,3+SN,5,RIGHT$(" "+STR$(OF),3) 3130 RETURN 3150 REM 3155 REM 3160 SYSDO,PA,PW 3165 SYSPR,3+SN,9,F2$;RIGHT$(" "+STR$(PW),4) 3170 RETURN 3175 REM 3180 REM 3185 AD(SN)=(AD(SN)AND15) OR PW*16 3190 POKE PA,AD(SN) 3195 SYSPR,3+SN,14,F2$;RIGHT$(STR$(PW),2) 3200 RETURN 3205 REM 3210 REM 3215 AD(SN)=(AD(SN)AND240) OR PW 3220 POKE PA,AD(SN) 3225 SYSPR,3+SN,17,F2$;RIGHT$(STR$(PW),2) 3230 RETURN 3235 REM 3240 REM 3245 SR(SN)=(SR(SN)AND15) OR PW*16 3250 POKE PA,SR(SN) 3255 SYSPR,3+SN,20,F2$;RIGHT$(STR$(PW),2) 3260 RETURN 3265 REM 3270 REM 3275 SR(SN)=(SR(SN)AND240) OR PW 3280 POKE PA,SR(SN) 3285 SYSPR,3+SN,23,F2$;RIGHT$(STR$(PW),2) 3290 RETURN 3300 REM 3305 REM 3310 IF A<>133 AND A<>134 THEN 3335 3315 REM 3320 C(SN)=C(SN) OR 2^(7-S) 3325 C1(SN)=C(SN) OR 1 3330 SYSPR,3+SN,26+S,F2$;"1":GOTO 3355 3335 REM 3340 C(SN)=C(SN) AND 255-2^(7-S) 3345 C1(SN)=C(SN) OR 1 3350 SYSPR,3+SN,26+S,F2$;"0" 3355 REM 3358 POKE 50334+SN,C(SN) 3360 X=C(SN):IF SU THEN X=C1(SN) 3365 POKE SI+7*SN+4,X:RETURN 3370 REM 3375 REM 3380 POKE PA,PW:L=LEN(STR$(PW)) 3385 SYSPR,3+SN,34,BL$(4-L);F2$;PW 3390 RETURN 3400 REM------------------------------- 3405 REM TEMPO 3410 IF PW<40 THEN PW=40 3415 IF PW>480 THEN PW=480 3420 TE=PW:SYSDO,PA,INT(6E7/(24*TE)) 3425 SYSPR,6,11,F2$;RIGHT$(STR$(PW),3) 3430 RETURN 3500 REM 3510 REM 3520 REM 3525 SYSPR,15,10,F2$;"STIMME 1,2,3" 3530 GET A$:IF A$=""THEN 3530 3540 IFA$="1"ORA$="2"ORA$="3"THEN 3560 3550 GOTO 3590 3560 I=VAL(A$)-1 :S(I)=NOT S(I) 3570 IF S(I) THEN PRINT CHR$(18); 3580 SYSPR,21,31+2*I,F1$;A$;CHR$(146); 3590 SYSPR,15,10,F1$;"STIMME 1,2,3" 3595 RETURN 3600 REM 3610 REM 3620 REM 3630 POKE 650,64 3640 AD=MO+72:X=PEEK(AD):POKE AD,X OR 1 3650 IF PEEK(203)<>64 AND PEEK(198)=0 THEN 3650 3660 POKE AD,XAND254:POKE650,128:RETURN 3700 REM 3710 REM 3720 REM 3730 EG=NOT EG 3740 IF EG THEN PRINT CHR$(18); 3750 SYSPR,23,31,F1$;"SOFT-EG[146]":RETURN 3800 REM 3810 REM 3820 REM 3830 SU=NOT SU 3840 POKE 50344,-SU:IF SU THEN PRINT CHR$(18); 3850 SYSPR,22,31,F1$;"SUSTAIN[146]" 3860 IF NOT SU THEN 2140 3870 RETURN 4000 REM 4010 REM 4020 REM 4030 M=0:PV=0:SYSCL:PRINT "";F1$ 4040 PRINT" [176][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][174]" 4045 PRINT" [194] M O D U L A T O R [146][194]" 4050 PRINT" [194] THOMAS KRAETZIG 1985 [146][194]" 4055 PRINT" [173][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][189]" 4100 SYSPR,6,1,F2$;"SH V";F1$;" STIMMEN-PARAMETER" 4105 SYSPR,7,1,F2$;" F";F1$;" FILTER/LAUTSTAERKE" 4110 SYSPR,8,1,F2$;" L";F1$;" LFO" 4115 SYSPR,9,1,F2$;" H";F1$;" HUELLKURVE (SOFT-EG)" 4120 SYSPR,10,1,F2$;" K";F1$;" KSV" 4125 SYSPR,11,1,F2$;"SH S";F1$;" SOUNDS" 4130 SYSPR,12,1,F2$;" D";F1$;" DISK" 4132 SYSPR,13,1,F2$;" A";F1$;" SEQUENCER" 4135 RETURN 4200 REM 4210 REM 4220 REM 4240 SYSPR,15,1, F2$;"V 1,2,3" 4245 SYSPR,15,10,F1$;"STIMME 1,2,3 4250 [158]PR,15,26,F2$;"S" 4255 [158]PR,15,32,F1$;"SUSTAIN" 4260 [158]PR,16,1, F2$;"SH SPACE" 4270 [158]PR,16,10,F1$;"EG (AB-)KOPPELN" 4280 [158]PR,16,26,F2$;"SPACE" 4290 [158]PR,16,32,F1$;"EG GATE" 4292 [158]PR,17,1, F2$;"X" 4294 [158]PR,17,10,F1$;"HAUPTMENUE" 4300 [158]PR,19,0,F2$; 4310 [129] I[178]1 [164] 4 4320 : [153]"  PEEK PEEK PEEK PEEK PEEK PEEK PEEK PEEK PEEK PEEK PEEK PEEK PEEK PEEK WAIT":[130] 4330 [153]" QPEEKWPEEKEPEEKRPEEKTPEEKYPEEKUPEEKIPEEKOPEEKPPEEK@PEEK*PEEK^PEEK;PEEK=" 4340 [158]PR,19,0,; 4350 [129] I[178]1 [164] 2 4360 : [153]"           ":[130] 4370 [153]" 2356790-\C" 4380 [158]PR,19,31,F1$;"AKTIV:" 4390 [129] I[178]0 [164] 2 4400 : A$[178][201]([196](I[170]1),1) 4410 : [141] 3570:[130] I 4420 [141] 3840:[141] 3740 4430 [142] 4500 [143] 4505 [143] 4510 [143] 4515 M[178]1:PV[178]3050:[158]CL:[153]"WAIT";F1$ 4520 [153]" F PW A D S R CONTROL PORTA" 4525 [153]" ORLENLENLENLENLENLEN=LENLENLENLEN=LENLEN=LENLEN=LENLEN=LENLEN=LENLENLENLENLENLENLEN=LENLENLENLEN^" 4530 [129] I[178]1 [164] 3 4535 [153]" PEEK PEEK PEEK PEEK PEEK PEEK PEEK PEEK PEEK" 4540 [130] I 4545 [153]" /LENLENLENLENLENLEN>LENLENLENLEN>LENLEN>LENLEN>LENLEN>LENLEN>=======>LENLENLENLENEXP" 4550 [158]PR,7,26,"PEEKPEEKPEEKPEEKPEEKPEEK/LENLENSYNC" 4555 [158]PR,8,26,"PEEKPEEKPEEKPEEKPEEK/LENLENRING" 4560 [158]PR,9,1,F2$;"F1 ++";F1$ 4565 [158]PR,9,26,"PEEKPEEKPEEKPEEK/LENLENTEST" 4570 [158]PR,10,1,F2$;"F3 +";F1$ 4575 [158]PR,10,26,"PEEKPEEKPEEK/LENLENTRIAN" 4580 [158]PR,11,1,F2$;"F5 -";F1$ 4585 [158]PR,11,26,"PEEKPEEK/LENLENSAWTOOTH" 4590 [158]PR,12,1,F2$;"F7 --";F1$ 4595 [158]PR,12,26,"PEEK/LENLENSQUARE" 4600 [158]PR,13,26,"/LENLENNOISE" 4602 [143] 4604 A$[178]F2$:F2$[178]F1$ 4606 [129] SN[178]0 [164] 2 4608 : T[178]T(SN):O[178]O(SN):OF[178]OF(SN) 4610 : [141] 3122:[143] F 4612 : PW[178]([183](MO[170]7[172]SN[170]2)):[141] 3165 4614 : PW[178][181](AD(SN)[173]16) :[141] 3195 4616 : PW[178]AD(SN)[175]15 :[141] 3225 4618 : PW[178][181](SR(SN)[173]16) :[141] 3255 4620 : PW[178]SR(SN)[175]15 :[141] 3285 4622 : [143] CONTROL-BYTE (7 BIT) 4624 : B[178]C(SN):A[178]128 4626 : [158]PR,3[170]SN,26,F1$;"0000000" 4628 : [129] S[178]7 [164] 1 [169] [171]1 4630 : [139](B[175]A)[167][158]PR,3[170]SN,33[171]S,"1" 4632 : A[178]A[173]2:[130] S 4634 : PA[178]MO[170]7[172]SN[170]4:PW[178][194](PA) 4636 : [141] 3370:[143] PORTA 4638 [130] SN 4640 F2$[178]A$ 4642 SN[178]0:AV[178]4700:[158]GS,AV:[142] 4650 [143] 4652 [143] 4654 [143] 4656 SN[178]SN[171]1:[139] SN[179]0 [167] SN[178]2 4658 [141] 5815:[158]GT,AV 4660 [143] 4662 SN[178]SN[170]1:[139] SN[177]2 [167] SN[178]0 4664 [141] 5815:[158]GT,AV 4666 [143] 4668 [139] AV[179][177]4880 [167] 4674 4670 S[178]S[170]1:[139] S[177]6 [167] AV[178]4910 4672 [137] 4678 4674 AV[178]AV[170]30:[139] AV[177]4910 [167] AV[178]4700 4676 [139] AV[178]4880 [167] S[178]0 4678 [141] 5815:[158]GT,AV 4680 [143] 4682 [139] AV[179][177]4880 [167] 4688 4684 S[178]S[171]1:[139] S[179]0 [167] AV[178]4850 4686 [137] 4692 4688 AV[178]AV[171]30:[139] AV[179]4700 [167] AV[178]4910 4690 [139] AV[178]4880 [167] S[178]6 4692 [141] 5815:[158]GT,AV 4700 [143] 4702 [143] 4704 PB[178]FA[170]40[172](SN[170]3)[170]2 4706 [129] I[178]PB [164] PB[170]5:[151] I,F2:[130] 4708 T[178]T(SN):O[178]O(SN):OF[178]OF(SN) 4710 PA[178]MO[170]7[172]SN:PV[178]3050:[142] 4730 [143] 4732 [143] 4734 PB[178]FA[170]40[172](SN[170]3)[170]9 4736 [129] I[178]PB [164] PB[170]3:[151] I,F2:[130] 4738 PA[178]MO[170]7[172]SN[170]2:PW[178][183](PA):PM[178]4096 4740 P1[178]1:P2[178]50:PV[178]3150:[142] 4760 [143] 4762 [143] 4764 PB[178]FA[170]40[172](SN[170]3)[170]14 4766 [151] PB,F2:[151] PB[170]1,F2 4768 PA[178]SI[170]7[172]SN[170]5:PW[178][181](AD(SN)[173]16) 4770 PM[178]16:P1[178]1:P2[178]1:PV[178]3175:[142] 4790 [143] 4792 [143] 4794 PB[178]FA[170]40[172](SN[170]3)[170]17 4796 [151] PB,F2:[151] PB[170]1,F2 4798 PA[178]SI[170]7[172]SN[170]5:PW[178]AD(SN)[175]15 4800 PM[178]16:P1[178]1:P2[178]1:PV[178]3205:[142] 4820 [143] 4822 [143] 4824 PB[178]FA[170]40[172](SN[170]3)[170]20 4826 [151] PB,F2:[151] PB[170]1,F2 4828 PA[178]SI[170]7[172]SN[170]6:PW[178][181](SR(SN)[173]16) 4830 PM[178]16:P1[178]1:P2[178]1:PV[178]3235:[142] 4850 [143] 4852 [143] 4854 PB[178]FA[170]40[172](SN[170]3)[170]23 4856 [151] PB,F2:[151] PB[170]1,F2 4858 PA[178]SI[170]7[172]SN[170]6:PW[178]SR(SN)[175]15 4860 PM[178]16:P1[178]1:P2[178]1:PV[178]3265:[142] 4880 [143] 4882 [143] 4884 PB[178]FA[170]40[172](SN[170]3)[170]26[170]S 4886 [151] PB,F2 4888 PA[178]SI[170]7[172]SN[170]4:PV[178]3300:[142] 4910 [143] 4912 [143] 4914 PB[178]FA[170]40[172](SN[170]3)[170]35 4916 [129] I[178]0 [164] 2:[151] PB[170]I,F2:[130] 4918 PA[178]MO[170]7[172]SN[170]4:PW[178][194](PA):PM[178]256 4920 P1[178]1:P2[178]10:PV[178]3370:[142] 5000 [143] 5005 [143] 5010 [143] 5015 M[178]2:PV[178]0:[158]CL:[153]"WAIT";F1$ 5020 [153]" FILTER/LAUTSTAERKE" 5025 [153]" ORLENLENLENLENLEN=LENLENLENLENLEN=LENLENLENLENLENLENLENLEN=LENLENLENLENLENLENLEN=LENLENLENLEN^" 5030 [153]" PEEKFILTFPEEK RES PEEKSCHALTERPEEK MODUS PEEKLAUTPEEK" 5035 [153]" -LENLENLENLENLEN(null)LENLENLENLENLEN(null)LENLENLENLENLENLENLENLEN(null)LENLENLENLENLENLENLEN(null)LENLENLENLEN<" 5040 [153]" PEEK PEEK PEEK FILT1 PEEK LP PEEK PEEK" 5045 [153]" -LENLENLENLENLEN>LENLENLENLENLEN< FILT2 PEEK BP -LENLENLENLENEXP" 5050 [153]" PEEK PEEK FILT3 PEEK HP PEEK" 5055 [153]" PEEK PEEK FILTEX PEEK 3OFF PEEK" 5060 [153]" /LENLENLENLENLENLENLENLENLENLENLEN>LENLENLENLENLENLENLENLEN>LENLENLENLENLENLENLENEXP" 5065 [153] F2$;" F1";F1$;" ++ FILT1 LP +" 5070 [153] F2$;" F3";F1$;" + FILT2 BP +" 5075 [153] F2$;" F5";F1$;" - FILT3 HP -" 5080 [153] F2$;" F7";F1$;" -- FILTEX 3OFF -" 5085 PW[178]([194](MO[170]21)[175]7)[170]8[172][194](MO[170]22) 5090 [158]PR,5, 7[171][195]([196](PW)),PW 5095 PW[178][181](RF[173]16) 5100 [158]PR,5,12[171][195]([196](PW)),PW 5102 [139]RF[175]1[167] [158]PR,5,15,"FILT1 WAIT" 5104 [139]RF[175]2[167] [158]PR,6,15,"FILT2 WAIT" 5106 [139]RF[175]4[167] [158]PR,7,15,"FILT3 WAIT" 5108 [139]RF[175]8[167] [158]PR,8,15,"TILTEXWAIT" 5110 PW[178][194](MO[170]23) 5112 [139]PW[175] 16[167] [158]PR,5,25," LP WAIT" 5114 [139]PW[175] 32[167] [158]PR,6,25," BP WAIT" 5116 [139]PW[175] 64[167] [158]PR,7,25," HP WAIT" 5118 [139]PW[175]128[167] [158]PR,8,25,"3OFFWAIT" 5120 PW[178][194](MO[170]23)[175]15 5122 [158]PR,5,34[171][195]([196](PW)),PW 5125 AV[178]5200:[158]GS,AV:[142] 5130 [143] 5135 [143] 5140 [143] 5145 AV[178]AV[170]50:[139] AV[177]5400 [167] AV[178]5200 5150 [137] 5165 5155 [143] 5160 AV[178]AV[171]50:[139] AV[179]5200 [167] AV[178]5400 5165 [141] 5815:A[178]PB[171]FA[171]200 5170 [139] A[179][177]15 [175] A[179][177]25 [167] [158]GT,AV 5175 [129] J[178]1[164]3:PB[178]PB[170]40:[141]5815:[130] 5180 PB[178]PB[171]120:[158]GT,AV 5200 [143] 5205 [143] 5210 PB[178]FA[170]203 5215 [129] I[178]PB [164] PB[170]3:[151] I,F2:[130] 5220 PA[178]MO[170]21:PW[178][194](PA)[170]8[172][194](PA[170]1) 5225 PM[178]2048:P1[178]1:P2[178]50:PV[178]2850:[142] 5250 [143] 5255 [143] 5260 PB[178]FA[170]210 5265 [151] PB,F2:[151] PB[170]1,F2 5270 PA[178]SI[170]23:PW[178][181](RF[173]16) 5275 PM[178]16:P1[178]1:P2[178]1:PV[178]2875:[142] 5300 [143] 5305 [143] 5310 PB[178]FA[170]215 5315 [129] I[178]0 [164] 120 [169]40:[129] J[178]0 [164] 5 5320 : [151] PB[170]I[170]J,F2:[130]:[130] 5325 PA[178]SI[170]23:PW[178]RF [175] 15 5330 PV[178]2900:[142] 5350 [143] 5355 [143] 5360 PB[178]FA[170]225 5365 [129] I[178]0 [164] 120 [169]40:[129] J[178]0 [164] 3 5370 : [151] PB[170]I[170]J,F2:[130]:[130] 5375 PA[178]MO[170]23 5380 PV[178]2955:[142] 5400 [143] 5405 [143] 5410 PB[178]FA[170]232 5415 [151] PB,F2:[151] PB[170]1,F2 5420 PA[178]MO[170]23:PW[178][194](PA) [175] 15 5425 PM[178]16:P1[178]1:P2[178]1:PV[178]3010:[142] 5500 [143] 5505 [143] 5510 [143] 5515 M[178]3:[158]CL:[153]"WAIT";F1$; 5520 [153]" ORLENLENLENLENLENLEN=LENLENLENLEN=LENLENLENLEN=LENLENLENLENLENLEN=LENLENLENLENLEN^" 5525 [153]" PEEK LFOF PEEKLFOPPEEKLFOAPEEKKURVE PEEKMODUSPEEK" 5530 [153]" ORLEN(null)LENLENLENLENLENLEN(null)LENLENLENLEN(null)LENLENLENLEN(null)LENLENLENLENLENLEN(null)LENLENLENLENLEN(null)LENLENLENLEN^" 5535 [129] Z[178]3 [164] 9 5540 : [158]PR,Z,1,"PEEK PEEK PEEK PEEK PEEK PEEK PEEK PEEK" 5545 [130] Z 5550 [158]PR,10,1,"/LEN>LENLENLENLENLENLEN>LENLENLENLEN>LENLENLENLEN>LENLENLENLENLENLEN>LENLENLENLENLEN>LENLENLENLENEXP 5555 PRINT F2$;" F1";F1$;" ++ ++ ++ TRIAN RESET" 5560 PRINT F2$;" F3";F1$;" + + + SAWUP HOLD" 5565 PRINT F2$;" F5";F1$;" - - - SAWDWN RUN" 5570 PRINT F2$;" F7";F1$;" -- -- -- SQUARE" 5575 FOR LN=0 TO 6 5580 : Z=3+LN 5585 : SYSPR,Z,2,CHR$(48+LN) 5590 : PW=USR(MO+32+5*LN) :REM LFOF 5595 : SYSPR,Z,10-LEN(STR$(PW)),PW 5600 : PW=PEEK(MO+34+5*LN) :REM LFOP 5605 : SYSPR,Z,15-LEN(STR$(PW)),PW 5610 : PW=PEEK(MO+35+5*LN) :REM LFOA 5615 : SYSPR,Z,20-LEN(STR$(PW)),PW 5620 : PW=PEEK(MO+36+5*LN) :REM LFOC 5625 : SYSPR,Z,21,KV$((PW AND 24)/8) 5630 : SYSPR,Z,28,MD$((PW AND 6)/2) 5640 NEXT LN 5645 LN=0:AV=5830:SYSGS,AV:RETURN 5650 REM 5655 REM 5670 REM 5675 LN=LN-1:IF LN<0 THEN LN=6 5680 GOSUB 5815:SYSGT,AV 5685 REM 5690 LN=LN+1:IF LN>6 THEN LN=0 5695 GOSUB 5815:SYSGT,AV 5700 REM 5705 AV=AV+30:IF AV>5950 THEN AV=5830 5710 GOSUB 5810:SYSGT,AV 5715 REM 5720 AV=AV-30:IF AV<5830 THEN AV=5950 5725 GOSUB 5810:SYSGT,AV 5800 REM 5805 REM 5810 SYSPR,6,34," " 5815 FORI=PBTOPB+6:POKEI,F1:NEXT:RETURN 5820 REM 5825 REM 5830 PB=FA+40*(LN+3)+4 5835 FOR I=PB TO PB+5:POKE I,F2:NEXT 5840 PA=MO+32+5*LN:PW=USR(PA):PM=65536 5845 P1=1:P2=200:PV=2610:RETURN 5850 REM 5855 REM 5860 PB=FA+40*(LN+3)+11 5865 FOR I=PB TO PB+3:POKE I,F2:NEXT 5870 PA=MO+34+5*LN:PW=PEEK(PA):PM=256 5875 P1=1:P2=10 :PV=2640:RETURN 5880 REM 5885 REM 5890 PB=FA+40*(LN+3)+16 5895 FOR I=PB TO PB+3:POKE I,F2:NEXT 5900 PA=MO+35+5*LN:PW=PEEK(PA):PM=256 5905 P1=1:P2=10 :PV=2670:RETURN 5910 REM 5915 REM 5920 PB=FA+40*(LN+3)+21 5925 FOR I=PB TO PB+5:POKE I,F2:NEXT 5930 PA=MO+36+5*LN:PV=2700 5935 B=(PEEK(PA) AND 24)/8:GOTO 2717 5940 REM 5945 REM 5950 PB=FA+40*(LN+3)+28 5955 FOR J=PB TO PB+4:POKE J,F2:NEXT 5960 PA=MO+36+5*LN 5965 PV=2730:RETURN 6000 REM 6010 REM 6020 REM 6030 M=4:SYSCL:PRINT"[146]";F1$ 6040 PRINT" SOFTWARE-EG":PRINT:PRINT 6050 PRINT" [176][195][195][195][195][178][195][195][195][195][178][195][195][195][195][178][195][195][195][195][178][195][195][195][195][178][195][195][195][195][195][178][195][195][195][195][195][174]" 6060 PRINT" [194] A [194] D [194] S [194] R [194] EGA[194] FORM[194]MODUS[194]" 6070 PRINT" [171][195][195][195][195][219][195][195][195][195][219][195][195][195][195][219][195][195][195][195][219][195][195][195][195][219][195][195][195][195][195][219][195][195][195][195][195][179]" 6080 PRINT" [194] [194] [194] [194] [194] [194] [194] [194]" 6090 PRINT" [173][195][195][195][195][177][195][195][195][195][177][195][195][195][195][177][195][195][195][195][177][195][195][195][195][177][195][195][195][195][195][177][195][195][195][195][195][189]" 6100 SYSPR,10,1,F2$;"F1":PRINT" F3" 6110 PRINT" F5":PRINT" F7";F1$ 6120 SYSPR,10,13,"++ RESET" 6130 SYSPR,11,13,"+ + HOLD" 6140 SYSPR,12,13,"- - RUN" 6150 SYSPR,13,13,"--" 6160 FOR I=0 TO 4 6170 : PW=PEEK(MO+67+I) 6180 : SYSPR,7,6+5*I-LEN(STR$(PW)),PW 6190 NEXT I 6210 PW=PEEK(MO+72) 6220 SYSPR,7,29,CHR$(43+(PW AND 8)/4) 6230 SYSPR,7,33,MD$((PW AND 6)/2) 6240 AV=6310:AN=0:SYSGT,AV 6300 REM 6305 REM 6310 PB=FA+282+5*AN:S=2+5*AN 6315 FOR I=PB TO PB+3:POKE I,F2:NEXT 6320 PA=MO+67+AN :PW=PEEK(PA) 6325 PM=256:IF AN=0 THEN PM=129 6330 P1=1:P2=10:PV=2760:RETURN 6335 REM 6340 REM 6345 PB=FA+280+27:POKE PB+2,F2 6350 PA=MO+72:PV=2780:RETURN 6370 REM 6375 REM 6380 PB=FA+280+33 6385 FOR I=PB TO PB+4:POKE I,F2:NEXT 6390 PA=MO+72:PV=2820:RETURN 6395 REM 6400 REM 6405 REM 6410 IF AV<>6310 THEN 6420 6415 AN=AN-1:IF AN>=0 THEN 6430 6420 AV=AV-35:AN=4 6425 IF AV<6310 THEN AV=6380 6430 GOSUB 5815:SYSGT,AV 6435 REM 6440 IF AV<>6310 THEN 6450 6445 AN=AN+1:IF AN<=4 THEN 6460 6450 AV=AV+35 6455 IF AV>6380 THEN AV=6310:AN=0 6460 GOSUB 5815:SYSGT,AV 6500 REM 6510 REM 6520 REM 6530 M=5:PV=0:PRINT"[146]";:SYSCL 6540 SYSPR,1,1,F1$;"KREUZSCHIENEN-VERTEILER" 6550 SYSPR,3,1,"E LFO" 6560 SYSPR,4,1,"G6543210" 6570 SYSPR,5,1,F2$;"[164][164][164][164][164][164][164][164]" 6580 A$=F2$+"[167]"+F1$+" "+F2$+"[212] "+F1$ 6590 PRINT A$;"F1";F2$;" CURSORTASTEN" 6600 PRINT A$;"F2" 6610 PRINT A$;"F3" 6620 PRINT A$;"P1";F2$;" F1 ";F1$;"VERBINDUNG" 6630 PRINT A$;"P2" 6640 PRINT A$;"P3";F2$;" F7 ";F1$;"KEINE VERBINDUNG" 6650 PRINT A$;"FILT" 6660 PRINT A$;"LAUT" 6670 PRINT F2$;" [163][163][163][163][163][163][163][163]" 6680 FOR Z=0 TO 7:GOSUB 6730:NEXT 6685 Z=0:S=7:POKE 55296+40*(6+Z)+8-S,F2 6690 RETURN 6700 REM 6710 REM 6720 REM 6730 B=PEEK(MO+24+Z):A=128 6740 SYSPR,6+Z,1,F1$;"00000000" 6750 IF B=0 THEN RETURN 6760 FOR S=7 TO 0 STEP -1 6770 IF(B AND A)THENSYSPR,6+Z,8-S,"1"; 6780 A=A/2:NEXT S 6790 PRINT F1$;:RETURN 6800 REM 6810 REM 6820 REM 6830 POKE 55296+40*(6+Z)+8-S,F1:REM AUS 6840 Z=(Z-1) AND 7:GOTO 6910:REM HOCH 6850 POKE 55296+40*(6+Z)+8-S,F1 6860 Z=(Z+1) AND 7:GOTO 6910:REM RUNTER 6870 POKE 55296+40*(6+Z)+8-S,F1 6880 S=(S+1) AND 7:GOTO 6910:REM LINKS 6890 POKE 55296+40*(6+Z)+8-S,F1 6900 S=(S-1) AND 7:GOTO 6910:REM RECHTS 6910 POKE 55296+40*(6+Z)+8-S,F2:REM AN 6915 RETURN 6920 REM 6925 REM 6930 REM 6935 AD=MO+24+Z 6940 POKE AD,PEEK(AD) OR 2^S 6950 POKE 1024+40*(6+Z)+8-S,177:RETURN 6960 REM 6965 REM 6970 REM 6975 AD=MO+24+Z 6980 POKE AD,PEEK(AD) AND (255-2^S) 6990 POKE 1024+40*(6+Z)+8-S,176:RETURN 7000 REM 7005 REM 7010 REM 7015 M=6:PV=0:SYSCL:PRINT"[146]";F2$ 7020 SYSPR,1,8,"A B C" 7025 PRINT F1$;" [176][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][174]" 7030 FOR I=1 TO 8 7035 SYSPR,2+I,1,F2$;CHR$(48+I);F1$" [194]" 7040 SYSPR,2+I,38,"[194]":NEXT 7045 SYSPR,11,3,"[173][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][189]" 7050 SYSPR,12,4,F2$;"A-C 1-8" 7055 SYSPR,12,13,F1$;"SOUND WAEHLEN" 7060 SYSPR,13,1,F2$;"_ A-C 1-8" 7065 SYSPR,13,13,F1$"SOUND ABSPEICHERN" 7070 SYSPR,14,1,F2$;"N" 7075 SYSPR,14,13,F1$;"NAMEN EINGEBEN (RETURN)" 7080 FOR S=0 TO 2:FOR Z=0 TO 7 7085 : SYSPR,3+Z,4+S*12,; 7090 : SYSNA,SO+107*(8*S+Z)+97 7095 NEXT:NEXT:IFNS<0THENZ=0:S=0:RETURN 7100 Z=NS AND 7:S=INT(NS/8):GOTO 7180 7110 REM 7115 REM 7120 X=A-65 :REM SPALTE 0,1,2 7122 SYSPR,12,13,F2$;"[146]SOUND WAEHLEN" 7125 GET A$:IF A$="" THEN 7125 7130 Y=ASC(A$)-49:REM ZEILE 7135 IF Y<0 OR Y>7 THEN 7142 7140 GOSUB 7150:GOSUB 7400 7142 SYSPR,12,13,F1$;"[146]SOUND WAEHLEN" 7144 RETURN 7146 REM 7150 REM 7155 NS=8*S+Z 7160 : SYSPR,3+Z,4+S*12,F1$;"[146]"; 7165 : SYSNA,SO+107*NS+97 7170 REM 7175 S=X:Z=Y:NS=8*S+Z 7180 : SYSPR,3+Z,4+S*12,F2$;"[146]"; 7185 : SYSNA,SO+107*NS+97 7190 RETURN 7200 REM 7205 REM 7210 SYSPR,13,13,F2$;"[146]SOUND ABSPEICHERN" 7215 GET A$:IF A$="" THEN 7215 7220 X=ASC(A$)-65:REM SPALTE 7225 IF X<0 OR X>2 THEN 7250 7230 GET A$:IF A$="" THEN 7230 7235 Y=ASC(A$)-49:REM ZEILE 7240 IF Y<0 OR Y>7 THEN 7250 7245 GOSUB 7150:GOSUB 7450:GOTO 7260 7250 SYSPR,13,13,F1$;"[146]SOUND ABSPEICHERN" 7255 RETURN 7260 SYSPR,13,13,F1$;"[146]SOUND ABSPEICHERN" 7300 REM 7305 REM 7310 SYSPR,14,13,F2$;"NAMEN EINGEBEN (RETURN)" 7315 X=12*S+4:Y=Z+3:AD=1024+40*Y+X 7320 SA=SO+107*NS+97:I=0 7325 POKE AD+I,PEEK(AD+I) OR 128 7330 GET A$:IF A$="" THEN 7330 7335 A=ASC(A$):IF A<32OR A>95 THEN 7370 7340 REM 7345 SYSPR,Y,X+I,F2$;A$;:POKE SA+I,A 7350 I=I+1 7355 IF I>9 THEN I=9:GOTO 7325 7360 IF I<0 THEN I=0 7365 GOTO 7325 7370 IF A=29 THEN POKE AD+I,PEEK(AD+I) AND 127:GOTO 7350 7375 IF A=157THEN POKE AD+I,PEEK(AD+I) AND 127:I=I-1:GOTO 7355 7380 IF A<>13 THEN 7330 7385 POKE AD+I,PEEK(AD+I) AND 127 7390 SYSPR,14,13,F1$;"NAMEN EINGEBEN (RETURN)" 7395 RETURN 7400 REM 7402 REM 7404 SA=SO+NS*107:SYSGE,SA 7406 FOR I=0 TO 2 7408 : AD=SA+7*I 7410 : BF(I)=USR(AD+73) 7412 : X=BF(I)/17.0327/440 7414 : Y=LOG(X)/LOG(2) :REM X=2^Y 7416 : Y=Y+4+9/12+49/1200 7418 : O(I)=INT(Y):Y=(Y-O(I))*12 7420 : T(I)=INT(Y) 7422 : OF(I)=INT((Y-T(I))*100-48.5) 7424 : S(I)=(PEEK(AD+75)=1) 7426 : A$=CHR$(49+I):GOSUB 3570 7428 : C(I)=PEEK(AD+77) AND 254 7429 : POKE 50334+I,C(I) 7430 : C1(I)=C(I) OR 1 7432 : AD(I)=PEEK(AD+78) 7434 : SR(I)=PEEK(AD+79) 7436 NEXT I 7438 RF=PEEK(SA+94) 7440 EG=(PEEK(SA+95)=1):GOSUB 3740 7442 SU=(PEEK(SA+96)=1):GOSUB 3840 7444 RETURN 7450 REM 7452 REM 7454 SA=SO+NS*107:SYSPU,SA 7456 FOR SN=0 TO 2 7458 : AD=SA+7*SN 7460 : SYSDO,AD+73,BF(SN) 7462 : POKE AD+75,-S(SN) 7464 : POKE AD+77,C(SN) 7466 : POKE AD+78,AD(SN) 7468 : POKE AD+79,SR(SN) 7470 NEXT SN 7472 POKE SA+94,RF 7474 POKE SA+95,-EG 7476 POKE SA+96,-SU 7478 RETURN 7500 REM 7505 REM 7510 REM 7515 M=7:PV=0:SYSCL:POKE 157,0 7520 PRINT F1$;" DISK" 7525 SYSPR,5,4,F2$;"F1" 7530 SYSPR,5,7,F1$;"SOUNDS LADEN" 7532 SYSPR,6,4,F2$;"F2" 7534 SYSPR,6,7,F1$;"SONG LADEN" 7535 SYSPR,7,4,F2$;"F3" 7540 SYSPR,7,7,F1$;"SOUNDS ABSPEICHERN" 7545 RETURN 7600 REM 7605 REM 7610 SYSPR,5,7,F2$;"SOUNDS LADEN" 7615 SYSPR,10,4,F1$;"DATEINAME "; 7620 DN$="SOUNDS " 7625 SYSPR,10,16,DN$ 7630 SYSPR,10,14,;:INPUT DN$ 7632 SYS 50198:GOSUB 2140:REM MOD. AUS 7635 OPEN 8,8,8,DN$+",P,R":CLOSE 8 7640 OPEN1,8,15:INPUT#1,A,A$,X,Y:CLOSE1 7645 SYSPR,12,4," " 7650 IF A=0 THEN 7660 7655 SYSPR,12,3,A;A$;X;Y:GOTO 7625 7660 A=0:LOADDN$,8,1 7665 SYSPR,5,7,F1$;"SOUNDS LADEN" 7670 NS=-1:A=211 7675 SYSDO,56326,INT(6E7/(24*TE)) 7680 IF SR THEN SYS 51093:GOTO 1550 7685 SYS MO+1033:GOTO 1550 7700 REM 7705 REM 7710 SYSPR,7,7,F2$;"SOUNDS ABSPEICHERN" 7715 SYSPR,10,4,F1$;"DATEINAME "; 7720 DN$="SOUNDS " 7725 SYSPR,10,16,DN$ 7730 SYSPR,10,14,;:INPUT DN$ 7735 SYS 50198:GOSUB 2140:REM MOD/SEQ AUS 7740 REM 7745 OPEN 1,8,1,"@:"+DN$ 7750 POKE 252,0:POKE 253,144:REM $9000 7755 POKE 780,252:REM AKKU 7760 POKE 781,8 :REM X-REG = $08 7765 POKE 782,154:REM Y-REG = $9A 7770 SYS 65496 :REM KERNAL SAVE 7775 CLOSE 1 7780 OPEN1,8,15:INPUT#1,A,A$,X,Y:CLOSE1 7785 IF A=0 THEN 7795 7790 SYSPR,12,4,A;A$;X;Y:GOTO 7725 7795 SYSPR,12,4," " 7800 SYSPR,7,7,F1$;"SOUNDS ABSPEICHERN" 7805 SYSDO,56326,INT(6E7/(24*TE)) 7810 IF SR THEN SYS 51093:RETURN 7815 SYS50185:RETURN:REM NUR MOD. AN 7900 REM------------------------------- 7905 REM SONG LADEN 7910 SYSPR,6,7,F2$;"SONG LADEN" 7915 SYSPR,10,4,F1$;"DATEINAME "; 7920 SYSPR,10,14,;:INPUT DN$ 7925 SYS 50966:GOSUB 2140 7930 OPEN 8,8,8,DN$+",P,R":CLOSE 8 7935 OPEN1,8,15:INPUT#1,A,A$,X,Y:CLOSE1 7940 SYSPR,12,4," " 7945 IF A=0 THEN 7955 7950 SYSPR,12,3,A;A$;X;Y:GOTO 7920 7955 A=0:M=7.5:LOAD DN$,8,1 7960 SYSPR,6,7,F1$;"SONG LADEN" 7965 M=7:SQ=-1 7970 SYSDO,56326,INT(6E7/(24*TE)) 7975 SYSDO,50310,USR(39432) 7980 SYS 51001 :REM SEQ/MOD START/INIT 7985 IF NOT SR THEN SYS 50966 7990 A=65:GOTO 1550 8000 REM 8010 REM 8020 REM 8030 PRINT"[147] "; 8035 PRINT"BITTE 30 SEKUNDEN WARTEN" 8040 REM 8045 REM 8050 FOR I=0 TO 22 :REM KERNAL-GOSUB 8055 POKE 828+I,PEEK(43139+I):NEXT 8060 FORI=0TO129:READX:POKE851+I,X:NEXT 8065 POKE785,169:POKE 786,3:REM USR 8070 REM 8072 REM 8074 FOR I=50211 TO 50291 8076 READ X:POKE I,X:NEXT 8078 REM 8080 REM 8082 FOR I=0 TO 11:READ TN$(I):NEXT 8100 REM 8110 REM 8120 READ A$:L=LEN(A$) 8130 ON L GOTO 8150,8220,8280,8310,8310 8150 REM 8160 A=ASC(A$) 8170 IF M>=0 THEN V%(M,A)=ZN:GOTO 8120 8180 FOR I=0 TO 8:V%(I,A)=ZN:NEXT 8190 GOTO 8120 8200 IF LEFT$(A$,1)<>"M" THEN 8120 8220 REM 8230 IF LEFT$(A$,1)<>"M" THEN 8120 8240 A$=RIGHT$(A$,1) 8250 IF A$="A" THEN M=-1 :GOTO 8120 8260 M=VAL(A$) :GOTO 8120 8280 REM 8290 A=VAL(A$) :GOTO 8170 8310 REM 8320 IF A$="ENDE" THEN 8340 8330 ZN=VAL(A$) :GOTO 8120 8340 REM 8350 REM 8360 A$="Q2W3ER5T6Y7UI9O0P@-*\^;=" 8370 FOR I=0 TO 24 8380 : A=ASC(MID$(A$,I+1,1)) 8390 : TN%(A)=I 8400 : FOR J=0 TO 8:V%(J,A)=2000:NEXT 8410 NEXT I 8450 REM 8455 REM 8460 FOR I=0 TO 24:TH(I)=2^(I/12):NEXT 8465 REM 8470 REM 8472 GS=828:GT=857:PR=869:DO=897:CL=959 8474 NA=50229:GE=50245:PU=50276 8480 SI=54272:MO=49152:FA=55296 8482 SO=36864:CI=56320 8484 F1$=CHR$(154):F1=14 8490 F2$=CHR$(5) :F2=1 8495 KV$(0)="TRIAN ":KF$(0)="[206][205][206][205]" 8500 KV$(1)="SAWUP ":KF$(1)="[206][204][206][204]" 8505 KV$(2)="SAWDWN":KF$(2)="[186][205][186][205]" 8510 KV$(3)="SQUARE":KF$(3)="[207][204][207][204]" 8515 MD$(0)="RESET" :MD$(1)="RESET" 8520 MD$(2)="HOLD " :MD$(3)="RUN " 8525 BL$(0)="":BL$(1)=" ":BL$(2)=" " 8530 BL$(3)=" ":BL$(4)=" " 8535 BL$(5)=" ":BL$(6)=" " 8540 REM 8545 REM 8550 FOR SN=0 TO 2 8555 : POKE SI+7*SN+5,10 :AD(SN)=10 8560 : POKE SI+7*SN+6,138:SR(SN)=138 8565 : O(SN)=3+SN:OF(SN)=0:T(SN)=0 8570 : BF=440*2^(O(SN)-4+(T(SN)-9)/12+OF(SN)/1200) 8572 : BF(SN)=BF*17.0327 8575 : C(SN)=64 :C1(SN)=65 8578 : POKE 50334+SN,C(SN) 8580 : S(SN)=(SN=0) 8585 : SYSDO,MO+7*SN+2,2048 :REM PW 8590 : POKE MO+7*SN+4,0 :REM PORTA 8595 NEXT SN 8600 POKE SI+23,0:RF=0 :REM RES/FILT 8605 SYSDO,MO+21,0 :REM FILTERFR. 8610 POKE MO+23,15 :REM MOD/LAUT 8615 FOR I=24 TO 72 :REM KSV,LFO,EG AUS 8620 : POKE MO+I,0:NEXT 8625 EG=0 :REM EG ABKOPPELN 8627 POKE 50303,0 :REM EG ABKOPPELN(SEQ) 8630 SU=0 :REM SUSTAIN AUS 8632 TE=120 :REM TEMPO 8635 REM 8640 REM 8645 FOR NS=0 TO 23 8650 : GOSUB 7450 8655 : AD=SO+107*NS+97 8660 : FOR I=AD TO AD+9:POKE I,46:NEXT 8665 NEXT NS:NS=0 8700 REM 8870 REM 8880 POKE 53280,14:POKE 53281,6 8890 PRINT F1$;"[146]";:POKE 650,128 8900 GOSUB 4200 :REM BILD ZEILEN 15-23 8910 SYS MO+1033:REM MODULATOR AKTIV 8920 SQ=0:SM=0:SR=0:A=2:RETURN 9000 REM 9010 REM 9020 REM 9030 REM 9060 DATA 032,089,003,076,174,167,032 9070 DATA 253,174,032,138,173,032,247 9080 DATA 183,076,163,168,032,253,174 9090 DATA 032,158,183,138,072,032,253 9100 DATA 174,032,158,183,138,168,104 9110 DATA 170,024,032,240,255,032,253 9120 DATA 174,076,160,170,032,253,174 9130 DATA 032,138,173,032,247,183,165 9140 DATA 020,133,158,165,021,133,159 9150 DATA 032,253,174,032,138,173,032 9160 DATA 247,183,160,000,120,165,020 9170 DATA 145,158,200,165,021,145,158 9180 DATA 088,096,032,247,183,160,000 9190 DATA 120,177,020,133,099,200,177 9200 DATA 020,088,133,098,162,144,056 9210 DATA 076,073,188,169,032,162,000 9220 DATA 157,000,004,157,000,005,202 9230 DATA 208,247,162,087,157,000,006 9240 DATA 202,016,250,096 9250 REM 9260 REM 9270 DATA 032,253,174,032,138,173,032 9280 DATA 247,183,165,020,133,158,165 9290 DATA 021,133,159,096,032,035,196 9300 DATA 160,000,177,158,032,210,255 9310 DATA 200,192,010,208,246,096,032 9320 DATA 035,196,160,000,177,158,153 9330 DATA 000,192,200,192,073,208,246 9340 DATA 177,158,153,183,211,200,192 9350 DATA 094,208,246,177,158,141,023 9360 DATA 212,096,032,035,196,160,000 9370 DATA 185,000,192,145,158,200,192 9380 DATA 073,208,246,096 9400 REM 9410 REM 9420 DATA C,C#,D,D#,E,F,F#,G,G#,A,A#,H 9500 REM 9510 REM 9520 DATA MA,4000,X,3500,V,3600,032 9530 DATA MA,3700,160,3800,S,9990,A 9540 DATA MA,2550,133,2560,134 9550 DATA MA,2570,135,2580,136,4500,214 9555 DATA MA,5500,L,6000,H,6500,K 9560 DATA MA,5000,F,7000,211,7500,D 9565 DATA M1,4654,145,4660,017 9570 DATA M1,4666,029,4680,157 9580 DATA M2,5160,157,5145,029 9600 DATA M3,5675,145,5690,017 9610 DATA M3,5720,157,5705,029 9620 DATA M4,6410,157,6440,029 9630 DATA M5,6830,145,6850,017 9640 DATA M5,6870,157,6890,029 9650 DATA M5,6935,133,134,6975,135,136 9700 DATA M6,7110,A,B,C,7200,_,7300,N 9750 DATA M7,7600,133,7700,134,7900,137 9800 DATA M8,10420,029,10450,157 9900 DATA ENDE 9990 REM 10000 REM============================== 10010 REM UNTERMENUE SEQUENCER 10020 REM============================== 10030 M=8:PV=0:SYSCL:PRINT"";F1$; 10040 PRINT" SEQUENCER"; 10045 IF NOT SQ THEN PRINT" (KEIN SONG VORHANDEN)" 10050 SYSPR,4,10,"TEMPO MODUS SEQNR SOFT-EG" 10060 SYSPR,5,4,"[176][195][195][195][195][178][195][195][195][195][195][178][195][195][195][195][195][178][195][195][195][195][195][178][195][195][195][195][195][195][195][195][195][174]" 10070 SYSPR,6,4,"[194] [194] [194] [194] [194] 1 2 3 [194]" 10080 SYSPR,7,4,"[173][195][195][195][195][177][195][195][195][195][195][177][195][195][195][195][195][177][195][195][195][195][195][177][195][195][195][195][195][195][195][195][195][189]" 10090 SYSPR,9,1,F2$;"F1";F1$;" RESET ++ 1" 10100 SYSPR,10,1,F2$;"F3";F1$;" STOP + SONG + 2" 10110 SYSPR,11,1,F2$;"F5";F1$;" RUN - SEQ - 3" 10120 SYSPR,12,1,F2$;"F7";F1$;" --" 10130 IF SR THEN 10150 10140 SYSPR,6,5,"STOP":GOTO 10160 10150 SYSPR,6,5,"RUN " 10160 SYSPR,6,11,RIGHT$(STR$(TE),3) 10170 IF SM THEN 10190 10180 SYSPR,6,16,"SONG":GOTO 10210 10190 SYSPR,6,16,"SEQ " 10200 SYSPR,6,22,RIGHT$(" "+STR$(SE),3) 10210 REM 10220 X=PEEK(50303) 10230 IF X AND 1 THEN SYSPR,6,28," 1 " 10240 IF X AND 2 THEN SYSPR,6,31," 2 " 10250 IF X AND 4 THEN SYSPR,6,34," 3 " 10300 AV=10500:SYSGS,AV:RETURN 10400 REM------------------------------ 10410 REM PARAMETERWAHL DURCH CURSOR 10420 REM RECHTS 10430 AV=AV+100:IFAV>10900THEN AV=10500 10440 GOTO 10470 10450 REM LINKS 10460 AV=AV-100:IFAV<10500THEN AV=10900 10470 FOR I=PB TO PB+8:POKE I,F1:NEXT 10480 SYSGT,AV 10500 REM------------------------------ 10510 REM RUN/STOP WAEHLEN 10520 PB=FA+245 10530 FOR I=PB TO PB+3:POKE I,F2:NEXT 10540 PA=CI+12:PV=11000:RETURN 10600 REM------------------------------ 10610 REM TEMPO WAEHLEN 10620 PB=FA+250 10630 FOR I=PB TO PB+3:POKE I,F2:NEXT 10640 PA=CI+6:PW=TE 10650 PM=500:P1=1:P2=10:PV=3400:RETURN 10700 REM------------------------------ 10710 REM MODUS WAEHLEN 10720 PB=FA+256 10730 FOR I=PB TO PB+3:POKE I,F2:NEXT 10740 PA=50345:PW=PEEK(PA) 10750 PV=11100:RETURN 10800 REM------------------------------ 10810 REM SEQNR WAEHLEN 10820 PB=FA+262 10830 FOR I=PB TO PB+2:POKE I,F2:NEXT 10840 PW=SE:P1=1:P2=1:PM=1000 10850 PV=11200:RETURN 10900 REM------------------------------ 10910 REM SOFT-EG WAEHLEN 10920 PB=FA+268 10930 FOR I=PB TO PB+8:POKE I,F2:NEXT 10940 PA=50303:PV=11300:RETURN 11000 REM------------------------------ 11010 REM SEQUENCER RESET/STOP/RUN 11015 IF NOT SQ THEN RETURN 11020 IF A<133 OR A>135 THEN RETURN 11030 ON A-132 GOTO 11040,11060,11080 11040 REM RESET 11042 IF SM THEN SYS 51116:RETURN 11045 SYS 51001 11050 IF NOT SR THEN SYS 50966 11055 RETURN 11060 REM STOP 11065 SYS 50966:SYSPR,6,5,F2$;"STOP" 11070 SR=0:IF NOT SU THEN 2140 11075 RETURN 11080 REM RUN 11085 SYS 51093:SYSPR,6,5,F2$;"RUN " 11090 SR=-1:RETURN 11100 REM------------------------------ 11110 REM SEQUENCER-MODUS (SONG/SEQ) 11112 IFNOTSQTHENRETURN 11115 IF A=134 THEN 11130 11120 IF A=135 THEN 11150 11125 RETURN 11130 REM SONG-MODUS 11135 SM=0 :POKE PA,0 11140 SYSPR,6,16,F2$;"SONG" 11145 SYSPR,6,22," ":RETURN 11150 REM SEQUENZ-MODUS 11155 SM=-1:POKE PA,1:SYSPR,6,16,"SEQ " 11160 SYSPR,6,16,F2$;"SEQ " 11165 SE=(USR(50312)-USR(50310))/3+1 11170 SYSPR,6,22,F1$;RIGHT$(" "+STR$(SE),3) 11175 RETURN 11200 REM------------------------------ 11210 REM SEQUENZ-NUMMER 11220 IF NOT SM THEN RETURN 11230 IF PW=0 THEN PW=1:RETURN 11240 AD=USR(50310)+(PW-1)*3 11250 IF USR(AD)=0 THEN PW=PW-1:RETURN 11260 SYSDO,50312,AD:SE=PW 11270 SYSDO,50314,USR(AD) 11280 SYS 51116 :REM NEXTSEQ 11285 SYSPR,6,22,F2$;RIGHT$(" "+STR$(SE),3) 11290 RETURN 11300 REM------------------------------ 11310 REM SEQUENCER SOFT-EG-STEUERUNG 11320 X=PEEK(PA) 11330 FOR I=0 TO 2 11340 : IF A<>133+I THEN 11420 11350 : Y=2^I 11360 : IF (X AND Y) THEN 11400 11370 : X=X OR Y:POKE PA,X 11380 : SYSPR,6,28+3*I,F2$;"";I+1;"[157] " 11390 : GOTO 11420 11400 : X=X AND (255-Y):POKE PA,X 11410 : SYSPR,6,28+3*I,F2$;I+1;"[157] " 11420 NEXT I:RETURN