1 REM (C) 1985 BY DIRK GAZIC 2 REM AMSTERDAMER STR. 41 3 REM 5000 KOELN 90 4 REM TEL.:02203/32921 5 : 6 : 7 : 8 : 9 : 1000 REM INITIALIZIERUNG --------------- 1010 : 1020 POKE55,0:POKE56,128:CLR:DIMZE%(4),TE$(4) 1030 HF=0:VF=0:SF=5:REM FARBVORGABE 1040 PRINTCHR$(14)CHR$(8)CHR$(147) 1050 RE$(0)="[146]":RE$(1)="" 1060 FORI=1TO4:READZE%(I):READTE$(I):NEXT 1070 EI$="[201]HRE [197]INGABE [194]ITTE >>>":REM HAEUFIGSTE STATUSZEILE 1080 DATA 8,"[208]ROGRAMM BEARBEITEN" 1090 DATA10,"[211]PEICHERINHALT SICHERN" 1100 DATA 12,"[196]IRECTORY ZEIGEN" 1110 DATA 14,"[208]ROGRAMM BEENDEN" 1120 GOTO2560:REM HAUPTPROGRAMM 1130 : 1140 : 1150 : 1160 REM INPUT-ROUTINE ----------------- 1170 : 1180 POKE204,0:POKE205,2:WAIT207,1,1:POKE204,1 1190 L=LEN(WW$):PRINTWW$;" [157]";:IFL>0THENFORZZ=1TOL:PRINT"[157]";:NEXT:L=0 1200 POKE204,0 1210 POKE198,0:WAIT198,1:GETW$ 1220 POKE205,2:WAIT207,1,1:POKE204,1 1230 IFW$=CHR$(29)ANDL0THENL=L-1:PRINTW$;:GOTO1200 1250 IFW$=CHR$(13)THEN1320 1260 IFW$=CHR$(20)ANDL>0THEN1350 1270 IFASC(W$)<32ORASC(W$)=34THEN1200 1280 IFW$="*"ORW$=";"ORW$=","THEN1200 1290 IFASC(W$)>127ANDASC(W$)<160THEN1200 1300 L=L+1:PRINTW$;:IFL0THENFORZZ=1TOL:PRINT"[157]";:NEXT 1330 WW$="":OPEN3,3:FORZZ=1TOMX:GET#3,W$:WW$=WW$+W$:NEXT:CLOSE3 1340 RETURN 1350 IFL=0THEN1200 1360 GOSUB1320 1370 FORZZ=1TOMX:PRINT"[157]";:NEXT 1380 IFL=1THENWW$=MID$(WW$,2):GOTO1190 1390 WW$=LEFT$(WW$,L-1)+MID$(WW$,L+1):PRINTWW$;" "; 1400 FORZZ=1TOMX-L+1:PRINT"[157]";:NEXT 1410 L=L-1:GOTO1200 1420 : 1430 : 1440 : 1450 REM LEERSTELLEN ENTFERNEN --------- 1460 : 1470 L1=LEN(WW$):IFL1=0THENRETURN 1480 L2=ASC(RIGHT$(WW$,1)):IFL2<>32ANDL2<>160THENRETURN 1490 WW$=LEFT$(WW$,L1-1):GOTO1470 1500 : 1510 : 1520 : 1530 REM UNTERE STATUSZEILE ------------ 1540 : 1550 I=INT((39-LEN(AN$))/2) 1560 AN$=LEFT$(" ",I)+AN$ 1570 POKE214,23:SYS58640:PRINT:PRINT" [146]"; 1580 POKE214,23:SYS58640:PRINT:PRINT"";AN$"[146]"; 1590 POKE2023,160:POKE56295,PEEK(646) 1600 RETURN 1610 : 1620 : 1630 : 1640 REM OBERE STATUSZEILE ------------- 1650 : 1660 PRINT" [146]" 1670 I=INT((39-LEN(AN$))/2) 1680 AN$=LEFT$(" ",I)+AN$ 1690 PRINT"";AN$;"[146]" 1700 RETURN 1710 : 1720 : 1730 : 1740 REM FEHLERTON --------------------- 1750 : 1760 SI=54272 1770 FOR I=0 TO 23:POKE I+SI,0:NEXT 1780 POKESI+1,7:POKESI+5,60:POKESI+24,15:POKESI+2,50:POKESI+3,15:POKESI+4,65 1790 RETURN 1800 : 1810 : 1820 : 1830 REM DISK-FEHLER ------------------- 1840 : 1850 INPUT#1,FF$,FE$,TT$,SS$ 1860 IFFE$="OK"THENRETURN 1870 AN$=FF$+","+FE$+","+TT$+","+SS$ 1880 GOSUB1530 1890 IFFF$="74"THENPRINT#1,"UJ":FORI=1TO3000:NEXT 1900 GOSUB1740:POKE198,0:WAIT198,1 1910 RETURN 1920 : 1930 : 1940 : 1950 REM DIRECTORY --------------------- 1960 : 1970 OPEN1,8,15,"I":GOSUB1830:CLOSE1:IFFE$<>"OK"THENRETURN 1980 PRINT"[147]";:RE=0 1990 OPEN1,8,0,"$0" 2000 GET#1,A$,B$ 2010 GET#1,A$,B$ 2020 GET#1,A$,B$ 2030 GETQ$:IFQ$="[133]"THENCLOSE1:RETURN 2040 IFQ$="[134]"THENWAIT198,1:POKE198,0 2050 PRINT"[146]"; 2060 C=0 2070 IF A$<>"" THEN C=ASC(A$) 2080 IF B$<>"" THEN C=C+ASC(B$)*256 2090 PRINTMID$(STR$(C),2);:POKE211,4 2100 IFRE=0THENPRINT""; 2110 GET#1,B$:IF ST<>0 THEN 2220 2120 IF B$<>CHR$(34) THEN 2110 2130 PRINTCHR$(34); 2140 GET#1,B$:PRINTB$;:IFB$<>CHR$(34)THEN2140 2150 PRINT" "; 2160 GET#1,B$:IF B$=CHR$(32) THEN 2160 2170 POKE211,24:C$="" 2180 C$=C$+B$:GET#1,B$:IFB$<>""THEN 2180 2190 IFLEFT$(C$,1)="*"THENPOKE211,23 2200 PRINTC$ 2210 IF ST=0 THEN RE=1:GOTO 2010 2220 PRINT"BLOCKS FREE" 2230 CLOSE1 2240 AN$="'[212][193][211][212][197]' FUER [210]UECKKEHR INS [205]ENUE":GOSUB1530 2250 POKE198,0:WAIT198,1 2260 RETURN 2270 : 2280 : 2290 : 2300 REM MENUESTEUERUNG ---------------- 2310 : 2320 PRINT"[147]":POKE646,SF 2330 AN$=NM$:GOSUB1640 2340 AN$="[215]AEHLEN MIT [195][213][210][211][207][210] UND [210][197][212][213][210][206]":GOSUB1530 2350 GOSUB2510:RE=1:GOSUB2500 2360 POKE53280,HF:POKE53281,VF 2370 POKE198,0:WAIT198,1:GETQ$ 2380 IFQ$=CHR$(13)THENRETURN 2390 IFQ$="[145]"ANDZE>1THENRE=0:GOSUB2500:ZE=ZE-1:RE=1:GOSUB2500:GOTO2360 2400 IFQ$="[145]"THENRE=0:GOSUB2500:ZE=4:RE=1:GOSUB2500:GOTO2360 2410 IFQ$=""ANDZE<4THENRE=0:GOSUB2500:ZE=ZE+1:RE=1:GOSUB2500:GOTO2360 2420 IFQ$=""THENRE=0:GOSUB2500:ZE=1:RE=1:GOSUB2500:GOTO2360 2430 IFQ$="[133]"ANDHF<255THENHF=HF+1:GOTO2360 2440 IFQ$="[133]"THENHF=0 2450 IFQ$="[134]"ANDVF<255THENVF=VF+1:GOTO2360 2460 IFQ$="[134]"THENVF=0 2470 IFQ$="[135]"ANDSF<15THENSF=SF+1:GOTO2300 2480 IFQ$="[135]"THENSF=0:GOTO2300 2490 GOTO2360 2500 POKE211,8:POKE214,ZE%(ZE):SYS58640:PRINTRE$(RE)TE$(ZE):RETURN 2510 FORI=1TO4:POKE211,8:POKE214,ZE%(I):SYS58640:PRINTTE$(I):NEXT 2520 RETURN 2530 : 2540 : 2550 : 2560 REM HAUPTPROGRAMM ----------------- 2570 : 2580 NM$=" [193]UTO.[197]PROM [214]1.2 (C) BY [196]IRK [199]AZIC" 2590 ZE=1:GOSUB2300 2600 ONZEGOSUB2650,3050,1950,3270 2610 GOTO2560 2620 : 2630 : 2640 : 2650 REM PROGRAMM BEARBEITEN ----------- 2660 : 2670 AN$="[205]ODUS: [208]ROGRAMM BEARBEITEN":GOSUB1640 2680 AN$=EI$:GOSUB1530:WW$="" 2690 PRINT"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]" 2700 PRINT"[221][198]ILENAME: [221]" 2710 PRINT"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]" 2720 PRINT"[145][145]";:MX=16:GOSUB1160:GOSUB1450:NA$=WW$ 2730 OPEN1,8,15:OPEN2,8,0,NA$ 2740 GOSUB1830:IFFE$<>"OK"THENCLOSE1:CLOSE2:RETURN 2750 GET#2,LB$:GET#2,HB$ 2760 IFASC(LB$+CHR$(0))=1ANDASC(HB$+CHR$(0))=8THEN2790 2770 AN$="[208]ROGRAMMSTART IST NICHT $0801":CLOSE1:CLOSE2:GOSUB1740:GOSUB1530 2780 POKE198,0:WAIT198,1:RETURN 2790 RESTORE 2800 AN$="[194]ITTE WARTEN":GOSUB1530 2810 FORI=1TO4:READA:READA$:NEXT 2820 FORI=32768TO32859:READA:POKEI,A:NEXT 2830 GET#2,A$:A$=A$+CHR$(0) 2840 POKEI,ASC(A$) 2850 I=I+1:IFI<40960ORST=64THEN2880 2860 AN$="[208]ROGRAMM IST ZU LANG":CLOSE1:CLOSE2:GOSUB1740:GOSUB1530 2870 POKE198,0:WAIT198,1:RETURN 2880 IFST<>64THEN2830 2890 CLOSE1:CLOSE2 2900 HB=INT(I/256):LB=I-HB*256 2910 POKE32838,LB:POKE32842,HB 2920 I1=I-30811:I2=I 2930 HB=INT(I1/256):LB=I1-HB*256 2940 POKE32846,LB:POKE32852,HB 2950 RETURN 2960 : 2970 DATA9,128,9,128,195,194,205,56,48,120,142,22,208,32,163,253,32,80,253,32 2980 DATA21,253,32,91,255,88,32,83,228,32,191,227,32,61,128,162,251,154,169 2990 DATA82,141,119,2,169,213,141,120,2,169,13,141,121,2,169,3,141,198,0,76 3000 DATA134,227,169,92,133,95,169,128,133,96,169,110,133,90,169,128,133,91 3010 DATA169,20,133,88,133,45,169,8,133,89,133,46,76,191,163 3020 : 3030 : 3040 : 3050 REM SPEICHERINHALT SICHERN -------- 3060 : 3070 IFI2=0THENGOSUB1740:RETURN 3080 AN$="[205]ODUS: [211]PEICHERINHALT SICHERN":GOSUB1640 3090 AN$=EI$:GOSUB1530 3100 PRINT"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]" 3110 PRINT"[221][198]ILENAME: [221]" 3120 PRINT"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]":WW$="MODUL."+NA$ 3130 WW$=LEFT$(WW$,16):PRINT"[145][145]";:MX=16:GOSUB1160:GOSUB1450 3140 OPEN1,8,15:OPEN2,8,1,WW$ 3150 GOSUB1830:IFFE$<>"OK"THENCLOSE1:CLOSE2:RETURN 3160 PRINT"[221][211]TARTADRESSE: * 4096 " 3170 WW$=MID$(STR$(8),2):PRINT"[145]";:MX=1:GOSUB1160 3180 AD=VAL(WW$):IFAD<1ORAD>8THENGOSUB1740:GOTO3160 3190 AD=AD*4096:HB=INT(AD/256):LB=AD-HB*256 3200 PRINT#2,CHR$(LB)CHR$(HB); 3210 AN$="[194]ITTE WARTEN":GOSUB1530 3220 FORI=32768TOI2:PRINT#2,CHR$(PEEK(I));:NEXT 3230 GOSUB1830:CLOSE1:CLOSE2:I2=0:RETURN 3240 : 3250 : 3260 : 3270 REM PROGRAMM BEENDEN -------------- 3280 AN$="[205]ODUS: [208]ROGRAMM BEENDEN":GOSUB1640 3290 AN$="[215]OLLEN [211]IE WIRKLICH BEENDEN [J/N]":GOSUB1530:POKE198,0:WAIT198,1:GETQ$ 3300 IFQ$="N"THENRETURN 3310 IFQ$<>"J"THEN3290 3320 PRINT"[147]":IFI1=0THEN3340 3330 PRINT"[194]EARBEITETES [208]ROGRAMM STEHT AB $8000 [197]PROMFERTIG IM [211]PEICHER" 3340 NEW