home *** CD-ROM | disk | FTP | other *** search
- 0 REM SAVE"@0:BATCH64",8:REM BATCH-VERARBEITUNG AUF C 64 , VERWENDET:
- 1 REM EDI.BAS ZEILENORIENTIERTER ASCII-TEXT-EDITOR FUER ALLE CBM-RECHNER
- 2 REM VON P. KITTEL , FFM 1985
- 4 GOTO200: REM COLD START MIT INITIALISIERUNG
- 20 BJ=8:BI=CS+1:IFBI>LEN(A$)THENBI=LEN(A$):IFBI=0THENBI=1
- 22 GOSUB28:CS=BI-1:IFB1<>13ANDBI<=MLAND((B1<>17)ORK)THEN22
- 24 IFB1=13THENRETURN
- 25 IFB1=17ANDK=0THENK=B:RETURN
- 26 IFLEN(A$)>250THENA$=LEFT$(A$,LEN(A$)-1):IFBI>LEN(A$)THENBI=BI-1:PRINT"[157]";
- 27 PRINTBL$;:GOTO22
- 28 B1=0:BJ$=MID$(A$,BI,1):BI$=MID$(A$,BI+1,1):IFBJ$=""THENBJ$=" "
- 29 IF(ASC(BJ$)AND127)=18THENBJ$=CHR$(ASC("#")+(ASC(BJ$)AND128))
- 30 GETB$:IFB$<>""THENPRINT"[146]"BJ$;:GOTO34
- 31 BJ=(1+BJ)AND15:PRINTCHR$(18+16*(BJAND8));BJ$;
- 32 IFBJ$=G$THENPRINTG$"[157][146]";:IFBI<LEN(A$)ANDBI$<>G$THENPRINTBI$"[157]";
- 33 PRINT"[157]";:RETURN
- 34 IFBJ$=G$THENPRINTG$"[157]";:IFBI<LEN(A$)ANDBI$<>G$THENPRINTBI$"[157]";
- 35 PRINT"[157]";:B=ASC(B$):B1=BAND127:IFB1>31THEN39
- 36 IFB1>12THENONB1-12GOTO74,38,38,38,38,87,76,60,38,38,38,38,38,38,38,38,46
- 37 REM 13:RETURN,17:VERT,18:REV,19:HOME,20:DEL,29:HORIZ
- 38 RETURN
- 39 IFBI>MLTHENPRINTBL$;:RETURN
- 40 BI=BI+1:IFB=222THENB$=CHR$(255)
- 41 PRINTB$;:IFB$=G$THENPRINTG$"[157]";:IFBI<=LEN(A$)ANDBI$<>G$THENPRINTBI$"[157]";
- 42 IFBI>2THENB$=LEFT$(A$,BI-2)+B$
- 43 B$=B$+MID$(A$,BI)
- 44 A$=B$:RETURN
- 46 IFB=29THEN54
- 48 IFBI>1THENPRINTB$;:BI=BI-1
- 50 IFBI<2THENPRINTBL$;
- 52 RETURN
- 54 IFBI>=MLTHENPRINTBL$;:RETURN
- 56 PRINTB$;:BI=BI+1:IFLEN(A$)<BITHENA$=A$+" "
- 58 RETURN
- 60 IFB=148THEN66
- 62 IFBI<2THENPRINTBL$;:RETURN
- 63 PRINTB$;:B$=MID$(A$,BI):IFBI>2THENB$=LEFT$(A$,BI-2)+B$
- 64 A$=B$:BI=BI-1:RETURN
- 66 L=LEN(A$):BJ$=RIGHT$(A$,1):IFL>=MLTHENPRINTBL$;:RETURN
- 68 PRINTB$" [157]";:B$=" "+MID$(A$,BI):IFBI>1THENB$=LEFT$(A$,BI-1)+B$
- 72 A$=B$:RETURN
- 74 PRINT:IFB=13THENB=17:B1=B:BI=1:GOTO81
- 75 B=141:RETURN
- 76 IFB=19THENPRINTLEFT$(CB$,BI-1);:BI=1:RETURN
- 78 IFBI<LEN(A$)THENPRINTSPC(LEN(A$)-BI);:BI=LEN(A$)
- 79 IFBI<MLANDRIGHT$(A$,1)<>" "THENBI=BI+1:A$=A$+" ":PRINT"";
- 80 RETURN
- 81 IFM>=NTHENRETURN
- 82 B$=A$(M+1):IFB$=""THENRETURN
- 83 IFMID$(B$,BI,1)=" "THENIFBI<LEN(B$)THENBI=BI+1:GOTO83
- 84 IFMID$(B$,BI,1)=" "THENBI=1
- 85 RETURN
- 87 BI=BI+1:IFBI>ML+1THENPRINTBL$;
- 88 PRINTCHR$(ASC("#")+(BAND128));:GOTO42
- 90 PRINT"LX (X = [218]AHL) = [204]OESCHEN X [218]EILEN OD.
- 91 [153]"EX (X = (null)AHL) = VALINFUEGEN X (null)EILEN OD.
- 92 PRINT"H FUER [200]ILFE ODER":PRINT"- FUER [193]BBRUCH.
- 93 [153]"RIGHT$N DEN (null)EXTZEILEN:":[153]"LENURSORTASTEN UND RIGHT$(null)(null)(null)/STR$VAL(null) NORMAL
- 94 PRINT"[211]HIFT-[210]ETURN = ZURUECK ZU [194]EFEHLSZEILE
- 95 [153]"(null)ETURN = NAECHSTER (null)EILENANFANG
- 96 PRINT"[200]OME = AKTUELLER [218]EILENANFANG
- 97 [153]"(null)HIFT-LEFT$OME = (null)EILENENDE.
- 99 PRINT"[212]ASTE DRUECKEN.":FORI=-1TO0:GETA$:I=A$="":NEXT
- 100 K=0:PRINT"[147]":N=-N*(N>=0):G$=CHR$(34):BL$=CHR$(7)
- 101 PRINT"";TAB(69);M-(M<0)+(M-N)*(M>N)
- 102 PRINT"AEND/L[146]OESCH/E[146]INFUEG/H[146]ILFE, [197]NDE MIT - , ";
- 103 INPUT"[218]EILENNR./[194]EFEHL(L./E./H) = ";A$:B$=LEFT$(A$,1):IFB$="-"THENRETURN
- 104 V=M:IFM<0THENV=0
- 105 B=VAL(MID$(A$,2)):IFB$="L"THENB=B+V-1:GOSUB185:M=V:GOTO100
- 106 M=VAL(A$):IFB$="E"THEN190
- 110 IFM<0ORM>NTHEN100
- 111 PRINT"[195]URSOR AKTIV, [210]ETURN: NAECHSTE [218]EILE, [203]OMMANDOZ.:";
- 112 PRINT" [211]HIFT-[210]ETURN, [218].:"
- 113 ES$="."+CHR$(20)+LEFT$(CB$,50):FORI=1TO39-40*C8:PRINT"-";:NEXT:PRINT
- 114 IFB$="H"THENPRINT"[194]EFEHLSZEILE:":PRINT"ZU AENDERNDE [218]EILENNR. ODER":GOTO90
- 118 I=4-6*C8:ZV=M-I:ZB=M+I+1:IFZV<0THENZV=0:ZB=2*I+1
- 119 FORJ=ZVTOZB:IFJ>NTHENA$="":GOTO122
- 120 A$=A$(J)
- 122 L=LEN(A$):IFL=0THENPRINTLEFT$(CP$,78)ES$:GOTO128
- 124 FORBI=1TOL:B$=MID$(A$,BI,1):IFB$=G$THENPRINTG$;CHR$(20);
- 125 IF(ASC(B$)AND127)=18THENB$=CHR$(ASC("#")+(ASC(B$)AND128))
- 126 PRINTB$;:NEXT
- 127 PRINTLEFT$(CP$,78-L);ES$
- 128 NEXT
- 130 PRINT"":FORI=ZVTOM:PRINT:NEXT
- 155 A$=A$(M):L=LEN(A$):IFCS>L-1THENCS=L-1:IFCS<0THENCS=0
- 156 PRINTSPC(CS);
- 160 GOSUB20
- 161 IFLEN(A$)<2THEN169
- 162 IFRIGHT$(A$,1)=" "THENA$=LEFT$(A$,LEN(A$)-1):GOTO161
- 169 A$(M)=A$:IFK<=0THEN180
- 170 M=M+1+2*(K>20):IFM<ZVORM>ZBTHEN100
- 171 PRINT""TAB(69);M;"[157] ":K=0:IFM>NTHENN=M
- 172 GOTO130
- 180 IFA$(N)=""THENN=N-1:IFN>-1THEN180
- 182 GOTO100
- 185 IFV<0ORV>BORB>NTHENPRINT"[213]NMOEGLICH!":FORI=1TO200:NEXT:RETURN
- 186 M=B-V+1:IFB=NTHEN188
- 187 FORI=B+1TON:A$(I-M)=A$(I):NEXT
- 188 N=N-M:IFN<MZTHENFORI=N+1TON+M:A$(I)="":NEXT:RETURN
- 190 IFB+N>MZORB<1THENV=-1:GOSUB185:GOTO100
- 191 FORI=NTOVSTEP-1:A$(I+B)=A$(I):NEXT
- 192 FORI=VTOV+B-1:A$(I)="":NEXT:IFCS=0ORCS>=LEN(A$(V+B))THEN199
- 193 A$(V)=LEFT$(A$(V+B),CS):A$(V+B)=MID$(A$(V+B),CS+1)
- 199 N=N+B:M=V:GOTO100
- 200 REM INITIALISIERUNG EDI.BAS: ---------------------------------------------
- 210 REM EINFUEHRUNG DER BENUTZTEN VARIABLEN:
- 220 DIM A$,B,B$,B1,BI,BJ,BJ$,G$,BI$,BL$,CB$,CP$,CS,ES$,I,J,K,L,M,ML,MZ,N,V,C8
- 221 DIM ZB,ZV
- 230 MZ=600: REM MAXIMALE ZEILENZAHL
- 240 ML= 77: REM MAX. ZEICHENZAHL/ZEILE GGF. PER INPUT (NUR KLEINER MOEGLICH)
- 250 N = -1: REM AKTUELLER FUELLSTAND IN A$()
- 251 M = -1: REM ZULETZT EDIERTE ZEILENNR.
- 262 CB$="[157][157][157][157]":FORI=1TO5:CB$=CB$+CB$:NEXT:CB$=CB$+LEFT$(CB$,127):REM CURS BACK
- 263 CP$=" ":FORI=1TO5:CP$=CP$+CP$:NEXT:CP$=CP$+LEFT$(CP$,127):REM SPACE
- 270 DIMA$(MZ) :REM TEXT ZEILENWEISE
- 280 : REM EDITOR MIT GOSUB100 AUFRUFEN
- 284 : REM TEST AUF 40- BZW. 80-ZEICHEN-SCHIRM:
- 285 REM PRINT"[147]"SPC(40)"T";:OPEN1,3:GET#1,A$:CLOSE1:C8=A$=" ":REM S.U.
- 290 REM
- 299 REM EDI.BAS FERTIG -------------------------------------------------------
- 300 PRINT"[145]";:DIMP$(27),N%(27):NP=0:OPEN1,3:REM PARAMETER HOLEN
- 301 C=0:FORI=2TO79:GET#1,A$:IFA$=":"THENC=I:I=80
- 302 NEXT:IFC=0THENCLOSE1:MP=-1:GOTO350
- 310 MP=0:FORP=1TO27:G$="":FG=1:FC=0
- 311 FORI=-1TO0:I=-1:GET#1,A$:IFA$=CHR$(34)THENFG=1-FG:GOTO320
- 312 C=C+1:IFC>79ORA$=CHR$(13)THENI=0:P$(FC*P)=G$:MP=MP+FC*(P-MP):P=99:GOTO320
- 313 IFFGTHENIFA$=","THENI=0:P$(FC*P)=G$:MP=MP+FC*(P-MP):GOTO320
- 315 IFFCOR(A$<>" ")THENFC=1:G$=G$+A$
- 320 NEXT:NEXT:CLOSE1:IFMP=0THEN350
- 330 FORP=1TOMP:IFP$(P)=""THEN335
- 331 P$=P$(P):L=LEN(P$)
- 332 IFRIGHT$(P$,1)=" "THENL=L-1:P$=LEFT$(P$,L):GOTO332
- 333 P$(P)=P$
- 335 P$(P-1)=P$(P):NEXT:P$(MP)="":MP=MP-1
- 340 NP=-1:FORP=0TOMP:IFP$(P)<>""THENNP=P
- 341 NEXT:MP=NP:F$=P$(0):IFF$=""THENF$="-"
- 349 REM ZEILE 285 HIERHER VERLEGT:
- 350 PRINT"[147]"SPC(40)"T";:OPEN1,3:GET#1,A$:CLOSE1:C8=A$=" ":REM 40/80 ?
- 351 PRINT"[147] [194][160][193][160][212][160][195][160][200][160][146]
- 352 FP[178]0:[139]MP[178]0[175]F$[179][177]"-"[175]F$[179][177]""[167]FP[178]1:[137]511
- 353 [139]MP[179]0[167]500
- 360 [153]"(null)ARAMETER:":[153]"ASCILE: "F$""
- 361 [129]P[178]1[164]MP:[139]P$(P)[179][177]""[167][153]" "[199](P[170]64)": "P$(P)
- 362 [130]:[137]510
- 500 [153]"(null)AMEN FUER SEQ-(null)OMMANDO-ASCILE EINGEBEN,
- 502 PRINT "WENN NOCH KEINES EXISTIERT: EINFACH -
- 505 [133]"ASCILENAME = ";F$
- 510 [139]F$[178]"-"[167]520
- 511 [153]"ASCILE WIRD EINGELESEN, BITTE CHR$EDULD.
- 512 N$=CHR$(0):CR$=CHR$(13):N=-1:OPEN1,8,3,F$
- 513 FORZ=-1TO0:G$="":FORI=-1TO0:GET#1,A$:S=ST:A$=LEFT$(A$+N$,1)
- 514 I=(S=0)AND(A$<>CR$):IFA$<>CR$THENG$=G$+A$:IFA$="%"THENIFMP>0THENGOSUB1000
- 515 NEXT:N=N+1:A$(N)=G$:PRINTG$:Z=S=0:NEXT:CLOSE1:IFMP>0THEN520
- 516 IFFPTHEN650
- 517 PRINT"[193]ENDERUNGEN NOETIG (J/N) ? ";
- 518 GETA$:IFA$<>"J"ANDA$<>"N"THEN518
- 519 PRINTA$:IFA$="N"THEN650
- 520 PRINT"[198]ILE MUSS MIT EINGEBAUTEM [197]DITOR
- 521 [153] "BE/ER-ARBEITET WERDEN.
- 522 PRINT "[199]EBEN [211]IE IN DER SPAETEREN [203]OMMANDO-
- 523 [153] "ZEILE HWAIT FUER LEFT$ILFE EIN.
- 524 PRINT"[200]INWEIS: [205]IT DIESEM [197]DITOR KOENNEN NUR
- 525 [153] " (null)TANDARDZEICHEN, LEN(null) UND (null)(null)(null)
- 526 PRINT " EINGEGEBEN WERDEN, KEINE[146]
- 527 [153] " ANDEREN (null)TEUERZEICHEN!
- 528 PRINT"[193]LTERNATIVE: [198]ILE MIT ANDEREM REINEN
- 529 [153] " ATN(null)LENRIGHT$RIGHT$-VALDITOR ERZEUGEN.
- 530 PRINT"[196]RIVE FUER [198]ILE-[211]PEICHERUNG (0/1) ? ";
- 531 GETD$:IFD$<>"0"ANDD$<>"1"THEN531
- 532 PRINTD$:IFMP>0THENMP=0:GOTO550
- 540 GOSUB100
- 550 FA$=F$:PRINT"[147][198]ILE-[201]NHALT OK (J/N) ? ";
- 551 GETA$:IFA$<>"J"ANDA$<>"N"THEN551
- 552 PRINTA$:IFA$="N"THEN540
- 560 INPUT"[198]ILE-[206]AME FUER [211]PEICHERUNG = ";F$:IFF$="-"THEN560
- 570 IFNP>0THENIFF$=FA$THENPRINT"[206]ICHT [208]ARAMETER-[198]ILE UEBERSCHREIBEN!":GOTO560
- 600 PRINT"[198]ILE WIRD GESPEICHERT, BITTE [199]EDULD.
- 610 [159]1,8,15,"S"[170]D$[170]":"[170]F$:[160]1:[159]1,8,3,(D$[170]":"[170]F$[170]",S,W")
- 620 [129]I[178]0[164]N:[152]1,A$(I):[130]:[160]1
- 630 [139][195](F$)[179]5[176][201](F$,4)[179][177]".MOT"[167]650
- 640 [153]"PEEKITTE MIT (null)ARAMETERANGABE NEU STARTEN.":[128]
- 650 M[178]0:[129]I[178]0[164]N:M[178]M[170][195](A$(I))[170]1:[130]
- 700 TR[178]55:[143] PLUS/4: 55, 8XXX/40XX: 52
- 701 T[178][194](TR)[170]256[172][194](TR[170]1)[171]1:[143] PLUS/4: IFT>32767THENT=32767
- 702 TH[178][181](T[173]256):TL[178]T[171]256[172]TH
- 703 LH[178][181](M[173]256):LL[178]M[171]256[172]LH
- 704 B[178]T[171]M:BH[178][181](B[173]256):BL[178]B[171]256[172]BH
- 710 PA[178]BH:[139]BL[179]122[167]PA[178]PA[171]1
- 720 P[178]256[172]PA:[151]P,TL:[151]P[170]1,TH:[151]P[170]2,BL:[151]P[170]3,BH:[151]P[170]4,FP
- 721 L[178][195](F$):[139]L[177]16[167]L[178]16
- 722 [129]I[178]1[164]L:N%(I)[178][198]([202](F$,I,1)):[130]
- 730 [151]P[170]5,L:[129]I[178]1[164]L:[151]P[170]5[170]I,N%(I):[130]
- 740 [151]55,0:[151]56,PA
- 750 [156]
- 800 A$[178]"":I[178]0:N$[178][199](0)
- 805 TR[178]55:[143] PLUS/4: 55, 8XXX/40XX: 52
- 810 M[178][194](TR[170]1):P[178]256[172]M
- 815 TL[178][194](P):TH[178][194](P[170]1):BL[178][194](P[170]2):BH[178][194](P[170]3):FP[178][194](P[170]4)
- 820 L[178][194](P[170]5):F$[178]"":[129]I[178]1[164]L:F$[178]F$[170][199]([194](P[170]5[170]I)):[130]
- 830 T[178]TL[170]256[172]TH
- 835 [153]"ASCILE "F$" WIRD NOCH EINMAL
- 836 PRINT"EINGELESEN, BITTE [199]EDULD.
- 840 [159]1,8,3,F$:[129]I[178][171]1[164]0:[161]#1,A$:I[178]ST[178]0:[151]T,[198](A$[170]N$):T[178]T[171]1:[130]:[160]1
- 850 [140]:[135]N
- 860 [129]I[178]0[164]N:[135]A:[139]A[179]0[167]A[178]M
- 861 [151]P[170]I,A:[130]
- 870 [151]P[170] 71,TL:[151]P[170] 72,TH
- 871 [151]P[170]118,BL:[151]P[170]119,BH
- 900 [153]"PEEKATCH-MID$OB MIT SYS"P" STARTEN:
- 910 IFFPTHENPRINT:SYSP:END
- 920 PRINT"SYS"P"[145][145][145]"
- 999 END
- 1000 GET#1,A$:S=ST:A$=LEFT$(A$+N$,1):A=ASC(A$)
- 1010 FORP=1TOMP:IFA=P+64THENG$=LEFT$(G$,LEN(G$)-1)+P$(P):P=MP:A=-1
- 1011 NEXT:IFA>-1THENG$=G$+A$
- 1020 I=(S=0)AND(A$<>CR$):RETURN
- 6000 A=7*4096:FORZ=0TO13:PRINTA;"DATA";
- 6010 FORI=0TO7:PE=PEEK(A):A=A+1:IFI>0THENPRINT",";
- 6020 PRINT" ";RIGHT$("00"+MID$(STR$(PE),2),3);:NEXT:PRINT:NEXT
- 6030 END
- 7000 RESTORE:READN:A=28672
- 7010 FORI=0TON:READP:IFABS(P)=112THENPRINTCHR$(18-(P<0)*128);A+(IAND248),
- 7020 NEXT:END
- 8000 REM" [194]ENUTZTE [205]ASCHINENADRESSEN:
- 8010 [143]" 55-56 (null)OINTER (null)OP OF (null)ATN(null)
- 8020 REM" $0314 [208]OINTER [201][210][209]-[210]OUTINE
- 8030 [143]" $0277 VALRSTES PEEKYTE (null)ASTATURPUFFER
- 8040 REM" $C6 [193]NZAHL [194]YTES IM [212]ASTATURPUFFER
- 28600 [143] SOURCE-FILE: IRQBAT.SRC
- 28666 [131] 119
- 28672 [131] 120, 173, 020, 003, 141, 116,-112, 173
- 28680 [131] 021, 003, 141, 117,-112, 169, 051, 141
- 28688 [131] 020, 003, 169,-112, 141, 021, 003, 088
- 28696 [131] 096, 189, 005, 001, 041, 252, 201, 044
- 28704 [131] 208, 017, 189, 006, 001, 201, 249, 208
- 28712 [131] 010, 169, 052, 157, 005, 001, 169, 249
- 28720 [131] 157, 006, 001, 165, 198, 240, 013, 201
- 28728 [131] 002, 176, 044, 173, 119, 002, 201, 003
- 28736 [131] 240, 037, 208, 047, 230, 198, 173, 255
- 28744 [131] 255, 141, 119, 002, 173, 071,-112, 208
- 28752 [131] 003, 206, 072,-112, 206, 071,-112, 173
- 28760 [131] 071,-112, 205, 118,-112, 208, 020, 173
- 28768 [131] 072,-112, 205, 119,-112, 208, 012, 173
- 28776 [131] 116,-112, 141, 020, 003, 173, 117,-112
- 28784 [131] 141, 021, 003, 076, 255, 255, 000, 000
-