10 REM EDDI - DISKMONITOR/EDITOR 50 PRINT"[147][144]":POKE53280,14:POKE53281,14 60 GOSUB10000 70 OPEN1,8,15,"I0":OPEN2,8,2,"#" 80 PRINT"[147] E D D I - HAUPTMENUE" 85 HE$="BYTE DEC HEX BIN ASC":POKE650,128 90 PRINT" [197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197]" 100 PRINT:PRINT:PRINT 110 PRINT"(F1) - SCROLLING VORWAERTS":PRINT 120 PRINT"(F2) - SCROLLING RUECKWAERTS":PRINT 130 PRINT"(F3) - BLOCK LESEN":PRINT 140 PRINT"(F4) - BLOCK SCHREIBEN":PRINT 150 PRINT"(F5) - EDITOR EINSCHALTEN":PRINT 160 PRINT"(F6) - DISKETTE WECHSELN":PRINT 170 PRINT"(F7) - RUECKKEHR INS MENUE":PRINT 180 PRINT"(F8) - PROGRAMMENDE" 190 PO=1:GOTO 9000 1000 REM EDDI AN 1010 X=0:Y=0 1020 FORY=ETO255STEP16 1030 PO=2:PRINT"[147]EDITOR-MODUS FUER TRACK"T" SEKTOR"S 1040 PRINT:PRINTHE$:PRINT 1050 FORX=YTOY+15:PRINTX:NEXTX 1060 PRINT"":FORX=YTOY+15 1065 DA=PEEK(50000+X):GOSUB7030:PRINTX,OU$ 1070 INPUT"[145]";IN$:IFIN$=""THEN1090 1072 IFLEFT$(IN$,1)="^"THENPRINT"":GOTO9000 1073 IFLEFT$(IN$,1)="_"THENPRINT"":GOTO1125 1075 DA=VAL(LEFT$(IN$,3)):IFDA>255ORDA<0THENPRINT"[145][145]":GOTO1065 1080 POKE50000+X,DA 1120 NEXTX:PRINT 1125 PRINT"EINGABE ?"; 1130 GETA$:IFA$=""THEN1130 1140 IFA$="[133]"THEN1200 1150 IFA$="[137]"THEN1300 1160 IFA$<>" "THENNEXTY 1170 PO=1:GOTO9000 1200 PRINT"":PRINTE".....???" 1210 GETA$:IFA$=""THEN1210 1215 IFA$="[137]"THEN1300 1220 IFA$<>"[133]"THEN1020 1230 E=E+16:IFE>255THENE=0 1240 GOTO1200 1300 PRINT"":PRINTE".....???" 1310 GETA$:IFA$=""THEN1310 1315 IFA$="[133]"THEN1200 1320 IFA$<>"[137]"THEN1020 1330 E=E-16:IFE<0THENE=240 1340 GOTO1300 2000 REM DISKETTENWECHSEL 2010 PRINT"[147]BITTE NEUE DISKETTE EINLEGEN" 2020 GETA$:IFA$=""THEN2020 2030 RUN 3000 REM BLOCK READ 3010 PO=2:PRINT"[147] BLOCK LESEN":PRINT:PRINT 3020 INPUT"TRACK, SEKTOR ";T,S 3025 IFT<1ORT>35THEN3010 3030 PRINT#1,"U1 2 0"T;S 3035 IFST<>0THENPRINT:GOTO9000 3040 PRINT#1,"B-P 2 0" 3050 SYS49152:E=0:X=0:Y=0:GOTO5010 3060 FORY=ETO255STEP16 3070 PRINT"[147]TRACK"T" SEKTOR"S 3080 PRINT:PRINTHE$:PRINT 3090 FORX=YTOY+15:DA=PEEK(50000+X):GOSUB7030:PRINTX,OU$:NEXTX 3100 GOTO9000 4000 REM BLOCK WRITE 4010 PO=1:PRINT:PRINT:INPUT"[147]TRACK, SEKTOR";T,S:PRINT"[144]" 4020 PRINT#1,"B-P 2 0" 4030 SYS49177 4040 PRINT#1,"U2 2 0"T;S 4050 GOTO9000 5000 REM SCROLL FORWARD 5010 E=X:IFE>255THENX=0:E=0 5020 PRINT"[147]TRACK"T" SEKTOR"S 5030 PRINT:PRINTHE$:PRINT 5040 DA=PEEK(50000+E):GOSUB7030:PRINTE,OU$ 5050 X=X+16 5060 GETA$:IFA$=""THEN5060 5070 IFA$="[133]"THEN5010 5075 IFA$="[137]"THENX=X-16:GOTO6010 5077 IFA$="[135]"THEN1000 5080 GOTO3060 6000 REM SCROLL BACKWARD 6010 E=X:IFE<0THENE=240:X=240 6020 PRINT"[147]TRACK"T" SEKTOR"S 6030 PRINT:PRINTHE$:PRINT 6040 DA=PEEK(50000+E):GOSUB7030:PRINTE,OU$ 6050 X=X-16 6060 GETA$:IFA$=""THEN6060 6070 IFA$="[137]"THEN6010 6075 IFA$="[133]"THENX=X+16:GOTO5010 6077 IFA$="[135]"THEN1000 6080 GOTO3060 7000 REM BEREITSTELLUNG DES STRINGS 7010 REM DA/DA$ SIND AUSGABEWERTE H$,D$,B$,C$ SIND ZWISCHENWERTE 7020 REM OU,OU$ SIND ENDERGEBNISSE 7030 IFDA>31ANDDA<128ORDA>159ANDDA<256THENC$=CHR$(DA):GOTO7040 7035 C$="." 7040 XX$="000":D$=RIGHT$(STR$(DA),LEN(STR$(DA))-1) 7045 D$=LEFT$(XX$,3-LEN(D$))+D$ 7050 XX$="123456789ABCDEF":H$="" 7060 HH=INT(DA/16):HL=DA-HH*16 7070 IFHHTHENH$=H$+MID$(XX$,HH,1):GOTO7080 7075 H$=H$+"0" 7080 IFHLTHENH$=H$+MID$(XX$,HL,1):GOTO7090 7085 H$=H$+"0" 7090 B$="":FORQ=7TO0STEP-1 7100 IF(DAAND(2^Q))<>0THENB$=B$+"1":NEXT:GOTO7110 7105 B$=B$+"0":NEXT 7110 OU$=D$+" "+H$+" "+B$+" "+C$ 7120 RETURN 8999 END 9000 REM GET KOMMANDO 9010 PRINT:PRINT"KOMMANDO ? "; 9020 PRINT"[157][191]";:FORW=1TO75:GETKO$:IFKO$<>""THEN9090 9030 NEXTW 9040 PRINT"[157][191][146]";:FORW=1TO75:GETKO$:IFKO$<>""THEN9090 9050 NEXTW 9060 GOTO9020 9090 IFKO$="@"THEN9200 9100 IF ASC(KO$)>140ORASC(KO$)<133THEN9020 9110 KO=ASC(KO$)-132 9120 ON PO GOTO9130,9140,20000 9130 ON KO GOTO9020,3000,1000,80,9020,4000,2000,20000 9140 ON KO GOTO5000,3000,1000,80,6000,4000,2000,20000 9200 PRINT 9210 GET#1,A$:PRINTA$;:IFST<>64THEN9210 9220 GOTO 9000 9999 END 10000 DATA160,0,169,8,32,9,237,169,98,32,199,237,32,19,238,153,80,195,200 10010 DATA208,247,32,239,237,96,160,0,169,8,32,12,237,169,98,32,185,237 10020 DATA185,80,195,32,221,237,200,208,247,32,254,237,96,0,0 10030 RESTORE:FORZ=1TO51:READA:POKE49151+Z,A:NEXT 10040 REM GET:49152; WRITE:49177 10050 RETURN 20000 PRINT:PRINT:PRINT"[154]AUF WIEDERSEHEN !!!":PRINT:POKE53280,14:POKE53281,6 20001 PRINT"UND DANKESCHOEN !"