Screenshot 1 Screenshot 2
2bc0 4185 0000 B ... KONV.7
Unbekannte Funktion. Weder sehe ich hier aus dem Quelltext heraus, was für ein Text konvertiert werden soll, noch was während der Konvertierung verändert werden soll. Doku lesen: KONV.7 konvertiert Texte, z.B. von MicroWORD, in ein BASIC- Feld. Dabei wird 1EH in 0DH umgewandelt, der Seitenvorschub 0CH Steuerung: ⇦ ⇨ B
Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß)

   10 WINDOW:CLS:CLEAR:PRINT AT(5,8);"Textkonvertierung"
   20 PRINT AT(6,12);"Vers. 7":TX=0
   30 PRINT AT(9,9);"Z 1013 --> BASIC"
   40 PRINT AT(11,8);"* 32K o.groesser *"
   45 PRINT AT(12,9);"(mit Tonausgabe)"
   50 PRINT AT(20,0);"(C) Dr.Trog,H-J;Berlin,Febr.1989"
   55 PRINT AT(15,1);"(Bei 32K ohne,>32K mit Header)"
   56 PRINT AT(16,1);"(ohne Sprungverteiler Zeile     1740 aendern)":GOSUB 910
   60 WINDOW:CLS:PRINT:PRINT "Text laden     = #":I=1
   70 PRINT "Feld einrichten=  "
   80 PRINT "Feld ansehen   =  "
   90 PRINT "Feld saven     =  "
  100 PRINT "Feld laden     =  "
  110 PRINT "Beenden        =  "
  120 GOSUB 1560:WINDOW:CLS
  130 ON I GOTO 150,320,600,690,840,140
  140 CLS:PRINT:PRINT "zurueck ohne Textverlust mit"
  142 PRINT "      ** GOTO 60 **":PRINT:PRINT:END
  150 CLEAR:D=0:B=0:INPUT "Alte AADR.";H$:INPUT "     EADR.";J$:FOR I=1 TO LEN(H$) 
  160 Z=ASC(MID$(H$,I,1))
  170 IF Z<58 THEN Z=Z-48:ELSE Z=Z-55
  180 D=Z+D*16:NEXT I
  190 FOR T=1 TO LEN(J$)
  200 K=ASC(MID$(J$,T,1))
  210 IF K<58 THEN K=K-48:ELSE K=K-55
  220 B=K+B*16:NEXT T
  225 GOSUB 1870
  230 C=B-D:F=SE-C:G=SE-C
  232 IF SP>1 THEN F=32255-C:G=32255-C:PF=1
  240 M$=""
  250 R=F-INT(F/16)*16
  260 IF R<10 THEN M$=CHR$(48+R)+M$:ELSE M$=CHR$(55+R)+M$
  270 IF F>15 THEN F=INT(F/16):GOTO 250
  275 IF PF=1 THEN PRINT:PRINT "NEU =";M$;"- 7DFF":GOTO 290
  280 PRINT:PRINT "NEU =";M$;"-";DX$
  290 IF M$<"5000"THEN PRINT:PRINT "Zu lang !":PAUSE 50:GOTO 60
  295 IF PF=1 THEN GOSUB 1800:GOTO 60
  300 GOSUB 1700
  310 GOTO 60
  320 GOTO 1490
  330 CLS:D=0:FOR I=1 TO LEN(M$)
  340 IF M$=""THEN PRINT "keine Anfangsadresse!!":PRINT:GOSUB 910:GOTO 60
  350 Z=ASC(MID$(M$,I,1))
  360 IF Z<58 THEN Z=Z-48:ELSE Z=Z-55
  370 D=Z+D*16:NEXT I
  380 IF WW=5 THEN 740
  390 CLS:AA=0
  400 GOSUB 990
  410 GOSUB 1420
  420 GOSUB 1470
  430 I=0:IF W=1 THEN FOR E=H TO SE:ELSE FOR E=D TO SE
  440 IF E>32767 THEN 450:ELSE 490
  450 UU=65536-E
  460 I=I+1:A(I)=PEEK(-UU):PRINT CHR$(PEEK(-UU));
  470 IF PEEK(-UU)=13 THEN AA=AA+1:IF AA=BB THEN 540
  480 GOTO 510
  490 I=I+1:A(I)=PEEK(E):PRINT CHR$(PEEK(E));
  500 IF PEEK(E)=13 THEN AA=AA+1:IF AA=BB THEN 535
  510 IF I=NN THEN 535
  520 PRINT AT(1,12);AA
  530 NEXT E
  535 IF A(I)=12 THEN A(I)=13
  540 PRINT AT(30,5);"SAVEN=S / MENUE=M"
  550 I$=INKEY$:IF I$=""THEN BEEP:PAUSE 2:GOTO 550
  560 IF I$="S"THEN 940
  570 IF I$="M"THEN 60
  580 GOTO 550
  590 GOTO 60
  600 IF I>0 THEN I=1
  605 IF TX=0 THEN 1850
  610 I=1:X=0:CLS:FOR I=1 TO NN:PRINT CHR$(A(I));:IF A(I)=13 THEN X=X+1
  620 IF X=15 THEN X=0:GOSUB 900:ELSE 640
  630 CLS:GOTO 660
  640 IF I=NN THEN GOSUB 910:ELSE 660
  650 GOTO 60
  660 NEXT I
  670 GOSUB 910
  680 GOTO 60
  690 PRINT:IF TX=0 THEN 1850
  695 GOSUB 980:PRINT
  700 PAUSE 5:PRINT "FELDLAENGE MERKEN:";NN:PRINT:PRINT "Start = S":PRINT
  710 I$=INKEY$:IF I$=""THEN 710
  720 IF I$<>"S"THEN 710
  730 CSAVE*""+D$;A
  740 WW=5:H=0:PRINT:PRINT "(M)enue (F)eld einr./saven (N)eu":PRINT
  750 I$=INKEY$:IF I$=""THEN 750
  760 IF I$="M"THEN 800
  770 IF I$="F"THEN 820
  780 IF I$="N"THEN 810
  790 GOTO 750
  800 GOTO 60
  810 GOTO 10
  820 CLEAR:INPUT "Eingabe von H:";H:E=H
  822 GOSUB 1870
  825 IF SP>1 THEN PF=1:SE=32255:GOTO 830
  827 GOSUB 1870
  830 W=1:I=1:IF H>=SE OR H<20223 THEN 60:ELSE 390
  840 CLEAR:CLS:GOSUB 980:PRINT
  850 INPUT "Feldlaenge?";NN:DIM A(NN):PRINT:PAUSE 5:PRINT "Start = S":PRINT
  860 I$=INKEY$:IF I$=""THEN 860
  870 IF I$<>"S"THEN 860
  880 CLOAD*""+D$;A
  890 GOTO 60
  900 PRINT AT(30,10);"(M)enue /"
  910 PRINT AT(30,20);">ENTER<"
  920 I$=INKEY$:IF I$=""THEN 920
  925 IF I$="M"THEN 60
  930 IF I$<>CHR$(13)THEN 920:ELSE RETURN
  940 WINDOW:CLS:PRINT:PRINT "( --> H =";E+1;")":PRINT
  945 PRINT "Abspeichern --> A ":PRINT:PRINT
  950 V$=INKEY$:BEEP:PAUSE 2:IF V$=""THEN 950
  960 IF V$="A"THEN 690
  970 IF V$<>"A"THEN 950
  980 INPUT "Dateiname:";D$:RETURN
  990 IF W=1 THEN D=H
 1000 MM=INT((D-13050)/5):ZV=0
 1010 IF MM>7000 THEN MM=7000
 1015 TE=SE-D:IF PF=1 THEN TE=32255-D
 1020 EN=-(65536-SE):IF D>32767 THEN D=-(65536-D)
 1025 IF PF=1 THEN EN=32255
 1030 GOSUB 1415:GOSUB 1460:GOSUB 1540
 1035 FOR I=17664 TO 17679:POKE I,00:NEXT
 1040 DOKE 17664,D:DOKE 17668,EN:POKE 17673,ZS:DOKE 17678,MM
 1045 IF ZS=0 THEN POKE 17674,32
 1050 RESTORE 1950:FOR X=17920 TO 18077:READ A$
 1055 A=ASC(LEFT$(A$,1))-48:IF A>9 THEN A=A-7
 1060 B=ASC(RIGHT$(A$,1))-48:IF B>9 THEN B=B-7
 1065 POKE X,A*16+B:NEXT
 1070 CALL*4600:WINDOW:CLS:GOSUB 1415:GOSUB 1460
 1075 BB=DEEK(17670):QB=PEEK(17672)
 1076 IF ZS=0 THEN 1080
 1077 QQ=BB/ZS:QB=INT(10^2*QQ+0.5)/10^2
 1080 KK=DEEK(17675)
 1081 IF KK=0 THEN KK=DEEK(17666)
 1082 IF D<0 THEN D=65536+D
 1083 IF KK>0 THEN 1085
 1084 KK=65536+KK
 1085 NN=KK-D:DIM A(NN):GOTO 1370
 1370 CLS:PRINT:PRINT BB;"Zeilen !(Soll=";ZS;"Z./Seite)":PRINT
 1390 PRINT QB;"Seiten":PRINT:PRINT TE-NN;"Zeichen Rest":PRINT:PRINT
 1400 PRINT " Feldlaenge:";NN:PRINT AT(20,20);">ENTER<":GOSUB 1860:ZV=0
 1410 TX=1:WINDOW:CLS:RETURN
 1415 WINDOW 0,5,0,31:CLS:WINDOW 6,29,0,31:CLS:GOSUB 1440:RETURN
 1420 WINDOW 0,5,0,31:CLS:WINDOW 6,29,0,31:CLS:GOSUB 1440
 1430 PRINT AT(1,5);"Zeile:":PRINT AT(1,20);"(von     )":PRINT AT(1,24);BB:RETURN
 1440 PRINT AT(2,0);"********************************"
 1450 RETURN
 1460 PRINT AT(1,0);"FELD DIMENSIONIEREN Aadr.= ",M$:RETURN
 1470 PRINT AT(4,5);"FELD WIRD EINGERICHTET"
 1480 PRINT AT(5,0);"++++++++++++++++++++++++++++++++":RETURN
 1490 CLS:PRINT:PRINT "Neuer Text? J ":PRINT
 1500 I$=INKEY$:IF I$=""THEN 1500
 1510 IF I$<>"N"THEN 330
 1515 PRINT:PRINT "H --> ";E+1
 1520 PAUSE 5:PRINT:I$=" ":GOTO 740
 1530 END
 1540 ZS=72:PRINT:PRINT "Wieviel Zeilen/Seite? (72)"
 1542 PRINT:PRINT "ist Seitenvorschub (0CH) schon"
 1544 PRINT "im Text, dann eingeben: 0"
 1545 PRINT:PRINT "> 0 <   = mit 0CH"
 1546 PRINT:PRINT ">ENTER< = 72 Zeilen":PRINT
 1548 INPUT "Eingabe --> ";ZS
 1550 CLS:RETURN
 1560 WINDOW 18,25,0,31:CLS
 1570 PRINT "*** Cursor positionieren und ***" 
 1580 PRINT:PRINT "       (B) estaetigen !"
 1585 PRINT:PRINT "(=^J o. Cursor  =^K o. Cursor)"
 1590 PRINT AT(25,0);" "
 1600 O$=INKEY$:IF O$=""THEN PRINT AT(I,17);" ":PRINT AT(I,17);"#":GOTO 1600
 1610 PAUSE 2
 1620 IF O$="B"OR O$="b"THEN RETURN
 1630 PRINT AT(I,17);" "
 1640 IF O$=CHR$(11) THEN I=I-1:IF I=0 THEN I=1
 1650 IF O$=CHR$(10)THEN I=I+1:IF D=1 THEN 1660:ELSE 1670
 1660 IF I>5 THEN I=5:GOTO 1680
 1670 IF I>6 THEN I=6
 1680 PRINT AT(I,17);"#"
 1690 GOTO 1600
 1700 PRINT:PRINT "Tonband fertig und ENTER":PRINT:GOSUB 920
 1710 IF G>32767 THEN 1720:ELSE 1730
 1720 FF=65536-G:DOKE 27,-FF:GOTO 1740
 1730 DOKE 27,G
 1740 CALL*FB96
 1750 PRINT AT(25,10);"F E R T I G       >ET<":GOSUB 920
 1760 RETURN
 1800 PRINT:PRINT "Tonband fertig und ENTER":PRINT "(ohne Header)"
 1805 GOSUB 920:PRINT:PRINT "L A D E N !"
 1810 DOKE 27,G:DOKE 29,32255
 1820 CALL*F3F8
 1830 PRINT AT(25,10);"F E R T I G    >ET<":GOSUB 920
 1840 RETURN
 1850 PRINT:PRINT "Kein Text!":GOSUB 910:GOTO 60
 1860 I$=INKEY$:BEEP:PAUSE 2:IF I$=""THEN 1860
 1865 RETURN
 1870 SP=DEEK(11184):SE=(65536-ABS(SP))-2048:REM SP=SPEICHERENDE BASIC
 1880 ST=SE
 1890 DX$=""
 1900 T=ST-INT(ST/16)*16
 1910 IF T<10 THEN DX$=CHR$(48+T)+DX$:ELSE DX$=CHR$(55+T)+DX$
 1920 IF ST>15 THEN ST=INT(ST/16):GOTO 1900
 1930 RETURN
 1940 END
 1950 DATA ED,4B,0E,45,2A,00,45,C3,2A,46,E5,D5,2A,02,45,ED,5B,04,45,7D
 1960 DATA BB,20,04,7C,BA,28,31,D1,E1,0B,3E,00,B8,20,03,B9,28,2E,2A,02
 1970 DATA 45,23,22,02,45,7E,E7,00,FE,1E,28,21,FE,0D,28,1D,3A,0A,45,FE
 1980 DATA 00,28,05,7E,FE,0C,28,4A,7D,BB,20,C2,7C,BA,20,BE,D1,E1,2A,04,45,22
 1990 DATA 0B,45,C9,3A,0A,45,FE,00,20,11,C5,3A,0D,45,47,3A,09,45,B8,28,12,78
 2000 DATA 3C,32,0D,45,C1,3E,0D,77,2A,06,45,23,22,06,45,18,CB,C1,3E,00,32,0D
 2010 DATA 45,2A,02,45,22,0B,45,3A,08,45,3C,32,08,45,18,DF,2A,08,45,23
 2020 DATA 22,08,45,2A,02,45,22,0B,45,18,A7,00
 2030 END