10 REM ******************************** 20 REM ** -- SUPER-INSTALL -- ** 30 REM ** M. SCHACHT / M.KLEMM ** 40 REM ** BERLIN 51 (C) 1985 ** 50 REM ******************************** 60 POKE53280,0:POKE53281,0:POKE53272,23:PRINTCHR$(147)CHR$(159)CHR$(9) 61 POKE788,52:REM STOP BLOCKIEREN 62 DIMLA$(11),DT(36),IN(255),BI(255),IN$(16) 65 FORI=0TO38:BL$=BL$+CHR$(32):NEXT 67 PO=23:PT=10:PR$="... BITTE WARTEN ...":GOSUB100 70 REM ------------TABELLENWERTEVORGABE 73 FORI=0TO31:BI(I)=I+128:BI(I+32)=I+32:BI(I+64)=I:BI(I+96)=I+64 74 BI(I+128)=I+192:BI(I+160)=I+96:BI(I+192)=I+64:BI(I+223)=I+95:NEXT:BI(255)=94 75 FORI=0TO255:IN(I)=I:NEXT:POKE631,17:POKE198,1 76 RESTORE:FORI=0TO36:READDT(I):NEXT 77 FORI=0TO11:READLA$(I):NEXT 78 ZE=10:N$="CODETABELLEN NAME":AD=49152:TX$="TEXTPROGRAMM" 80 GOTO919 98 : 99 REM ----------AUSDRUCK POSITIONIEREN 100 POKE214,PO-1:PRINT:POKE211,PT:PRINTCHR$(145)PR$:RETURN 198 : 199 REM -------------------VORBLAETTERN 200 IFII=240THENRETURN 205 II=II+16:FORI=0TO15:POKE214,I+4:PRINT:POKE211,23:PRINTLEFT$(BL$,3) 210 POKE214,I+4:PRINT:POKE211,22:PRINTIN(I+II) 220 POKE(1236+I*40),BI(I+II):POKE(1242+I*40),BI(IN(I+II)):NEXT:RETURN 298 : 299 REM ---------------ZURUECKBLAETTERN 300 IFII<=0THENRETURN 305 II=II-16:FORI=15TO0STEP-1:POKE214,I+4:PRINT:POKE211,23:PRINTLEFT$(BL$,3) 310 POKE214,I+4:PRINT:POKE211,22:PRINTIN(I+II) 320 POKE(1236+I*40),BI(I+II):POKE(1242+I*40),BI(IN(I+II)):NEXT:RETURN 598 : 599 REM -------EDITOR(IDEE:DATA BECKER) 600 IN=0:POKE214,PO-1:PRINT:POKE211,PT:PRINTFR$;" "; 605 POKE204,0 609 POKE212,1:GETIN$:IFIN$=""THEN609 610 IFNU=0THEN616 611 IFIN=0THEN615 612 IFIN$=CHR$(20)THEN620 613 IFIN$=CHR$(17)ORIN$=CHR$(145)THENPOKE631,ASC(IN$):POKE198,1:IN$=CHR$(13):GOTO625 614 IFIN$="S"ORIN$="L"ORIN$="_"THENPOKE631,ASC(IN$):POKE198,1:IN$=CHR$(13):NU=0:GOTO625 615 :IFASC(IN$)<48ORASC(IN$)>57THEN605 616 IFIN$=CHR$(29)ORIN$=CHR$(157)THENIN$="":GOTO605 617 IFIN$="_"ORIN$=CHR$(145)ORIN$=CHR$(17)THENPOKE204,1:POKE212,0:RETURN 618 IFIN$=CHR$(13)ANDIN=0THENIN$="":GOTO605 620 POKE207,0 625 IFIN$=CHR$(13)THENPOKE204,1:PRINTCHR$(32):IN$="":GOTO650 630 IFIN$=CHR$(20)THENGOSUB660:GOTO605 635 IFIN>LL-1THEN605 640 PRINTIN$; 645 IN$(IN)=IN$:IN=IN+1:GOTO605 650 FORSL=0TOIN-1 655 IN$=IN$+IN$(SL):NEXT:RETURN 660 IFIN=0THENRETURN 665 POKE212,0:POKE207,0:PRINTCHR$(157)CHR$(32)CHR$(32)CHR$(157)CHR$(157); 670 IN=IN-1:IN$(IN)="":RETURN 698 : 699 REM ------------------------ANZEIGE 700 IFZE>18THENZE=3:POKE198,0:PO=21:PT=26:PR$=CHR$(32):GOSUB100 705 ZE=ZE+1:PT=26:POKE214,ZE-1:PRINT:POKE211,PT:PRINTCHR$(32)CHR$(158); 715 PRINTCHR$(157)CHR$(17)CHR$(18)CHR$(32)CHR$(146)CHR$(159):IFZE=4THENGOSUB200 720 RETURN 740 : 750 IFZE<5THENZE=20:POKE198,0:PO=6:PT=26:PR$=CHR$(32):GOSUB100 755 ZE=ZE-1:PT=26:POKE214,ZE+1:PRINT:POKE211,PT:PRINTCHR$(32)CHR$(158); 765 PRINTCHR$(157)CHR$(145)CHR$(18)CHR$(32)CHR$(146)CHR$(159):IFZE=19THENGOSUB300 770 RETURN 798 : 799 REM ----------------------EDITIEREN 800 FR$="":PO=ZE+1:PT=22:LL=3:NU=1:POKE214,PO-1:PRINT:POKE211,23:PRINTLEFT$(BL$,4) 810 POKE631,ASC(X$):POKE198,1:GOSUB600:IFVAL(IN$)>255THENX$=CHR$(32):GOTO800 820 IN(II+ZE-4)=VAL(IN$):POKE1242+(ZE-4)*40,BI(VAL(IN$)) 830 RETURN 898 : 899 REM --------------HAUPTMENUE LAYOUT 900 POKE214,0:PRINT:POKE211,7:FORQ=1TO25:PRINTCHR$(175);:NEXT 905 PR$="ZEICHEN CODE":PO=3:PT=12:GOSUB100 909 POKE214,1:PRINT:FORQ=1TO21:POKE211,7:PRINTCHR$(165):POKE211,31:PRINTCHR$(145)CHR$(167):NEXT 910 PR$="[163][163][163][163][163][163][163] [163][163][163][163]":PO=4:PT=12:GOSUB100 915 PR$=CHR$(18)+" SICHERN [221] LADEN [221]_ ENDE ":PO=23:PT=7:GOSUB100:PRINTBL$ 916 RETURN 917 : 918 REM ------------HAUPTMENUE ABFRAGEN 919 GOSUB900:II=-16:GOSUB200:GOSUB2350:REM VORGABEN LISTEN 920 GETX$:IFX$=""THEN920 925 IFASC(X$)>47ANDASC(X$)<58THENGOSUB800:GOTO920 930 IFX$<>"S"ANDX$<>"L"ANDX$<>CHR$(17)ANDX$<>CHR$(145)ANDX$<>"_"ANDX$<>CHR$(24)THEN920 940 IFX$=CHR$(17)ANDII+ZE<259THENGOSUB700:GOTO920 945 IFX$=CHR$(17)ANDII+ZE>258THENII=-16:GOSUB700:GOTO920 950 IFX$=CHR$(145)ANDII+ZE>4THENGOSUB750:GOTO920 955 IFX$=CHR$(145)ANDII+ZE<5THENII=256:GOSUB750:GOTO920 960 IFX$="S"THENGOSUB1100:PO=24:PT=0:PR$=BL$:GOSUB100:GOTO920 970 IFX$="L"THENGOSUB1000:PO=24:PT=0:PR$=BL$:GOSUB100:GOTO920 980 IFX$=CHR$(24)THENGOSUB3000 985 IFX$="_"THENPOKE788,49:PRINTCHR$(147):END 990 GOTO920 998 : 999 REM ----------------INDEXFELD LADEN 1000 FR$="CODE LADEN:":LL=16:PO=23:PT=7:NU=0:GOSUB600:N$=IN$ 1002 IFIN$="_"ORIN$=CHR$(145)ORIN$=CHR$(17)THENPOKE631,ASC(IN$):POKE198,1:RETURN 1005 OPEN15,8,15:OPEN1,8,2,IN$+",P,R":GOSUB2200:REM FEHLER 1010 IFFE<>0THEN1090 1020 GET#1,Z$,V$:AD=ASC(Z$+CHR$(0))+256*ASC(V$+CHR$(0)):REM ADRESSE 1030 FORI=0TO36:GET#1,X$:NEXT:REM UEBERLESEN 1040 FORI=0TO255:GET#1,X$:IN(I)=ASC(X$+CHR$(0)):NEXT 1045 GET#1,L$:LE=ASC(L$+CHR$(0))-1 1050 TX$="":FORI=0TOLE:GET#1,X$:TX$=TX$+X$:NEXT:GOSUB2350:REM TEXTPRG.NAME 1060 II=-16:GOSUB200:REM NEU LISTEN 1090 CLOSE1:CLOSE15:IN$="":RETURN 1098 : 1099 REM -------------INDEXFELD SICHERN 1100 FR$="CODE SICHERN:":LL=16:PO=23:PT=7:NU=0:GOSUB600:N$=IN$ 1101 GOSUB1190:IFPEEK(198)=1THENRETURN 1102 FR$="ADRESSE :":LL=5:GOSUB600:AD=VAL(IN$):GOSUB1190:IFPEEK(198)=1THENRETURN 1103 GOSUB2400:AA=AD:GOSUB2450:IFAD=0THEN1102 1104 FR$="TEXTPROGRAMM:":LL=16:GOSUB600:TX$=IN$:GOSUB1190:IFPEEK(198)=1THENRETURN 1110 OPEN15,8,15:OPEN1,8,1,"@:"+N$:GOSUB2200:REM FEHLER 1112 IFFE<>0THENCLOSE1:CLOSE15:IN$="":RETURN 1115 GOSUB2350:REM STATUSZEILE 1120 PRINT#1,CHR$(LB);CHR$(HB);:REM ADRESSE 1125 K=0:FORI=ADTO(AD+36):PRINT#1,CHR$(DT(K));:K=K+1:NEXT:REM MASCHINENPRG DRUCKER 1130 K=0:FORI=(AD+36)TO(AD+36+255):PRINT#1,CHR$(IN(K));:K=K+1:NEXT:REM INDEXFELD 1135 PRINT#1,CHR$(LEN(TX$)); 1140 K=1:FORI=(AD+36+255)TO(AD+36+255+LEN(TX$)-1) 1145 PRINT#1,CHR$(ASC(MID$(TX$,K,1)));:K=K+1:NEXT:REM NAME 1150 CLOSE1:CLOSE15:GOSUB3000:IN$="":RETURN 1188 : 1189 REM --------------ABFRAGE AUSSTIEG 1190 PO=24:PT=0:PR$=BL$:GOSUB100 1191 IFIN$="_"ORIN$=CHR$(145)ORIN$=CHR$(17)THENPOKE631,ASC(IN$):POKE198,1:RETURN 1192 PO=23:PT=7:RETURN 2198 : 2199 REM ------------------------FEHLER 2200 INPUT#15,FE,FE$:IFFE=0THEN2220 2210 PR$=BL$:PO=24:PT=0:GOSUB100:PR$=FE$:PT=(40-LEN(FE$))/2:GOSUB100:GOSUB2300 2220 RETURN 2298 : 2299 REM -----------------WARTESCHLEIFE 2300 FORQ=1TO2500:NEXT:RETURN 2348 : 2349 REM -------------------STATUSZEILE 2350 PO=1:PT=0:PR$=BL$:GOSUB100:AD$=RIGHT$(STR$(AD),LEN(STR$(AD))-1) 2352 PR$=CHR$(30)+CHR$(34)+N$+CHR$(47)+AD$+CHR$(47)+TX$+CHR$(34)+CHR$(159) 2353 IFLEN(PR$)>40THENPR$=LEFT$(PR$,39)+CHR$(34) 2355 PT=INT((41-LEN(PR$))/2):GOSUB100:RETURN 2398 : 2399 REM --------------ADRESSE ANPASSEN 2400 AA=AD+11:GOSUB2450:DT(1)=LB:DT(6)=HB 2405 AA=AD+35:GOSUB2450:DT(20)=LB:DT(21)=HB:DT(28)=LB:DT(29)=HB 2410 AA=AD+37:GOSUB2450:DT(24)=LB:DT(25)=HB 2420 RETURN 2448 : 2449 REM -----------------HIGH/LOW BYTE 2450 HB=INT(AA/256):LB=AA-HB*256:RETURN 2998 : 2999 REM -------LADEPROGRAMM GENERIEREN 3000 PO=23:PT=7:PR$=CHR$(18)+"MIT CTRL-X LADER ERZEUGEN":GOSUB100 3002 PO=24:PR$="PROGRAMM WIRD GELOESCHT !":GOSUB100 3003 GETX$:IFX$=""THEN3003 3005 IFX$<>CHR$(24)THENGOSUB915:RETURN 3010 PRINTCHR$(147);LA$(0) 3020 PRINT:PRINT:PRINTLA$(1);CHR$(34);N$;CHR$(34);LA$(2):PRINTLA$(3) 3030 PRINTLA$(4);CHR$(34);LA$(5);STR$(AD);LA$(6);CHR$(34);LA$(7);CHR$(34);TX$; 3040 PRINTCHR$(34);LA$(7);CHR$(34);LA$(2):PRINTLA$(8) 3050 PRINTLA$(9);CHR$(34);LA$(10)+TX$;CHR$(34);LA$(11) 3060 POKE631,19:FORI=632TO637:POKEI,13:NEXT:POKE198,7:END 4998 : 4999 REM ---------------DRUCKERPROGRAMM 5000 DATA169,11,141,38,3,169,192,141,39,3,96,72,165,154,201,4,208,12,104,140 5010 DATA35,192,168,185,37,192,72,172,35,192,104,76,202,241,255,255,255 5998 : 5999 REM ------------DATAS-LADEPROGRAMM 6000 DATA "NEW" , "1 PRINTCHR$(147):IFA=0THENA=1:LOAD" 6010 DATA ",8,1" 6020 DATA "3 PRINTCHR$(19);" , "5 PRINT" , "SYS" , ":LOAD" , "CHR$(34)" 6030 DATA "7 POKE631,19:POKE632,13:POKE198,2:END" 6040 DATA "SAVE" , "@:LADER." , ",8"