1 REM DATEI - PROGRAMM 2 REM BASIC-SOFTWARE 3 REM ************** 4 REM PUBLIC DOMAIN SOFTWARE 1985 10 POKE788,52:POKE53265,11:POKE53280,0:POKE53281,0:PRINTCHR$(8)CHR$(14) 11 DATA 169,6,141,32,208,32,244,207,169,0,141,32,208,32,244,207,238,255 12 DATA207,208,235,96,162,4,160,153,136,208,253,202,208,248,96 13 FORI=53214TO53246:READX:POKEI,X:NEXT 14 DATA32,250,174,32,158,173,32,143,173,165,100,133,247,165,101,133 15 DATA248,32,253,174,32,158,173,32,143,173,160,0,177,247,133,249 16 DATA177,100,145,247,165,249,145,100,200,192,3,208,239,32,247,174,96 17 FORI=53100TO53148:READX:POKEI,X:NEXT 18 DATA32,253,174,32,235,183,224,40,176,19,165,20,201,25,176,13,134,211,133 19 DATA214,32,16,229,32,253,174,76,160,170,76,72,178,32 20 FORI=53150TO53182:READX:POKEI,X:NEXT:GOTO100 33 POKEF,L:SYSC,7,3,Z;Z$:POKEF,D:RETURN 44 POKEF,L:SYSC,7,33,V;Z$:POKEF,D:RETURN 100 C=53150:X=1:Y=1:F=646:D=8:L=14:R=53214:B=53265:A%=1:V%=1:P%=1:F%=1:S%=1 110 G=1:A=1:E=1:Z$="[157] ":K$=" " 120 H$="...........":FORI=0TO6:F$(I)=H$:NEXT 130 G$="[176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174][221] [221]" 140 I$="[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]":G$=G$+I$ 150 N$="[145][145]   " 160 I$=" ":N$=N$+I$ 170 I$="[221][145][157][176][192][192][192][192][192][192][192][192][192][192][192][192][174][157][221][157][157][157][157][157][157][157][157][157][157][157][157][157][157][173][192][192][192][192][192][192][192][192][192][192][192][192][189]" 180 GL$=" [145][157] [157] [157][157][157][157][157][157][157][157][157][157][157][157][157][157] " 190 PRINTFRE(O):DIMP$(410,6):GOSUB200:POKEB,27:SYSR:GOTO570 200 POKEF,D:PRINT"[166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166]"; 210 PRINT"[166] [166]"; 220 PRINT"[166] [196]ATEI - [208]ROGRAMM [166]"; 230 PRINT"[166] [166]"; 240 PRINT"[166] ";:POKEF,L:PRINT" ";:POKEF,D 250 PRINT" [166]"; 260 PRINT"[166][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][166]"; 270 PRINT"[166] [166] [166] [166]"; 280 PRINT"[166] [166] [208]ROGRAMMFUNKTIONEN [166] [166]"; 290 PRINT"[166] [166][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][168][166] [166]"; 300 PRINT"[166] [166]"; 310 PRINT"[166] ";:POKEF,L:PRINT"-1-";:POKEF,D 320 PRINT" [196]ATEN '[204][207][193][196]'EN [166]"; 330 PRINT"[166] ";:POKEF,L:PRINT"-2-";:POKEF,D 340 PRINT" [196]ATEN '[211][193][214][197]'N [166]"; 350 PRINT"[166] ";:POKEF,L:PRINT"-3-";:POKEF,D 360 PRINT" [196]ATEN EINGEBEN [166]"; 370 PRINT"[166] ";:POKEF,L:PRINT"-4-";:POKEF,D 380 PRINT" [196]ATEN DEFINIEREN [166]"; 390 PRINT"[166] ";:POKEF,L:PRINT"-5-";:POKEF,D 400 PRINT" [196]ATEN AENDERN [166]"; 410 PRINT"[166] ";:POKEF,L:PRINT"-6-";:POKEF,D 420 PRINT" [196]ATEN DRUCKEN [166]"; 430 PRINT"[166] ";:POKEF,L:PRINT"-7-";:POKEF,D 440 PRINT" [196]ATEN SUCHEN [166]"; 450 PRINT"[166] ";:POKEF,L:PRINT"-8-";:POKEF,D 460 PRINT" [198]ARBEN AENDERN [166]"; 470 PRINT"[166] ";:POKEF,L:PRINT"-9-";:POKEF,D 480 PRINT" [198]REIER [211]PEICHER [166]"; 490 PRINT"[166] ";:POKEF,L:PRINT"-^-";:POKEF,D 500 PRINT" [208]ROGRAMM BEENDEN [166]"; 510 PRINT"[166] [166]"; 520 PRINT"[166] [166]"; 530 PRINT"[166] [193]USWAHL ! [166]"; 540 PRINT"[166] [163][163][163][163][163][163][163][163][163] [166]"; 550 PRINT"[166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166]"; 560 POKE2023,102:POKE56295,D:RETURN 570 GOSUB200:POKEB,27:POKE198,0 580 POKEF,L:SYSC,22,25,"[191][146]"; 590 FORI=1TO120:NEXT:PRINT"[157][191]":FORI=1TO120:NEXT:GETE$:IFE$=""THEN580 600 IFE$="^"THENSYSC,22,25,E$:POKEF,D:GOTO2390 610 E=VAL(E$):IFE>0 AND E<10THENSYSC,22,25,E$;:POKE646,D:GOTO650 620 L$="<<< [197]INGABE NUR 1-9 UND '^' MOEGLICH ! <<< " 630 GOSUB1220:IFE$=""THEN630 640 GOTO570 650 ONEGOTO770,880,960,1170,1290,1750,1840,2010,2190 660 IFZ>0THENRETURN:L$="<<< * [203]EINE [196]ATEN IM [211]PEICHER * <<< " 670 GOSUB1220:IFE$=""THEN670 680 GOTO570 690 POKE768,185:OPEN15,8,15,"I":POKE768,139 700 IFST<>-128THENGOSUB840:RETURN 710 POKEF,L:SYSC,23,1,"[196][197][214][201][195][197][160][206][207][212][160][208][210][197][211][197][206][212][160][197][210][210][207][210] ":POKEF,D 720 POKE198,0:WAIT198,1:GOTO830 730 OPEN4,4:POKE768,185:PRINT#4:CLOSE4: 740 POKE768,139:IFST<>-128THENRETURN 750 GOTO710 760 REM DATEN LADEN 770 L$="<<< [196]ATENDISKETTE EINLEGEN ! *** [212]ASTE DRUECKEN ! <<< " 780 GOSUB1220:IFE$=""THEN780 790 GOSUB690:POKEF,L:SYSC,7,10,"[196]ATEN WERDEN GELADEN";:POKEF,D 800 OPEN8,8,8,"0:DATEI,S,R":GOSUB840 810 FORI=0TO6:INPUT#8,F$(I):NEXT:GOSUB840:INPUT#8,Z:GOSUB840:GOSUB33 820 FORV=1TOZ:GOSUB44:FORI=0TO6:INPUT#8,P$(V,I):NEXTI,V:GOSUB840 830 CLOSE4:CLOSE8:CLOSE10:CLOSE15:SYSR:POKE53280,H:POKEB,11:GOTO570 840 INPUT#15,A,B$,G,E 850 POKEF,L:SYSC,23,1,A;B$;G;E:POKEF,D:IFA=0THENRETURN 860 POKE198,0:WAIT198,1:GOTO830 870 REM ***** DATEN SAVEN 880 L$=" *** [196]ATENDISKETTE EINLEGEN ! *** [212]ASTE DRUECKEN ! <<< " 890 L1$="<<< [193]CHTUNG VORHANDENES [196]ATENFILE WIRD UEBERSCHRIEBEN !":L$=L1$+L$ 900 GOSUB660:GOSUB1220:IFE$=""THEN900 910 GOSUB690:POKEF,L:SYSC,7,10," [196]ATEN SPEICHERN ";:POKEF,D 920 OPEN8,8,8,"@0:DATEI,S,W":GOSUB840 930 FORI=0TO6:PRINT#8,F$(I):NEXT:GOSUB840:PRINT#8,Z:GOSUB840:GOSUB33 940 FORV=1TOZ:GOSUB44:FORI=0TO6:PRINT#8,P$(V,I):NEXTI,V:GOSUB840:GOTO830 950 REM DATEN EINGEBEN 960 POKEB,11:SYSC,7,10," [196]ATEN EINGEBEN ":GOSUB1130 970 Z=Z+1:GOSUB33:IFZ=410THEN570 980 X=8:Y=2:FORI=0TO6:X=X+2:SYSC,X,Y,F$(I):NEXT:POKEB,27:X=9:Y=14:G=21 990 FORI=0TO6:SYSC,X,Y,G$:X=X+1:Y=Y+1:GOSUB1060:IFA$=""THENA$=CHR$(160) 1000 SYS53100(P$(Z,I),A$):A$="":X=X+1:Y=Y-1:SYSC,X,Y,N$:NEXT:GOSUB1130 1010 SYSC,14,3,"[215]EITERE [197]INGABEN ";:POKEF,L:PRINT"> [210]ETURN <":POKEF,D 1020 SYSC,17,3,"[218]UM [205]ENUE ";:POKEF,L:PRINT"> [211]PACE <":POKEF,D 1030 GETE$:IFE$=""THEN1030 1040 IFASC(E$)=13THEN960 1050 POKEB,11:GOTO570 1060 POKEF,L:SYSC,X,Y,A$" [146]":GETE$:IFE$=""THEN1060 1070 IFASC(E$)=20THENA$="":SYSC,X,Y,LEFT$(K$,G+1):GOTO1060 1080 IFASC(E$)=13THENPOKEF,D:SYSC,X,Y,A$" ":RETURN 1090 IFLEN(A$)=GTHEN1060 1100 IFASC(E$)>127ANDASC(E$)<160THEN1060 1110 IFASC(E$)<32 OR ASC(E$)=44 OR ASC(E$)=58 OR ASC(E$)=34THEN1060 1120 A$=A$+E$:GOTO1060 1130 X=8:Y=1 1140 X=X+1:SYSC,X,Y," ":IFX<23THEN1140 1150 RETURN 1160 REM DATEN DEFINIEREN 1170 POKEB,11:GOSUB1130:SYSC,7,10," [196]ATEN DEFINIEREN ":X=10:Y=4:POKEB,27:G=11 1180 FORI=0TO6:SYSC,X,Y,"[198]ELD [206]R."I;I$:Y=16:GOSUB1060:F$(I)=A$:A$="" 1190 F$(I)=F$(I)+LEFT$(H$,11-LEN(F$(I))):SYSC,X,Y,F$(I)" " 1200 Y=15:SYSC,X,Y,GL$:X=X+2:Y=4:NEXT:POKEB,11:GOTO570 1210 REM LAUFSCHRIFT 1220 SYSC,7,10," ":X=7:Y=29:S=0:POKEF,L:FORA=1TOLEN(L$) 1230 FORI=1TO130:NEXT:GOTO1260 1240 Y=Y-1:S=S+1:SYSC,X,Y,MID$(L$,A,S):IFS=18THENY=Y+1:S=S-1:NEXT:RETURN 1250 GOTO1230 1260 GETE$:IFE$<>""THENPOKEF,D:RETURN 1270 GOTO1240 1280 REM DATEN AENDERN 1290 V=1:GOSUB660 1300 POKEB,11:SYSC,7,10," [196]ATEN AENDERN ":GOSUB1130 1310 X=10:Y=2 1320 POKEF,L:SYSC,X,Y,"[198]1";:POKEF,D:PRINT" VOR ";:POKEF,L:PRINT"[198]3";:POKEF,D 1330 PRINT" RUECK ";:POKEF,L:PRINT"[198]5";:POKEF,D:PRINT" AENDERN"; 1340 POKEF,L:PRINT" [198]7";:POKEF,D:PRINT" [205]ENUE":X=11 1350 POKEF,L:SYSC,X,Y,"[198]2";:POKEF,D:PRINT" 10 ";:POKEF,L:PRINT"[198]4";:POKEF,D 1360 PRINT" 10 ";:POKEF,L:PRINT" [198]6";:POKEF,D:PRINT" LOESCHEN "; 1370 POKEF,L:PRINT"[198]8";:POKEF,D:PRINT" SORT.":GOSUB33:X=14:Y=1 1380 FORI=0TO6:SYSC,X,Y,I;F$(I):X=X+1:NEXT:POKEB,27 1390 X=14:Y=16:IFV>ZTHENV=Z 1400 IFV<1THENV=1 1410 POKEF,L:FORI=0TO6:SYSC,X,Y,K$:SYSC,X,Y,P$(V,I):X=X+1:NEXT:GOSUB44 1420 GETE$:IFE$=""THEN 1420 1430 IFASC(E$)=133THENV=V+1:GOTO1390 1440 IFASC(E$)=137THENV=V+10:GOTO1390 1450 IFASC(E$)=134THENV=V-1:GOTO1390 1460 IFASC(E$)=138THENV=V-10:GOTO1390 1470 IFASC(E$)=135THEN1520 1480 IFASC(E$)=139THEN1580 1490 IFASC(E$)=136THENPOKEB,11:GOTO570 1500 IFASC(E$)=140THEN1630 1510 GOTO1420 1520 SYSC,22,2,"[215]ELCHE [198]ELDNUMMER (0-6) AENDERN ?":GETE$:IFE$=""THEN1520 1530 IFASC(E$)>47 AND ASC(E$)<55THEN1550 1540 GOTO1520 1550 I=VAL(E$):SYSC,22,2,"[206]EUER [201]NHALT ";:PRINT"[145]"G$ 1560 X=22:Y=16:G=21:GOSUB1060:IFA$=""THENA$=CHR$(160) 1570 P$(V,I)=A$:A$="":POKEB,11:GOTO1300 1580 L$="<<< [211]OLL DIESER [196]ATENSATZ GELOESCHT WERDEN (J/N) ? <<< ":GOSUB660 1590 GOSUB1220:IFE$=""THEN1590 1600 IFE$<>"J"THEN1300 1610 POKEF,L:SYSC,7,10," [196]ATEN LOESCHEN ":POKEF,D: 1620 FORA=VTOZ:FORI=0TO6:SYS53100(P$(A,I),P$(A+1,I)):NEXTI,A:Z=Z-1:GOTO1300 1630 IFZ<2THEN1420 1640 SYS C,22,2,"[215]ELCHES [198]ELD ( 0-6 ) SORTIEREN ?":GETE$:IFE$=""THEN1640 1650 IFASC(E$)<48 OR ASC(E$)>54THEN1640 1660 SYSC,22,2,"[211]ORTIERROUTINE LAEUFT ! ":POKEF,L:I=VAL(E$) 1670 FORE=Z-1TO1STEP-1:SYSC,22,26,E;Z$ 1680 FORW=1TOE:SYSC,22,31,W;Z$ 1690 IFP$(W,I)<=P$(W+1,I)THEN1730 1700 FORA=0TO6:SYS53100(E$(A),P$(W,A)):NEXT 1710 FORA=0TO6:SYS53100(P$(W,A),P$(W+1,A)):NEXT 1720 FORA=0TO6:SYS53100(P$(W+1,A),E$(A)):NEXT 1730 NEXTW,E:POKEF,D:GOTO1290 1740 REM DATEN DRUCKEN 1750 GOSUB660:POKEB,11 1760 SYSC,7,10," [196]ATEN DRUCKEN ":GOSUB1130:POKEB,27:GOSUB33 1770 X=15:Y=9:SYSC,X,Y,"[196]ATUM ":G=10:Y=16:GOSUB1060 1780 SYSC,15,9," [196]RUCKER BEREIT ??? ":POKE198,0:WAIT198,1:GOSUB730:OPEN4,4,7 1790 PRINT#4,TAB(19)CHR$(14)CHR$(14)"[196]ATEN - [193]RCHIV"CHR$(13)CHR$(13)CHR$(13) 1800 PRINT#4,TAB(5)"[204]ISTE VOM "A$CHR$(13)CHR$(13):A$="" 1810 FORV=1TOZ:FORI=0TO6:PRINT#4,TAB(5)F$(I);TAB(3)P$(V,I) 1820 NEXT:PRINT#4:NEXT:OPEN10,4,10:PRINT#10:GOTO830 1830 REM DATEN SUCHEN 1840 GOSUB660:POKEB,11:GOSUB1130:SYSC,7,10," [211]UCHBEGRIFFE " 1850 X=8:Y=2:FORI=0TO6:X=X+2:SYSC,X,Y,F$(I):S$(I)="":NEXT:X=9:Y=14:POKEB,27:G=21 1860 FORI=0TO6:SYSC,X,Y,G$:X=X+1:Y=Y+1:GOSUB1060:S$(I)=A$:A$="" 1870 X=X+1:Y=Y-1:SYSC,X,Y,N$:NEXT 1880 POKEB,11:SYSC,7,10," [196]ATEN AUSGEBEN ":GOSUB1130 1890 X=13:Y=2:FORI=0TO6:SYSC,X,Y,F$(I):X=X+1:NEXT:POKEB,27:GOSUB33 1900 SYSC,10,9,"[196]ATEI WIRD DURCHSUCHT!":A=0 1910 FORV=1TOZ:GOSUB44:FORI=0TO6:IFS$(I)=""THENA=A+1:GOTO1930 1920 IFLEFT$(P$(V,I),LEN(S$(I)))=S$(I)THENA=A+1 1930 NEXT:IFA=7THEN1970 1940 A=0:NEXT:SYSC,10,9,K$" ":L$="<<< * [196]ATEIENDE * <<< " 1950 GOSUB1220:IFE$=""THEN1950 1960 POKEB,11:GOTO570 1970 SYSC,10,9,K$" ":X=13:Y=14:POKEF,L:FORI=0TO6:SYSC,X,Y,K$:SYSC,X,Y,P$(V,I) 1980 X=X+1:NEXT:WAIT198,1:POKE198,0:POKEF,D 1990 SYSC,10,9,"[196]ATEI WIRD DURCHSUCHT !":GOTO1940 2000 REM FARBEN AENDERN 2010 POKEB,11:GOSUB1130:POKEF,L:SYSC,7,10," [198]ARBE AENDERN ":X=11:Y=10 2020 SYSC,X,Y,"[198]1";:POKEF,D:PRINT" [200]INTERGRUNDFARBE" 2030 X=14:POKEF,L:SYSC,X,Y,"[198]3";:POKEF,D:PRINT" [211]CHRIFTFARBE 1" 2040 X=17:POKEF,L:SYSC,X,Y,"[198]5";:POKEF,D:PRINT" [211]CHRIFTFARBE 2" 2050 X=20:POKEF,L:SYSC,X,Y,"[198]7";:POKEF,D:PRINT" [218]UM [205]ENUE":POKEB,27 2060 GETE$:IFE$=""THEN2060 2070 IFASC(E$)=133THENH=H+1:GOTO 2120 2080 IFASC(E$)=134THENL=L+1:GOTO 2140 2090 IFASC(E$)=135THEND=D+1:GOTO 2160 2100 IFASC(E$)=136THENPOKEB,11:GOTO570 2110 GOTO2060 2120 IFH=16THENH=0 2130 POKE53280,H:POKE53281,H:GOTO2060 2140 IFL=16THENL=0 2150 POKEB,11:GOSUB200:GOTO2010 2160 IFD=16THEND=0 2170 GOTO2150 2180 REM FREIER SPEICHER 2190 POKEB,11:SYSC,7,10," [198]REIER [211]PEICHER ":GOSUB1130:GOSUB33 2200 X=9:Y=8:GOSUB2280:SYSC,16,6,"[211]PEICHERPLATZ AUFRAEUMEN (J/N)":POKEB,27 2210 GETE$:IFE$="N"THENPOKEB,11:GOTO570 2220 IFE$<>"J"THEN2210 2230 SYSC,19,12,"[194]ITTE [215]ARTEN !!!" 2240 SYSC,21,8,"[199]ARBAGE [195]OLLECTION LAEUFT":POKE646,L 2250 SYSC,16,19,(INT(FRE(O)/49));:POKEF,D:PRINT"[157] [196]ATENSAETZE " 2260 SYSC,16,5,"[208]LATZ FUER CA. ":SYSR:POKE53280,H:X=17:Y=6:GOSUB2280 2270 POKE198,0:WAIT198,1:POKEB,11:GOTO570 2280 A=PEEK(43)+256*PEEK(44):E=PEEK(45)+256*PEEK(46):P%=E-A 2290 A=PEEK(47)+256*PEEK(48):V%=A-E 2300 E=PEEK(49)+256*PEEK(50):A%=E-A 2310 A=PEEK(51)+256*PEEK(52):F%=A-E 2320 E=PEEK(55)+256*PEEK(56):S%=E-A 2330 X=X+1:SYSC,X,8," [208]ROGRAMM =";:POKEF,L:PRINTP%;Z$:POKEF,D:SYSC,X,27,"[194]YTES" 2340 X=X+1:SYSC,X,8," [193]RRAYS =";:POKEF,L:PRINTA%;Z$:POKEF,D:SYSC,X,27,"[194]YTES" 2350 X=X+1:SYSC,X,8," [214]ARIABLEN =";:POKEF,L:PRINTV%;Z$:POKEF,D:SYSC,X,27,"[194]YTES" 2360 X=X+1:SYSC,X,8," [211]TRINGS =";:POKEF,L:PRINTS%;Z$:POKEF,D:SYSC,X,27,"[194]YTES " 2370 X=X+1:SYSC,X,8," [198]REI =";:POKEF,L:PRINTF%:POKEF,D:SYSC,X,27,"[194]YTES":RETURN 2380 REM PROGRAMM ENDE 2390 L$="<<< [193]CHTUNG [195]OMPUTER FUEHRT EIN [210]ESET AUS ! *** " 2400 L1$=" [211]IND ALLE [196]ATEN GESPEICHERT (J/N) ? <<< ":L$=L$+L1$ 2410 SYSR:POKE53280,H:GOSUB1220:IFE$=""THEN2410 2420 IFE$<>"J"THEN570 2430 SYS64738