mintex_sss.tap
mintex_sss.z80
Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß)

    2 WINDOW:CLS:S=32:GOSUB 58:CLEAR 64:IF FRE(X)<4000 THEN 110
    4 CLEAR 3750:DIM T$(30):PRINT:PRINT:INPUT "Bildschirm Zeilen,Spalten:";Z,S
    6 GOSUB 58:WINDOW 4,14,9,18:PRINT "1=EINGEBEN2=ANZEIGEN3=EINLESEN4=AUSGEBEN";
    8 IF FRE(X)>475 THEN PRINT "5=AENDERN 6=DRUCKEN ";
   10 PRINT "0=ENDE":PRINT:INPUT "AUSWAHL:";A
   12 IF A=0 THEN WINDOW 0,Z-1,0,S-1:CLS:WINDOW:CLS:END
   14 WINDOW 2,Z-1,0,S-1:CLS:ON A GOTO 16,28,52,54,60,88
   16 PRINT "KEIN KOMMA!":I=0:J=0:PRINT AT(1,3);"Zeile:    Block:    Frei:"
   18 T$(J)="":K=0:PRINT AT(1,19);J+1
   20 PRINT AT(1,9);I+1:S$="":INPUT "";S$:K=K+LEN(S$):T$(J)=T$(J)+S$+" "
   22 PRINT AT(1,28);FRE(X$)-300:IF K>120 THEN IF J<40 AND S$<>"@@"THEN J=J+1:GOTO 18
   24 IF S$="@@"OR J>=30 THEN CLS:GOTO 6
   26 I=I+1:GOTO 20
   28 I=0:J=0:N=0
   30 IF J<=30 THEN S$=T$(J):K=0:ELSE INPUT "";A$:CLS:GOTO 6
   32 IF LEN(S$)=0 THEN J=J+1:GOTO 30:ELSE L=INSTR("@",S$):M=INSTR(" ",S$)
   34 IF L>0 AND M>L THEN M=L
   36 IF N+M>S THEN GOSUB 46:IF A$="$"THEN CLS:GOTO 6
   38 PRINT LEFT$(S$,M-1);:IF S>M+N THEN PRINT " ";
   40 N=N+M:IF LEN(S$)>M THEN S$=MID$(S$,M+1):ELSE J=J+1:GOTO 30
   42 IF S$="@@"THEN J=41:GOTO 30:ELSE IF M<>L AND N<S THEN 32
   44 GOSUB 46:IF A$<>"$"THEN 32:ELSE CLS:GOTO 6
   46 A$="":I=I+1:N=0:IF N<S THEN PRINT
   48 IF I/(Z-3)>INT(I/(Z-3))THEN RETURN
   50 A$=INKEY$:IF A$=""THEN 50:ELSE RETURN
   52 GOSUB 56:CLOAD*""+S$;T$:CLS:GOTO 6
   54 GOSUB 56:CSAVE*""+S$;T$:CLS:GOTO 6
   56 INPUT "DATEINAME:";S$:RETURN
   58 PRINT AT(0,0);" MINTEX/3 (C) bidat'87":PRINT AT(1,0);STRING$(S,"="):RETURN
   60 INPUT "BLOCK:";J:IF J=0 THEN 80
   62 J=J-1:PRINT AT(1,3);"Block:    Frei:"
   64 IF J<=30 THEN S$=T$(J):K=0:ELSE CLS:GOTO 6
   66 PRINT AT(1,9);J+1:PRINT AT(1,18);255-LEN(T$(J))
   68 IF LEN(S$)=0 THEN J=J+1:GOTO 64:ELSE M=INSTR(" ",S$)
   72 S$=LEFT$(S$,M):A$=S$:PRINT A$;:INPUT "";A$:IF LEFT$(A$,1)="$"THEN J=41:GOTO 64
   74 IF A$<>S$ THEN T$(J)=LEFT$(T$(J),K)+A$+MID$(T$(J),K+M)
   76 K=K+LEN(A$):IF LEN(T$(J))>K THEN S$=MID$(T$(J),K+1):ELSE J=J+1:GOTO 64
   78 IF S$<>"@@"THEN 66:ELSE CLS:GOTO 6
   80 PRINT "TEXT ANFUEGEN":J=0
   82 K=INSTR("@@",T$(J)):IF K=0 AND J<30 THEN J=J+1:GOTO 82
   84 IF J>=30 OR FRE(X$)<300 THEN CLS:PRINT "SPEICHER VOLL!":GOTO 6
   86 T$(J)=LEFT$(T$(J),K-1):GOTO 20
   88 INPUT "Druckseite Zeilen,Spalten:";Y,X:I=0:J=0:N=0
   90 IF J<=30 THEN S$=T$(J):K=0:ELSE PRINT#2 CHR$(12);:CLS:GOTO 6
   92 IF LEN(S$)=0 THEN J=J+1:GOTO 90:ELSE L=INSTR("@",S$):M=INSTR(" ",S$)
   94 IF L>0 AND M>L THEN M=L
   96 IF N+M>X THEN GOSUB 106:IF A$="$"THEN CLS:GOTO 6
   98 PRINT#2 LEFT$(S$,M-1);:IF X>M+N THEN PRINT#2 " ";
  100 N=N+M:IF LEN(S$)>M THEN S$=MID$(S$,M+1):ELSE J=J+1:GOTO 90
  102 IF S$="@@"THEN J=41:GOTO 90:ELSE IF M<>L AND N<X THEN 92
  104 GOSUB 106:IF A$<>"$"THEN 92:ELSE CLS:GOTO 6
  106 A$="":I=I+1:N=0:IF N<X THEN PRINT#2 ""
  108 IF I/Y>INT(I/Y)THEN RETURN:ELSE PRINT#2 CHR$(12);:INPUT "";A$:RETURN
  110 PRINT "ZU WENIG SPEICHER! NEU STARTEN!":DELETE 60,110