home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er
/
64ER_CD.iso
/
sh4x
/
sh41.d64
/
eddi
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-03-30
|
3KB
|
139 lines
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 !"