0 REM ********************************* 1 REM * * 2 REM * 0L-SYSTEME * 3 REM * * 4 REM * (C) 1990 KURT ZIMMERMANN * 5 REM * * 6 REM * IDEE+ALGORYTHMUS:DIETMAR SAUPE* 7 REM * GRAFIKROUTINEN: HEIMO PONNATH* 8 REM * COMPILIEREN MIT BASIC BOSS * 9 REM ********************************* 10 : 11 REM 12 REM STEUERBEFEHLE FUER BASIC BOSS 13 REM 14 : 15 REM@ \OTHERON 20 REM@ \ALLRAM 30 REM@ \VARSTART $9FD0:\HEAPEND $FFF0 40 REM@ \FASTFOR:\SHORTIF:\FASTARRAY 50 REM@ \DATATYPE BYTE 55 REM@ \SYSTEXT "0L-SYSTEME (C) 1990" 60 REM@ \CONSTANT GR,CL,CO,TE,LI,LO,SA,X,Y,SM,MA,N 70 REM@ \BYTE A(,S(,S0( =$4400,SD(,A,I,TD,J,SS,FL,V,K(,C,M,B 80 REM@ \WORD IM,S,S0,L,K,X0,Y0,XN,YN,II 90 REM@ \INTEGER D 91 REM@ \IGNORE 92 PRINT "[147][196]IESES [208]ROGRAMM LAEUFT ERST, NACHDEM ES" 93 PRINT "MIT '[194]ASIC [194]OSS' COMPILIERT WURDE !!!!!" 94 END 95 REM@ \USE 96 : 97 REM KONSTANTEN DEFINITION 98 : 99 MA=23500 100 DIM A(101),S(MA),S0(MA),K(16),R$(16),CO(50),SI(50),SX(10),SY(10) 105 DIM SD(10) 110 N=7:X=320:Y=200:SM=10 120 GR=16384:CL=16387:CO=16390:TE=16393:LI=16396:LO=16399:SA=16402 130 _LOAD "H4.TURTLE.COM",8 140 : 200 REM EINLEITUNG 201 : 210 POKE 53280,0:POKE 53281,0 220 PRINT CHR$(14);"[147]           "; 230 PRINT"            " 240 PRINT"             "; 250 PRINT"           " 260 PRINT"          " 270 PRINT:PRINT:PRINT 280 PRINT "[208]ROGRAMM ZUM GENERIEREN VON 0[204]-[211]YSTEMEN" 290 PRINT 300 PRINT "[195]OPYRIGHT (C) 1990 [203]URT [218]IMMERMANN 310 [153]:[153] 320 [153] "RIGHT$DEE UND ATNLGORYTHMUS: STR$IETMAR (null)AUPE" 330 [153] 340 [153] "CHR$RAFIKROUTINEN: LEFT$EIMO (null)ONNATH" 350 [153] 360 [153] "LENOMPILIERT MIT: PEEKASIC PEEKOSS" 370 [153]:[153] 380 [153] " PEEKITTE DRUECKEN SIE EINE (null)ASTE" 390 [161] A$:[139] A$[178]"" [167] 390 450 : 500 [143] STEUERPROGRAMM 501 : 510 [151] 53280,0:[151] 53281,0 520 [153] [199](14);"LOAD (null)ROGRAMM ZUM ERZEUGEN VON 0(null)-(null)YSTEMEN" 530 [153]:[153]:[153] 540 [153] "(A) VALRZEUGEN VON 0(null)-(null)YSTEMEN" 550 [153] "(B) 0(null)-(null)YSTEM-PEEKIBLIOTHEK" 560 [153] 562 [153] "(C) 0(null)-(null)ARAMETER ANSEHEN" 564 [153] "(D) 0(null)-(null)ARAMETER AENDERN" 566 [153] 570 [153] "(E) 0(null)-(null)ARAMETER LADEN" 580 [153] "(F) 0(null)-(null)ARAMETER SPEICHERN" 590 [153] 592 [153] "(G) PEEKILD LADEN" 594 [153] "(H) PEEKILD SPEICHERN" 596 [153] "(I) PEEKILD ANSEHEN" 598 [153] 600 [153] "(J) STR$ISKBEFEHL SENDEN" 610 [153] "(K) STR$IRECTORY" 650 [161] A$:[139] A$[178]"" [167] 650 660 B[178][198](A$)[171]64 670 [139] B[179]1 [176] B[177]11 [167] 650 680 [145] B [141] 1000,8000,12500,13000,10000,10500,11500,11000,12000,9500,9000 690 [137] 500 700 : 1000 [143] HAUPTPROGRAMM PLOT-0L-SYSTEM 1001 : 1010 [141] 2000:[143] EINGABE 1020 FL[178]0 1023 [141] 3000:[143] GENERIERT 'STRING' 1025 [139] FL[178]1 [167] 1060 1027 FL[178]0 1030 [141] 4000:[143] 'STRING' AUFRAEUMEN 1032 [139] FL[178]1 [167] 1060 1035 FL[178]0 1040 [141] 5000:[143] BERECHNET GROESSE 1045 [139] FL[178]1 [167] 1060 1050 [141] 6000:[143] WERTET 'STRING' AUS 1060 [161] A$:[139] A$[178]"" [167] 1060 1070 [158] TE:[153] [199](14):[151] 53280,0 1075 FA[178]S[172]10000 1076 FA[178][181](FA[173]MA)[173]100 1077 [153] "(null)PEICHERAUSLASTUNG:";FA;"%" 1079 [153] 1080 [153] "(null)EKURSIONSTIEFE AENDERN?" 1090 [161] A$:[139] A$[178]"" [167] 1090 1100 [139] A$[178]"N" [167] [142] 1105 [139] A$[179][177]"J" [167] 1090 1110 [141] 2280 1120 [137] 1020 1130 : 2000 [143] EINGABE DER PARAMETER 2001 : 2010 [153] [199](14);"LOADVALINGABE DER (null)ARAMETER:" 2020 [153]:[153]:[153] 2030 [133] "ATNNZAHL DER (null)ARIABLEN:";V 2040 [139] V[177]9 [167] 2030 2045 M[178]N[170]V 2047 [140] 2050 [129] I[178]1 [164] N 2060 :[135] K(I) 2070 [130] I 2080 [139] V[178]0 [167] 2120 2090 :[129] I[178]1 [164] V 2100 ::K(I[170]N)[178]70[170]I 2110 :[130] I 2120 [153]:[153] "ATNXIOM:" 2130 [133] A$ 2140 A[178][195](A$) 2150 [129] I[178]1 [164] A 2160 :A(I)[178][198]([202](A$,I,1)) 2170 [130] I 2180 [153] 2190 [133] "ATNNZAHL DER (null)ICHTUNGEN:";TD 2200 [139] TD[177]50 [167] 2190 2210 [153] "LOAD(null)RODUKTIONSGESETZE EINGEBEN:" 2220 [153]:[153] 2230 [129] I[178]1 [164] M 2240 :[153] [199](K(I));":" 2250 :[133] " ";R$(I) 2260 :[139] R$(I)[178]"" [167] R$(I)[178][199](K(I)) 2270 [130] I 2280 [133] "LOAD(null)EKURSIONSTIEFE:";IM 2290 [142] 2300 [131] 70,198,43,45,95,91,93 2310 : 3000 [143] GENERIERT 'STRING' 3001 : 3005 [151] 53280,2 3010 [129] I[178]1 [164] A 3020 :S0(I)[178]A(I) 3030 [130] I 3040 S0[178]A 3060 [129] L[178]1 [164] IM 3065 :S[178]0 3070 :[129] K[178]1 [164] S0 3080 ::C[178]S0(K) 3090 ::I[178]1 3100 :::[139] I[177]M [176] C[178]K(I) [167] 3130 3110 :::I[178]I[170]1 3120 ::[137] 3100 3130 ::[139] C[179][177]K(I) [167] 3170 3140 ::[129] J[178]1 [164] [195](R$(I)) 3150 :::S(S[170]1)[178][198]([202](R$(I),J,1)) 3155 :::S[178]S[170]1 3157 :::[139] S[177]MA [167] 3240 3160 ::[130] J 3170 :[130] K 3180 :[129] K[178]1 [164] S 3190 ::S0(K)[178]S(K) 3200 :[130] K 3210 :S0[178]S 3220 [130] L 3230 [142] 3240 FL[178]1 3242 [153] 3245 [153] "(null)PEICHERUEBERLAUF BEI";L;"TER RIGHT$TERATION" 3250 [142] 3260 : 4000 [143] RAEUMT 'STRING' AUF 4001 : 4005 [151] 53280,6 4010 S0[178]0 4020 [129] L[178]1 [164] S 4030 :C[178]S(L) 4040 :I[178]1 4050 ::[139] C[179][177]K(I) [167] 4090 4060 :::S0[178]S0[170]1 4070 :::S0(S0)[178]S(L) 4080 ::[137] 4110 4090 ::I[178]I[170]1 4100 :[139] I[179]M[170]1 [167] 4050 4110 [130] L 4120 [129] L[178]1 [164] S0 4130 :S(L)[178]S0(L) 4140 [130] L 4150 S[178]S0 4155 [139] S[178]0 [167] 4170 4160 [142] 4170 FL[178]1 4180 [153] 4190 [153] "(null)OCH NICHTS ZU ZEICHNEN. (null)EKURSIONSTIEFEERHOEHEN !" 4200 [142] 4210 : 5000 [143] BESTIMMT GROESSE 5001 : 5005 [151] 53280,5 5010 [129] I[178]0 [164] TD[171]1 5020 :CO(I)[178][190](2[172][255][172]I[173]TD) 5030 :SI(I)[178][191](2[172][255][172]I[173]TD) 5040 [130] I 5050 D[178]0 5060 TX[178]0:TY[178]0 5070 XR[178]0:XL[178]0:YO[178]0:YU[178]0 5080 [129] L[178]1 [164] S 5090 :C[178]S(L) 5100 :[141] 7000 5110 :[139] C[179][177]70 [175] C[179][177]198 [167] 5200 5120 ::[139] TX[179]XR [167] 5140 5130 ::XR[178]TX 5140 ::[139] TX[177]XL [167] 5160 5150 ::XL[178]TX 5160 ::[139] TY[179]YO [167] 5180 5170 ::YO[178]TY 5180 ::[139] TY[177]YU [167] 5200 5190 ::YU[178]TY 5200 [130] L 5205 [139] XR[178]XL [176] YO[178]YU [167] 5220 5210 [142] 5220 FL[178]1 5230 [153] 5240 [153] "(null)EINE (null)EICHENBEFEHLE VORHANDEN." 5250 [153] "(null)RODUKTIONSGESETZE UEBERPRUEFEN !" 5260 [142] 5270 : 6000 [143] WERTET 'STRING' AUS 6001 : 6005 [158] CL:[158] CO,0,5:[158] GR 6010 TX[178](X[171]1)[173](XR[171]XL) 6020 TY[178](Y[171]1)[173](YO[171]YU) 6030 [139] TX[177]TY [167] 6060 6040 :FA[178]TX 6050 :[137] 6070 6060 FA[178]TY 6070 D[178]0 6080 TX[178]0:TY[178]0 6096 X0[178][181]([182](FA[172]XL)) 6098 Y0[178]199[171][181]([182](FA[172]YU)) 6100 [129] L[178]1 [164] S 6110 :C[178]S(L) 6120 :[141] 7000 6130 :XN[178][181](FA[172](TX[171]XL)) 6140 :YN[178]199[171][181](FA[172](TY[171]YU)) 6150 :[139] C[179][177]70 [167] 6180 6160 ::[158] LI,X0,Y0,XN,YN,1 6170 :: 6180 :: 6190 ::X0[178]XN:Y0[178]YN 6200 [130] L 6210 [142] 6220 : 7000 [143] ERNEUERT TURTLE 7001 : 7010 [139] C[179][177]70 [175] C[179][177]198 [167] 7050 7020 :TX[178]TX[170]CO(D) 7030 :TY[178]TY[170]SI(D) 7040 :[137] 7400 7050 [139] C[179][177]43 [167] 7090 7060 :D[178]D[171]1 7070 :[139] D[179]0 [167] D[178]TD[171]1 7080 :[137] 7400 7090 [139] C[179][177]45 [167] 7130 7100 :D[178]D[170]1 7110 :[139] D[178]TD [167] D[178]0 7120 :[137] 7400 7130 [139] C[179][177]95 [167] 7170 7140 :D[178]D[170]TD[173]2 7150 :[139] D[177]TD [167] D[178]D[171]TD 7160 :[137] 7400 7170 [139] C[179][177]91 [167] 7240 7180 :[139] SS[178]SM [167] 7410 7190 :SX(SS)[178]TX 7200 :SY(SS)[178]TY 7210 :SD(SS)[178]D 7220 :SS[178]SS[170]1 7230 :[137] 7400 7240 [139] C[179][177]93 [167] 7310 7250 :[139] SS[178]0 [167] 7440 7260 :SS[178]SS[171]1 7270 :TX[178]SX(SS) 7280 :TY[178]SY(SS) 7290 :D[178]SD(SS) 7300 :[137] 7400 7310 [143] 7400 [142] 7410 [153] "(null)TACKUEBERLAUF" 7420 FL[178]1 7430 [137] 7400 7440 [153] "(null)TACK LEER" 7450 FL[178]1 7460 [137] 7400 7470 : 8000 [143] FERTIGE SYSTEME 8001 : 8005 [153] "LOAD0(null)-(null)YSTEM-PEEKIBLIOTHEK:" 8010 [153]:[153] 8020 [153] "PEEKITTE WAEHLEN SIE" 8030 [153] 8040 [153] " (A) (null)OCH (null)CHNEEFLOCKENKURVE" 8050 [153] " (B) (null)UADRATISCHE (null)OCH RIGHT$NSEL" 8060 [153] " (C) ASCLAECHENFUELLENDE LEFT$ILBERT (null)URVE" 8070 [153] " (D) ASCLAECHENFUELLENDE (null)EANO (null)URVE" 8080 [153] " (E) (null)LASSISCHES (null)IERPINSKY STR$REIECK" 8090 [153] " (F) (null)UADRATISCHE (null)IERPINSKY (null)URVE" 8100 [153] " (G) STR$RACHEN (null)URVE" 8110 [153] " (H) PEEKUSCH 1" 8120 [153] " (I) PEEKUSCH 2" 8130 [153] " (J) PEEKUSCH 3" 8140 [153] " (K) PEEKUSCH 4" 8200 [153] 8210 [161] A$:[139] A$[178]"" [167] 8210 8215 FL[178][198](A$)[171]64 8220 [139] FL[179]1 [176] FL[177]11 [167] 8210 8225 [140] 8510 8230 [129] J[178]1 [164] FL 8240 :[135] V:M[178]N[170]V 8250 :[135] TD 8260 :[135] A$ 8270 :A[178][195](A$) 8280 :[129] I[178]1 [164] A 8290 ::A(I)[178][198]([202](A$,I,1)) 8300 :[130] I 8310 :[135] R$(1),R$(2) 8320 :R$(3)[178]"+":R$(4)[178]"-":R$(5)[178]"_":R$(6)[178]"[":R$(7)[178]"]" 8330 :[139] V[178]0 [167] 8365 8340 :[129] I[178]1 [164] V 8350 ::[135] R$(7[170]I) 8360 :[130] I 8365 [130] J 8370 [140] 8380 [129] I[178]1 [164] N 8390 :[135] K(I) 8400 [130] I 8410 [139] V[178]0 [167] 8460 8420 :[129] I[178]1 [164] V 8430 ::K(I[170]N)[178]70[170]I 8440 :[130] I 8460 [137] 1110 8500 [143]@ \DATATYPE STRING 8510 [131] 0,6,"F","F-F++F-F","ASC" 8520 [131] 0,4,"F+F+F+F","F+F-F-FF+F+F-F","ASC" 8530 [131] 2,4,"G","F","ASC","-HF+GFG+FH-","+GF-HFH-FG+" 8540 [131] 2,4,"G","F","ASC","GFHFG+F+HFGFH-F-GFHFG","HFGFH-F-GFHFG+F+HFGFH" 8550 [131] 1,6,"FGF--FF--FF","FF","ASC","--FGF++FGF++FGF--" 8560 [131] 0,4,"F+F+F+F","FF+F+F+F+FF","ASC" 8570 [131] 2,4,"G","F","ASC","G+HF+","-FG-H" 8580 [131] 0,14,"F","F[+F]F[-F]F","ASC" 8590 [131] 2,14,"G","F","ASC","GFH[+G][-G]","H[-FFF][+FFF]FH" 8600 [131] 0,16,"F","FF+[+F-F-F]-[-F+F+F]","ASC" 8610 [131] 5,20,"IJFFF","F","ASC","+H[-G]J","-G[+H]J","[+++G][---G]KI" 8615 [131] "[-FFF][+FFF]F","KJ" 8620 : 9000 [143] DIRECTORY ZEIGEN 9001 : 9010 A$[178]"I0":FL[178]1:[141] 9610 9020 [153] "LOAD 0 ";:[159] 1,8,0,"$" 9030 [151] 781,1:[158] 65478 9040 [161] A$,A$,A$,A$:X$[178][199](0) 9050 [129] I[178]1 [164] 7 9060 :[161] A$,B$,C$,D$ 9070 :[153] A$B$C$D$; 9080 [130] I 9090 [153]:[161] A$,A$,A$,B$ 9100 [139] ST [167] [158] 65484:[160] 1: [137] 9120 9110 [153] [198](A$[170]X$)[170]256[172][198](B$[170]X$);: [137] 9050 9120 [161] A$:[139] A$[178]"" [167] 9120 9130 [142] 9140 : 9500 [143] DISKBEFEHL SENDEN 9501 : 9510 FL[178]0 9520 [153] "LOADSTR$ISKBEFEHL SENDEN:" 9530 [153]:[153] 9540 [153] "PEEKEFEHL:"; 9550 [158] 42336:A$[178]"":II[178]512 9560 B[178][194](II) 9570 [139] B[178]0 [167] 9610 9580 A$[178]A$[170][199](B) 9590 II[178]II[170]1 9600 [137] 9560 9610 [159] 15,8,15,A$ 9620 [153]:[153] 9630 [132]15,B,A$ 9640 [160] 15 9650 [139] FL[178]1 [167] 9680 9660 [153] B;A$ 9670 [161] A$:[139] A$[178]"" [167] 9670 9680 [142] 9690 : 10000 [143] SYSTEM LADEN 10001 : 10005 [153] "LOAD0(null)-(null)YSTEM LADEN:" 10010 [153]:[153] 10015 A$[178]"I0":FL[178]1:[141] 9610 10020 [133] "ASCILENAME:";A$ 10025 [139] A$[178]"$" [167] 10200 10030 [159] 1,8,2,A$[170]",S,R" 10040 [132]1,V:M[178]N[170]V 10050 [132]1,TD 10070 [132]1,A 10080 [129] I[178]1 [164] A 10090 :[132]1,A(I) 10100 [130] I 10110 [132]1,R$(1) 10120 [132]1,R$(2) 10130 R$(3)[178]"+":R$(4)[178]"-":R$(5)[178]"_":R$(6)[178]"[":R$(7)[178]"]" 10140 [139] V[178]0 [167] 10180 10150 [129] I[178]1 [164] V 10160 :[132]1,R$(N[170]I) 10170 [130] I 10180 [160] 1 10190 [137] 1110 10200 [141] 9000 10210 [137] 10000 10220 : 10500 [143] SYSTEM SPEICHERN 10510 : 10520 [153] "LOAD0(null)-(null)YSTEM SPEICHERN:" 10530 [153]:[153] 10535 A$[178]"I0":FL[178]1:[141] 9610 10540 [133] "ASCILENAME:";A$ 10545 [139] A$[178]"$" [167] 10710 10550 [159] 1,8,2,A$[170]",S,W" 10560 [152]1,V 10570 [152]1,TD 10580 [152]1,A 10590 [129] I[178]1 [164] A 10600 :[152]1,A(I) 10610 [130] I 10630 [152]1,R$(1) 10640 [152]1,R$(2) 10650 [139] V[178]0 [167] 10690 10660 [129] I[178]1 [164] V 10670 :[152]1,R$(N[170]I) 10680 [130] I 10690 [160] 1 10700 [142] 10710 [141] 9000 10720 [137] 10500 10730 : 11000 [143] BILD SPEICHERN 11001 : 11010 [153] "LOADPEEKILD WIRD ABGESPEICHERT:" 11020 [153]:[153] 11030 A$[178]"I0":FL[178]1:[141] 9610 11040 [133] "ASCILENAME:";A$ 11050 [139] A$[178]"$" [167] 11160 11120 [158] SA,A$ 11150 [142] 11160 [141] 9000 11170 [137] 11000 11180 : 11500 [143] BILD LADEN 11501 : 11510 [153] "LOADPEEKILD WIRD GELADEN:" 11520 [153]:[153] 11530 A$[178]"I0":FL[178]1:[141] 9610 11540 [133] "ASCILENAME:";A$ 11550 [139] A$[178]"$" [167]11610 11590 [158] LO,A$ 11600 [142] 11610 [141] 9000 11620 [137] 11500 11630 : 12000 [143] BILD ANSEHEN 12001 : 12010 [158] CO,0,5:[151] 53280,5:[158] GR 12020 [161] A$:[139] A$[178]"" [167] 12020 12030 [151] 53280,0:[158] TE 12040 [142] 12050 : 12500 [143] PARAMETER ANSEHEN 12501 : 12510 [153] "LOAD(null)ARAMETER:" 12520 [153]:[153] 12530 [153] "ATNNZAHL DER (null)ICHTUNGEN:";TD 12540 [153] 12550 [153] "ATNXIOM:"; 12560 [129] I[178]1 [164] A 12570 :[153] [199](A(I)); 12580 [130] I 12590 [153]:[153] 12600 [129] I[178]1 [164] M 12610 :[153] [199](K(I));" -> ";R$(I) 12620 [130] I 12630 [161] A$:[139] A$[178]"" [167] 12630 12640 [142] 12650 : 13000 [143] PARAMETER AENDERN 13001 : 13010 [153] "LOAD(null)ARAMETER AENDERN:" 13020 [153]:[153] 13030 [153] "ATNNZAHL DER (null)ICHTUNGEN: ";TD 13040 [133] "ON";TD 13050 [153] 13060 [153] "ATNXIOM: "; 13070 [129] I[178]1 [164] A 13080 :[153] [199](A(I)); 13090 [130] I 13100 [153] 13110 [133] "ON";A$ 13120 A[178][195](A$) 13130 [129] I[178]1 [164] A 13140 :A(I)[178][198]([202](A$,I,1)) 13150 [130] I 13160 [153] 13170 [129] I[178]1 [164] M 13180 :[153] [199](K(I));" -> ";R$(I) 13190 :[133] "ON";R$(I) 13200 [130] I 13210 [137] 1110 13220 :