home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er
/
64ER_CD.iso
/
sh2x
/
sh24a.d64
/
druckeranpassung
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-03-30
|
6KB
|
280 lines
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