1 'GPRINT.100 1/6/85 Gemini 10X formatting printing program by Steve Anderson [71276,514] Refer to GPRINT.DOC for instructions 2 MAXFILES=2:DEFINTA-Z:L=7:R=75:T=5:B=57:X1=0:X2=0:X3=0:X4=1:X5=255:X6=0:X7=0:X9=0:F=0:DW=1:Q=1:S=1:OPEN"LPT:"FOROUTPUTAS2 3 CLS:F$="":PRINT" 1-Configure Printer":PRINT" 2-Envelope Mode":PRINT" 3-Quick Print":PRINT" 4-Format Print":PRINT" 0-Exit GPRNT.BA":PRINT:INPUT" Option";Q:IFQ=0THENMENUELSEIFQ<2THEN100ELSEIFQ=2THEN400ELSEIFQ=3ORQ=4THEN5ELSE3 5 IFQ=3THENQ$="Quick print"ELSEIFQ<>3THENQ$="Format print" 6 CLS:Q1=1:PRINT" 1-"Q$:PRINT" 2-Enable pre-print form feed":PRINT" 3-Dis-able pre-print form feed":PRINT" 4-Return to top menu":PRINT" 0-Exit GPRNT.BA":IFF<1THENPRINT@81,"*";ELSEIFF=1THENPRINT@41,"*"; 7 PRINT@200,:INPUT" Option";Q1:IFQ1=0THENMENUELSEIFQ1<2THEN8ELSEIFQ1=2THENF=1:GOTO6:ELSEIFQ1=3THENF=0:GOTO6:ELSEIFQ1=4THEN3ELSE6 8 IFF<>0THENGOSUB75ELSELC=1 9 CLS:IFQ<>3THENINPUT"Space (2=double)";SEL 10 FILES:INPUT"File to print";F$:IFF$=""THEN6 15 OPENF$FORINPUTAS1:IFQ<>3THENGOSUB65:GOTO30 20 IFEOF(1)THENPRINT#2,CHR$(13):CLOSE1:GOTO6 25 PRINT#2,INPUT$(1,1);:GOTO20 30 W=DW*(LEN(W$)):IFC+W>RTHENGOSUB65 35 PRINT#2,W$;:C=C+W:W$="":IFEOF(1)THENPRINT#2,CHR$(13):CLOSE1:GOTO6 40 IFC$=CHR$(13)THENGOSUB65 45 IFC$=CHR$(9)THENGOSUB80 50 IFEOF(1)THEN30 55 C$=INPUT$(1,1):IFC$=CHR$(13)ORC$=CHR$(9)ORC$=CHR$(10)THEN30 57 IFC$="&"THEN200 60 W$=W$+C$:IFC$=" "THEN30ELSE50 65 IFLC>=BTHENGOSUB75 70 FORX=0TOS-1:LC=LC+1:PRINT#2,CHR$(13);:NEXTX:FORX=1TOINT(L/DW):PRINT#2," ";:NEXTX:C=L+1:RETURN 75 PRINT#2,CHR$(12); 76 IFXC=56THENCLS:PRINT@125,"Insert new sheet of paper":PRINT@205,"Press any key to continue...":BEEP:BEEP:BEEP 77 IFXC=56THENIFINKEY$=""THEN77ELSECLS 78 IFXC<>56THENFORX=1TOT-1:PRINT#2,CHR$(13);:NEXTX:LC=T 79 RETURN 80 PRINT#2," ";:C=C+1:IFC>RTHENGOSUB65:RETURN 85 IF(C-L)/8=INT((C-L)/8)THENRETURNELSE80 100 CLS:PRINT:PRINT" *0 - Pica (10CPI)":PRINT" 1 - Elite (12CPI)":PRINT" 2 - Compressed (17CPI)":PRINT:INPUT"Character type ";X9 102 IFX9=2THENPRINT#2,CHR$(27)CHR$(66)CHR$(3);:GOTO107 104 IFX9=1THENPRINT#2,CHR$(27)CHR$(66)CHR$(2);:GOTO107 106 PRINT#2,CHR$(27)CHR$(66)CHR$(1); 107 CLS:PRINT:PRINT" *0 - 1/6 inch":PRINT" 1 - 1/8 inch":PRINT" 2 - 7/72 inch":PRINT:INPUT"Line Feed Value";XA 108 IFXA=2THENPRINT#2,CHR$(27)CHR$(49);:GOTO111 109 IFXA=1THENPRINT#2,CHR$(27)CHR$(48);:GOTO111 110 PRINT#2,CHR$(27)CHR$(50); 111 CLS:PRINT" *0 - Normal":PRINT" 1 - Double":INPUT"Character Width ";X1 112 IFX1=1THENPRINT#2,CHR$(27)CHR$(87)CHR$(1);:DW=2:GOTO120 114 PRINT#2,CHR$(27)CHR$(87)CHR$(0);:DW=1 120 PRINT:PRINT" *0 - Standard":PRINT" 1 - Italic":INPUT"Type Style ";X2 122 IFX2=1THENPRINT#2,CHR$(27)CHR$(52);:GOTO130 124 PRINT#2,CHR$(27)CHR$(53); 130 CLS:PRINT:PRINT" *0 - Normal":PRINT" 1 - Emphasized":PRINT" 2 - Double Strike":PRINT" 3 - Double Strike + Emphasized":PRINT:INPUT"Print type ";X3 132 PRINT#2,CHR$(27)CHR$(70)CHR$(27)CHR$(72); 134 IFX3=3THENPRINT#2,CHR$(27)CHR$(71)CHR$(27)CHR$(69); 136 IFX3=2THENPRINT#2,CHR$(27)CHR$(71); 138 IFX3=1THENPRINT#2,CHR$(27)CHR$(69); 140 CLS:INPUT" Left Margin (1-255) ";X4:INPUT" Right Margin (1-255) ";X5:INPUT" First line printed (1-16) ";X7:INPUT" Perforation skip (0=disabled, to 255, # of lines left on page) ";X6 141 INPUT" Unidirectional print (1=enabled)";XB:XC=0:INPUT" Print with paper out (1=enabled)";XC:XC=57-XC 142 PRINT#2,CHR$(27)CHR$(57)CHR$(27)CHR$(45)CHR$(0)CHR$(27)CHR$(84)CHR$(27)CHR$(77)CHR$(X4)CHR$(27)CHR$(81)CHR$(X5)CHR$(27)CHR$(82)CHR$(X7)CHR$(27)CHR$(78)CHR$(X6)CHR$(27)CHR$(85)CHR$(XB)CHR$(27)CHR$(XC);:Q=4:IFX6=0THENPRINT#2,CHR$(27)CHR$(79); 143 GOTO3 199 'for def of &x& codes see previous listing 200 M$=C$:X=1 210 IFEOF(1)THENW$=W$+M$:GOTO30 220 C$=INPUT$(1,1):X=X+1:IFC$=CHR$(13)ORC$=CHR$(9)ORC$=CHR$(10)THENW$=W$+M$:GOTO30 230 M$=M$+C$:IFC$=" "THENW$=W$+M$:GOTO30 240 IFX<>3THEN210 250 IFM$="&0&"THENGOSUB75:GOTO50 260 IFM$="&1&"THENPRINT#2,CHR$(27)CHR$(52);:GOTO50 270 IFM$="&2&"THENPRINT#2,CHR$(27)CHR$(53);:GOTO50 280 IFM$="&3&"THENPRINT#2,CHR$(27)CHR$(45)CHR$(1);:GOTO50 290 IFM$="&4&"THENPRINT#2,CHR$(27)CHR$(45)CHR$(0);:GOTO50 300 IFM$="&5&"THENPRINT#2,CHR$(27)CHR$(87)CHR$(1);:DW=2:GOTO50 310 IFM$="&6&"THENPRINT#2,CHR$(27)CHR$(87)CHR$(0);:DW=1:GOTO50 320 IFM$="&7&"THENPRINT#2,CHR$(27)CHR$(83)CHR$(0);:GOTO50 330 IFM$="&8&"THENPRINT#2,CHR$(27)CHR$(83)CHR$(1);:GOTO50 340 IFM$="&9&"THENPRINT#2,CHR$(27)CHR$(84);:GOTO50 350 W$=W$+M$:GOTO50 400 PRINT#2,CHR$(27)CHR$(78)CHR$(0)CHR$(27)CHR$(56);:A1$="Line 400:Your Name":A2$="Line 400:Your Address":A3$="Line 400:Your City, State ZIP":A4$="USA" 410 CLS:EL=0:PRINT:PRINT" *0 - Buisness":PRINT" 1 - Letter":PRINT" 2 - Exit envelope mode":PRINT:INPUT"Envelope Size";ES 420 IF ES>1THENES=0:PRINT#2,CHR$(27)CHR$(57);:Q=4:GOTO3 430 CLS:PRINT"Return address:":PRINT@80,"line 1:":W$=A1$:GOSUB500:A1$=W$:PRINT@80,"line 2:":W$=A2$:GOSUB500:A2$=W$:PRINT@80,"line 3:":W$=A3$:GOSUB500:A3$=W$:PRINT@80,"line 4:":W$=A4$:GOSUB500:A4$=W$ 440 CLS:PRINT"Send to address:":PRINT@80,"line 1:":W$=A5$:GOSUB500:A5$=W$:PRINT@80,"line 2:":W$=A6$:GOSUB500:A6$=W$:PRINT@80,"line 3:":W$=A7$:GOSUB500:A7$=W$:PRINT@80,"line 4:":W$=A8$:GOSUB500:A8$=W$ 450 PRINT#2,CHR$(27)CHR$(56)A1$:PRINT#2,A2$:PRINT#2,A3$:PRINT#2,A4$ 460 IFES=1THENX=20ELSEX=35 470 PRINT#2,CHR$(27)CHR$(97)CHR$(4):PRINT#2,SPACE$(X)A5$:PRINT#2,SPACE$(X)A6$:PRINT#2,SPACE$(X)A7$:PRINT#2,SPACE$(X)A8$:GOTO410 500 X=0:PRINT@88,SPACE$(50):PRINT@88,W$ 510 C$=INKEY$:IFC$=""THEN510 520 IFC$=CHR$(13)THENRETURN 530 IFC$=CHR$(8)THEN:C$="":L=LEN(W$)-1:IFL=-1THEN550ELSE535 532 GOTO540 535 W$=LEFT$(W$,L):X=X+1 540 X=X+1:IFX=1THENW$="":PRINT@88,SPACE$(50) 550 W$=W$+C$:PRINT@88,W$"_"SPACE$(50):GOTO510