10 REM ******************************** 11 REM * * 12 REM * SUPER-PRINT-EDITOR FUER * 13 REM * * 14 REM * SUPER-PRINT V 3.0 * 15 REM * * 16 REM * 11.2.1986 * 17 REM * * 18 REM * ECKEHARD FIEDLER * 19 REM * ADALBERTSTEINWEG 74 * 20 REM * 5100 AACHEN * 21 REM * 0241/500303 * 22 REM * * 23 REM ******************************** 24 : 25 : 90 DIM W(50):WM=49 100 PRINT CHR$(147) 110 PRINT TAB(5)"**** SUPER-PRINT EDITOR ****" 120 PRINT:PRINT:PRINT:PRINT:PRINT 130 PRINT TAB(5)"BITTE DISKETTE EINLEGEN UND" 140 PRINT:PRINT 150 PRINT TAB(7)"SCHREIBSCHUTZ ENTFERNEN" 160 PRINT:PRINT 180 PRINT TAB(9)"TASTE DRUECKEN > <" CHR$(157) CHR$(157); 190 POKE 204,0 200 GETA$:IFA$=""THEN 200 201 : 202 : 203 : REM ZWISCHENFILE LOESCHEN 204 : 205 : 210 POKE 204,1:PRINT" " 220 PRINT:PRINT 230 OPEN 15,8,15,"I" 240 NN$ = CHR$(21)+"SUPER-PRINT" :REM NAME FUER ZWISCHENFILE 250 PRINT#15,"S0:"NN$ :REM EV. ALTES ZWISCHENFILE 255 : 260 GOSUB 50000 :REM LOESCHEN 270 IF M1<>1THEN 60000 :REM ABBRUCH 290 : 291 : 292 : REM ALTE WERTE AUSLESEN 293 : 294 : 300 OPEN 3,8,3,"SUPER-PRINT,P,R" 310 GOSUB 50000 :REM FEHLERMELDUNG HOLEN 311 PRINT TAB(5)M2$ 312 IF M1<>0THEN 60000 318 : 319 : 320 FORI=1TO23 325 GET#3,A$:IF ST<>0THEN 60000 :REM ABBRUCH 330 NEXT I 340 : 341 : 350 FOR I=1 TO WM :REM ALTE WERTE EINLESEN 360 GET#3,W$: IF ST<>0 THEN 60000 :REM ABBRUCH 370 W(I)=0:IF W$<>"" THENW(I)=ASC(W$) 380 NEXT I 390 CLOSE 3 400 : 401 : 402 : REM WERTE EDITIEREN 403 : 404 : 407 RESTORE: POKE 198,0 409 : 410 SM=10:FOR EA=0TOSM :REM SCHLEIFE DRUCKER-CODES <--- 411 : 412 : 420 PRINT CHR$(147):PRINT 430 PRINT TAB(6)"BITTE STEUERSEQUENZEN FUER":PRINT 440 PRINT TAB(10)"DRUCKER EINGEBEN :":PRINT 441 PRINT TAB(2)"(FUER 2-BYTE-BEFEHLE 3. WERT 255!)" 442 PRINT:PRINT:PRINT 445 PRINT TAB(2)"STEUERBEFEHL :":PRINT 449 : 450 READ O$ 451 DATA 480 PUNKTE/ZEILE (STANDARD) 452 DATA 960 PUNKTE/ZEILE (DOUBLE) 453 DATA 960 PUNKTE/ZEILE DOUBLE SPEED 454 DATA 1920 PUNKTE/ZEILE (QUADRUPLE) 455 DATA 640 PUNKTE/ZEILE 456 DATA 512 PUNKTE/ZEILE (PLOTTER) 457 DATA 720 PUNKTE/ZEILE 458 DATA HOECHSTE MOEGLICHE DICHTE 459 DATA DRUCKER INITIALISIEREN 460 DATA LINKEN RAND EINSTELLEN 461 DATA ZEILENVORSCHUB N/216 462 : 463 PRINT TAB(2)CHR$(18)"*** "O$" ***" 464 PRINT:PRINT:PRINT 465 : 466 : 470 A=4*EA+1 480 B=4*EA+2 490 C=4*EA+3 500 : 510 : 520 PRINT TAB(26)W(A);CHR$(145) 530 INPUT " 1) ESCAPE-CODE : ";W(A) 535 : 540 PRINT TAB(26)W(B);CHR$(145) 550 INPUT " 2) ERSTER STEUERCODE : ";W(B) 555 : 560 PRINT TAB(26)W(C);CHR$(145) 570 INPUT " 3) ZWEITER STEUERCODE: ";W(C) 575 : 576 : 580 NEXT EA :REM SCHLEIFE DRUCKER-CODES ---> 581 : 582 : 583 : REM DRUCKER-TABELLE OK ? 584 : 585 : 590 PRINTCHR$(147):RESTORE :REM WERTE DARSTELLEN 591 PRINT 592 : 593 FOR I=0TOSM 594 READ A$ 595 PRINT A$" :" 596 PRINT TAB(24);CHR$(18);W(4*I+1);W(4*I+2);W(4*I+3) 597 NEXTI 598 : 599 PRINTCHR$(19); 600 PRINT TAB(4)"STEUERCODES OK ? [J/N] > <"CHR$(157)CHR$(157); 610 POKE 204,0 620 GET A$:IFA$=""THEN 620 625 POKE 204,1 630 IFA$="N"THEN 400 640 IFA$<>"J"AND A$<>"Y"THEN 610 690 : 691 : 692 : REM REST EINSTELLEN 693 : 694 : 700 PRINT CHR$(147) 705 PRINT:PRINT 710 PRINT TAB(5)"**** SONSTIGE PARAMETER ****" 715 PRINT:PRINT:PRINT 716 P0=45 718 : 719 : 720 PRINT TAB(25);W(P0);CHR$(145) 730 INPUT " CARRIAGE RETURN :";W(P0) 735 PRINT 740 PRINT TAB(25);W(P0+1);CHR$(145) 750 INPUT " LINEFEED CHARACTER :";W(P0+1) 755 PRINT 760 PRINT TAB(25);W(P0+2);CHR$(145) 770 INPUT " PRINTER-GERAETENUMMER:";W(P0+2) 775 PRINT 780 PRINT TAB(25);W(P0+3);CHR$(145) 790 INPUT " HINTERGRUND-FARBE :";W(P0+3) 795 PRINT 800 PRINT TAB(25);W(P0+4);CHR$(145) 810 INPUT " TEXT-FARBE :";W(P0+4) 812 PRINT:PRINT 815 : 816 : 817 : REM PARAMETER OK? 818 : 819 : 820 PRINT " PARAMETER OK ? [J/N/^] > <"CHR$(157)CHR$(157); 825 : 830 POKE 204,0 840 GET A$:IFA$=""THEN 840 850 POKE 204,1 855 : 860 IF A$="N"THEN 700 865 IF A$="^"THEN 400 870 IF A$<>"J"AND A$<>"Y"THEN 830 875 : 876 : 877 : REM ABSPEICHERN ? 878 : 879 : 880 PRINT CHR$(147) 885 PRINT:PRINT:PRINT:PRINT 890 PRINT TAB(5)"ABSPEICHERN ? [J/N] > <"CHR$(157)CHR$(157); 895 : 900 POKE 204,0 910 GET A$:IFA$=""THEN 910 920 POKE 204,1 925 : 930 IFA$="N"THEN END 940 IFA$<>"J"AND A$<>"Y"THEN 900 951 : 952 : 953 : REM SUPER-PRINT-FILE AENDERN 954 : 955 : 1000 PRINTCHR$(147) 1005 PRINT:PRINT:PRINT:PRINT 1010 PRINTTAB(10)"WORKING..."CHR$(191)CHR$(157); 1020 POKE204,0 1031 : 1032 : REM FILES OEFFNEN 1033 : 1100 PRINT#15,"I" 1110 OPEN 3,8,3,"SUPER-PRINT,P,R" :REM LESEFILE 1115 NM$ = NN$+",P,W" 1120 OPEN 4,8,4,NM$ :REM SCHREIBFILE 1130 FOR I=1TO23 :REM ERSTEN 23 BYTES UEBERNEHMEN 1135 GET#3,A$:IF A$=""THEN A$=CHR$(0) 1140 IF ST<>0 THEN 60000 :REM ABBRUCH 1150 PRINT#4,A$; 1160 NEXT I 1161 : 1162 : REM WERTE EINFUEGEN 1163 : 1170 FOR I=1TOWM :REM ALTE WERTE IGNORIEREN 1175 GET#3,A$:IFST<>0 THEN 60000 :REM ABBRUCH 1180 NEXT I 1181 : 1182 : REM NEUE WERTE EINFUEGEN 1183 : 1190 FOR I=1TOWM 1195 PRINT#4,CHR$(W(I)); 1196 IFST<>0THEN 60000 :REM ABBRUCH 1200 NEXT I 1201 : 1202 : REM REST UEBERNEHMEN 1203 : 1210 J=0:FOR I=0TO1 :REM ENDLOSSCHLEIFE 1215 : 1220 GET#3,A$ 1221 : 1225 IFA$=""THEN A$=CHR$(0) 1230 IF ST<>0 THEN J=1 :REM FILE-ENDE ?? 1235 : 1240 PRINT#4,A$; :REM WERT SCHREIBEN 1245 I=J: NEXT I 1246 : 1247 GOSUB 50000:IF M1<>0 THEN 60000 1250 CLOSE 4: CLOSE 3 1255 : 1256 : 1257 : REM ALTES FILE ERSETZEN 1258 : 1259 : 1260 PRINT#15,"I" 1270 PRINT#15,"S0:SUPER-PRINT" :REM ALTES LOESCHEN 1275 PRINT#15,"I" 1280 PRINT#15,"C0:SUPER-PRINT="NN$ :REM NEUES AUF ALTEN PLATZ 1290 GOSUB 50000 1295 PRINT#15,"I" 1297 : 1298 : 1300 POKE204,1:PRINT" " 1310 PRINT:PRINT 1315 PRINT TAB(5)M2$,M3 :REM FEHLERMELDUNG ? 1317 : 1318 : 1320 PRINT#15,"S0:"NN$ :REM ZWISCHENFILE LOESCHEN 1330 GOSUB 50000 1335 PRINT#15,"I" :REM FLOPPY INITIALISIEREN 1337 : 1340 IF M1=1THEN PRINT TAB(5)"OK":GOTO1400 1350 PRINT TAB(5) M2$ 1400 CLOSE 15 :REM ENDE 1500 END 49000 :REM ------------------------------------------------ 49001 : 49002 : 49003 : REM FEHLERMELDUNG VON FLOPPY LESEN 49004 : 49005 : 50000 INPUT#15,M1,M2$,M3,M4 : RETURN 59000 :REM ------------------------------------------------ 59001 : 59002 : 59003 : REM ABBRUCH BEI DISKETTENFEHLER 59004 : 59005 : 60000 PRINT:PRINT"DISKETTENFEHLER !!":PRINT 60010 GOSUB 50000: PRINT M2$ 60020 CLOSE 3:CLOSE 4: CLOSE 15:END