1 REM ******************************** 2 REM * ZEICHENEDITOR 9/86 * 3 REM * FUER SCHREIBMASCHINE * 4 REM * HAFNER, GROSSAITINGEN * 5 REM ******************************** 6 POKE52,56:POKE56,56:CLR:DIMZ1(24),Z2(24) 7 FORI=0TO73:READA:POKE49152+I,A:NEXT:SYS49158:REM VERSCH/SAVE 8 DATA0,160,0,192,0,192,173,0,192,172,1,192,133,95,132,96,173,2,192,172,3 9 DATA192,133,90,132,91,173,4,192,172,5,192,133,88,132,89,76,191,163,32,32 10 DATA32,32,32,32,32,32,32,32,32,162,8,32,186,255,169,11,162,39,160,192,32 11 DATA189,255,169,251,162,0,160,160,32,216,255,96 12 A$="[145][145][145][145]":FORI=1TO6:POKE41847+I,ASC(MID$(A$,I,1)):NEXT:POKE1,54:REM READY 13 SA%=14:REM SEK.ADR. (UNGEWANDELT) 14 NA=135*256:NB=136*256:NC=NB+128 15 SYS57812"B-DEUTSCH*",8,1:POKE780,0:SYS65493 17 POKE53272,(PEEK(53272)AND240)+12 18 PRINTCHR$(14);:PRINT"[147][217]EICHENEDITOR F@R '[211][195][200][210][197][201][194][205][193][211][195][200][201][206][197]'" 19 UN$=" [185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185]":PRINTUN$ 20 PRINT" (L)ADE [217]EICHENSATY":PRINT" (E)RSTELLE NEUEN [211]ATY(L:SCHT [211]PEICHER)" 21 PRINT" (A)LTES [217]EICHEN ;NDERN":PRINT" (N)EUES [217]EICHEN ERSTELLEN" 22 PRINT" (S)PEICHERE [211]ATY":PRINT" ([208])ROPORTIONALSCHRIFT ;NDERN" 23 POKE198,0:WAIT198,1:GETA$:IFA$="A"THENGOSUB700:GOTO30 24 IFA$="P"THENGOSUB1100:GOTO18 25 IFA$="E"THENGOSUB900:GOTO18 26 IFA$="L"THENGOSUB800:GOTO18 27 IFA$="S"THENGOSUB1000:GOTO18 28 IFA$<>"N"THEN23 29 FORI=1TO8:A$(I)=" ":B$(I)=A$(I):NEXT 30 PRINT"[147] [170][183][183][183][183][183][183][183][170][183][183][183][183][183][183][183][170][183][183][183][183][183][183][183][170]" 31 FORI=1TO8:PRINT"A$(";I;")=";CHR$(34);A$(I);CHR$(34):NEXT 32 FORI=1TO8:PRINT"B$(";I;")=";CHR$(34);B$(I);CHR$(34):NEXT 33 PRINT" [170][175][175][175][175][175][175][175][170][175][175][175][175][175][175][175][170][175][175][175][175][175][175][175][170]":PRINT"GOTO40" 34 PRINT,"BELIEBIGE [212]ASTE VERWENDEN!" 35 PRINT,"[217]EILEN MIT '[210][197][212][213][210][206]' BEENDEN!" 36 PRINT,"EBENSO DEN [194]EFEHL'GOTO 40'![145][145][145][145]" 37 END 38 : 39 : 40 GOSUB600 51 PRINT" ([208])ROBEAUSDRUCK" 52 PRINT" (N)OCHMAL ;NDERN" 53 PRINT" (S)PEICHERN IM [211]ATY" 55 POKE198,0:WAIT198,1 56 GETA$:IFA$="P"THENGOSUB200:GOTO40 57 IFA$="S"THENGOSUB500:GOTO18 58 IFA$="N"THEN30 59 GOTO56 199 : 200 REM ____ PROBEAUSDRUCK 202 GOSUB600:PRINT" BITTE WARTEN" 205 FORI=1TO24:Z1(I)=0:Z2(I)=0:NEXT 210 CLOSE1:OPEN1,4,SA% 225 A2$=CHR$(27)+"3"+CHR$(24) 228 GOSUB400 230 GOTO300 235 PRINT#1,CHR$(27)+"*"+CHR$(M%)+CHR$(96)+CHR$(0);:RETURN 240 FORI=1TO4 241 FORK=1TO24:PRINT#1,CHR$(Z1(K));:NEXT 242 NEXT:RETURN 260 FORI=1TO4 261 FORK=1TO24:PRINT#1,CHR$(Z2(K));:NEXT 262 NEXT 265 RETURN 300 PRINT#1,A2$; 301 M%=1:GOSUB235:GOSUB240:M%=4:GOSUB235:GOSUB240:M%=3:GOSUB235:GOSUB240:PRINT#1,CHR$(10); 305 M%=1:GOSUB235:GOSUB260:M%=4:GOSUB235:GOSUB260:M%=3:GOSUB235:GOSUB260:PRINT#1,CHR$(10); 320 RETURN 399 : 400 REM ____ DATEN AUSRECHNEN 410 FORI=1TO24:Z1(I)=0 411 FORK=1TO8:X%=ASC(MID$(A$(K),I,1)) 412 IF(X%AND127)=32THEN420 415 Z1(I)=Z1(I)+2^(8-K) 420 NEXTK,I 460 FORI=1TO24:Z2(I)=0 461 FORK=1TO8:X%=ASC(MID$(B$(K),I,1)) 462 IF(X%AND127)=32THEN470 465 Z2(I)=Z2(I)+2^(8-K) 470 NEXTK,I 480 RETURN 499 : 500 REM ____ ZEICHEN SPEICHERN 505 GOSUB600 510 CX%=0:CY%=20:GOSUB651 511 IFAS>255THENPRINT"[145]";:GOTO510 515 L=LAND31:PRINT"[217]EICHENL;NGE(0-24) ";L;"[157][157][157][157][157]";:INPUTL 516 IFL>24THENPRINT"[145]";:GOTO515 520 PRINT"UNTERSCHIEBBAR LINKS UNTEN(J/N) ";F$;"[157][157][157]";:INPUTF$ 521 IFF$<>"J"ANDF$<>"N"THENPRINT"[145]";:GOTO520 525 PRINT"N;CHSTES UNTERSCHIEBBAR(0/4/8/12) ";U;"[157][157][157][157][157]";:INPUTU 526 IFUAND243THENPRINT"[145]";:GOTO525 528 L=L+U*16:IFF$="J"THENL=L+32 530 GOSUB400:POKE(NA+AS),L 540 FORI=0TO23:POKE(136+I)*256+AS,Z1(I+1):NEXT 550 FORI=0TO23:POKE(136+I)*256+128+AS,Z2(I+1):NEXT 560 RETURN 599 : 600 REM ____ ZEILEN LOESCHEN 601 FORI=0TO5:POKE781,18+I:SYS59903:NEXT 605 POKE211,0:POKE214,19:SYS58640 610 RETURN 649 : 650 REM ____ EINGABE BILDSCHIRMCODE 651 POKE211,CX%:POKE214,CY%:SYS58640:PRINT"[212]ASTE DES [217]EICHENS? "; 652 GETA$:IFA$=""THEN652 653 A1%=ASC(A$):IFA1%<32ORA1%>218ORA1%=95ORA1%=92THEN652 654 IFA1%>125ANDA1%<192ANDA1%<>186THEN652 655 PRINTA$:AS=PEEK(1024+CX%+20+CY%*40):RETURN 699 : 700 REM ____ ALTES ZEICHEN LESEN 701 PRINT"[147]";:CX%=1:CY%=4:GOSUB651 703 PRINT" BITTE WARTEN!" 705 L=PEEK(NA+AS):F=(LAND32):U=(LAND192)/16:IFF=32THENF$="J" 706 L=(LAND31):IFL=0THEN760 710 FORI=1TO24:Z1(I)=PEEK((135+I)*256+AS):NEXT 711 FORI=1TO24:Z2(I)=PEEK((135+I)*256+128+AS):NEXT 715 FORI=1TO8:A$(I)="":B$(I)="":NEXT 720 FORI=1TO8:FORK=1TO24:IFZ1(K)AND2^(8-I)THENA$(I)=A$(I)+"O":GOTO725 722 A$(I)=A$(I)+" " 725 NEXTK,I 730 FORI=1TO8:FORK=1TO24:IFZ2(K)AND2^(8-I)THENB$(I)=B$(I)+"O":GOTO735 732 B$(I)=B$(I)+" " 735 NEXTK,I 750 RETURN 760 FORI=1TO8:A$(I)=" ":B$(I)=A$(I):NEXT:RETURN 799 : 800 REM ____ LADE SATZ 805 PRINT"[147] ";:GOSUB951 810 SYS57812N$,8,1:POKE780,0:SYS65493:RETURN 899 : 900 REM ____ SPEICHER LOESCHEN 901 PRINT"[147]"; 905 PRINT" ";:GOSUB951 910 INPUT" [198]ORM DES [213]NTERSTRICHS(0,1..255)";UN:PRINT" BITTE WARTEN" 920 FORI=NATO160*256-1:POKEI,0:NEXT 921 FORI=1TO11:POKE135*256+128+I-1,ASC(MID$(N$,I,1)):NEXT:POKENA+128+11,UN 930 RETURN 949 : 950 REM ____ SCHRIFTNAME 951 INPUT"[206]AME DER [211]CHRIFT";N$ 952 N$=LEFT$(N$+" ",11):RETURN 999 : 1000 REM ____ SATZ SPEICHERN 1005 PRINT"[147] [211]AVE> ([211]CHRIFTNAME)" 1006 N$="":FORI=0TO10:N$=N$+CHR$(PEEK(NA+128+I)):NEXT 1007 PRINT" ";N$;"[157][157][157][157][157][157][157][157][157][157][157][157][157]";:INPUTN$:GOSUB952 1008 FORI=0TO10:POKENA+128+I,ASC(MID$(N$,I+1,1)):NEXT 1009 PRINT" [198]ORM DES [213]NTERSTRICHS (0,1..255)":PRINT" ";STR$(PEEK(NA+128+11)); 1010 INPUT"[157][157][157][157][157]";UN:POKENA+128+11,UN 1015 EA1=0:EA2=160 1016 OPEN2,8,15,"S:"+N$:CLOSE2 1020 FORI=0TO10:POKE49191+I,ASC(MID$(N$,I+1,1)):NEXT 1021 POKE251,0:POKE252,135:POKE49219,EA1:POKE49221,EA2:REM ANFANGS-/ENDADRESSE 1022 SYS49202:REM SAVE 1025 RETURN 1099 : 1100 REM ____ PROP. AENDERN 1102 N$="[208]ROPORTION.":GOSUB810 1105 PRINT"[147] [217]EICHENL;NGEN DER [208]ROPORTIONALSCHRIFT":PRINT" AN [196]RUCKER ANPASSEN" 1110 PRINT" (SIEHE [212]ABELLE IM [196]RUCKERHANDBUCH!)":PRINTUN$ 1115 BC=0 1120 IFBC=28ORBC=31THEN1140 1121 IFBC=91THENBC=122 1122 IFBC=123THEN1150 1125 POKE1265,BC:PRINT"";:L=PEEK(NA+BC) 1130 PRINT"[204];NGE "+LEFT$(STR$(L)+" ",3); 1135 INPUT"[157][157][157][157]";L:IFL>30ORL<1THEN1125 1136 POKENA+BC,L 1140 BC=BC+1:GOTO1120 1150 PRINT"ALLES RICHTIG[160](J/N)?" 1155 POKE198,0:WAIT198,1:GETA$:IFA$<>"J"ANDA$<>CHR$(13)THEN1115 1160 EA1=140:EA2=135:GOSUB1016 1170 RETURN