From: ewb6720@pacs.pha.pa.us ( Eric W. Bray)
Newsgroups: comp.sys.ti
Subject: Re: Sidewriter (XB program)
Summary: sidewriter program
	 encoded/decoded
Date: 7 Jan 93 19:46:29 GMT
Organization: Philadelphia Area Computer Society

In article <009662AC.E4632C40@GOMEZ.PHYS.VIRGINIA.EDU>, cohen@GOMEZ.phys.virginia.edu writes:
> Here is another piece from the Freenet.  Hope some of you find i useful...
> If you really want to print sideways from Multiplan, I would advise getting
> the program MP-Sideways (I think it was sold by Quality 99) or the fareware
> program Side*Print, they are more elaborate and will do a better job there.
> But for fun, the following XB program might work out.
> 
> 
> Article 79 of freenet.sci.comp.ti.news:
> Newsgroups: freenet.sci.comp.ti.news
> Subject: SIDEWRITER
> Date: Sun, 23 Sep 90 13:16:50 GMT
> Lines:      109
> 
>      MAKE YOUR PRINTER PRINT SIDEWAYS!!
> 
> Have you ever wished that you could print text or tables sideways on the paper
> (that is, with the text reading vertically instead of horizontally)? The
> following two programs will enable you to do this on an Epson/Gemini compatible
> printer.  The method uses the bitmap graphics mode of the printer.
> 
> First you must create the data statements that give the printer the codes for
> each letter turned on its side.  They can't be typed in because they are mostly
> control characters.  The first program creates a mergeable file for XB for all
> of them.  The letters created will look exactly like the ones on your screen
> (i.e. small letters are actually small caps) unless you put in CALL CHAR
> statements before line 100.  This newsletter should also contain a program
> which you can type in which gives the same ones as are in the CHARA1 file for
> the TI-Writer.
> 
> ..NF;NA
> 
> 100 OPEN #1:"DSK3.DATAMERGE",VARIABLE 163
> 110 FOR X=1 TO 19 :: PRINT #1:CHR$(0);CHR$(X*5);CHR$(147);
> 120 FOR Y=1 TO 5 :: CALL CHARPAT(X*5+Y+26,C$):: GOSUB 170 :: D$=""
> 130 FOR Z=8 TO 1 STEP -1 :: D$=D$&CHR$(D(Z)):: NEXT Z
> 140 PRINT #1:CHR$(199);CHR$(8);D$;
> 150 IF Y=5 THEN PRINT #1:CHR$(0)ELSE PRINT #1:CHR$(179);
> 160 NEXT Y :: NEXT X :: PRINT #1:CHR$(255)&CHR$(255):: CLOSE #1 :: STOP
> 170 FOR Z=1 TO 8 :: E1$=SEG$(C$,2*Z-1,1):: E2$=SEG$(C$,2*Z,1)
> 180 F1=ASC(E1$)-48+7*(ASC(E1$)>60)
> 190 F2=ASC(E2$)-48+7*(ASC(E2$)>60)
> 200 D(Z)=F1*16+F2 :: NEXT Z :: RETURN
> 
>      Next you type in the main program - it's actually quite short!
> 
> 100 DIM D$(126),A$(60):: FOR X=32 TO 126 :: READ D$(X):: NEXT X
> 110 ESC$=CHR$(27):: OPEN #2:"PIO.CR" :: PRINT #2:ESC$&"A"&CHR$(7);ESC$;"C";CHR$(
> 0);CHR$(11);
> 120 FLAG=0 :: INPUT "TEXT FILE: DSK":F$ :: OPEN #1:"DSK"&F$
> 130 FOR X=1 TO 60 :: LINPUT #1:A$(X):: IF EOF(1)THEN 150
> 140 NEXT X :: GOTO 170
> 150 FLAG=1 :: CLOSE #1 :: IF X=61 THEN 170
> 160 FOR X=X+1 TO 60 :: A$(X)=RPT$(" ",80):: NEXT X
> 170 FOR X=1 TO 60 :: A$(X)=A$(X)&RPT$(" ",80-LEN(A$(X))):: NEXT X :: FOR X=1 TO
> 80 :: PRINT #2:ESC$&"K"&CHR$(224)&CHR$(1)
> 180 FOR Y=60 TO 1 STEP -1 :: B$=SEG$(A$(Y),X,1)
> 190 PRINT #2:D$(ASC(B$));
> 200 NEXT Y :: PRINT #2:CHR$(13)&CHR$(10):: NEXT X :: PRINT #2:CHR$(12):: IF FLAG
> =0 THEN 130
> 210 INPUT "D0 ANOTHER?(Y/N)":AN$ :: IF AN$="Y" THEN 120 ELSE CLOSE #2
> ..FI;AD
> 
> 
> 
> Note that in line 110 I have put in codes for 7/72 inch linefeeds, and a
> formfeed of 11 inches.  Check your printer codes to make sure they are the
> same.  Now merge in the file created previously by typing MERGE DSK1.DATAMERGE
> This will put in 19 lines numbered from 5 to 95 in increments of 5, and if you
> list them they will look crazy.  DON'T CHANGE THEM!! Now save the program under
> whatever name you wish, and it's ready to run.  The only limitation is that the
> file must contain only ASCII codes 32-126, that is no control characters or
> deletes (127).  You can ensure this by using the PF function of the TI-Writer
> and typing C DSK1.yourfile Have fun.
> 
> Note also that if you are sure that the right margin of your file is always
> less than 80, you can substitute whatever it is for 80 in lines 160 and 170
> (twice).  You can also use this program to print an entire Multiplan listing
> lengthwise by using the print on disk option and always giving a margin of 80
> or less.
> 
> ALL YOU HAVE TO DO IS TYPE IN THE PROGRAM
> AND RUN IT.
> DENNIS ai250

Here are these programs done for a STAR NX-10 or EPSON FX-80 printer.
Use the encoder/decoder program to get a workable program.

>>BOF<<
iW128
A"3)J")B.)IR+:5%#!!9!!+&+!"!"4**%)IAD%:BA!#+=+!2C=6)J1+2/+B9
)53!!(:A!FUPG%RG5TGEVGUXH%ZH5\HE^HU`GZ&*R%%*(+BI.*T%"Q/2P-ZS
-*N%"I-.+-2F-JO%"X/2J/BUL)A/BP%"S/N;.^;-)AB*"+1A*R;&
";-2A)$#<D),T?=B")SG4S=)#.=BQ-"D*#4*C+5B#)2!149<"!<T.9D1:;X?
T85[K)+P94*;=Q:LW)$S<TLD1!#3+<D5<TTD=;`["N>NN^R/353$+=MR3<M<
D?>-P@$A;4+9^(4;FR-Q2N^74+>">'#1<TBG$G<T<G-JJN1)$-<E
G]#!UC![H-SG9[GQ8?]FEH+[=[W5SG()HGNX=[7+S5RZ(^(-;2E'5>RB(F3B
G=Q)".?U>"J(!<&X#Q)"*:F\2E89:"W5FG"H>/%"O'=3X/5N4606'$21#U5Y
%A;#&+#C&X%?2GV?@N3H<'S'BC@I52V@B8H[$E/1J:.@)G'997]<
I(<ZN'Z!!3V-5Z5&3C["1K&"82O(3&8/@K4'9'V?W9'7%RC8M96A=''BX'FE
1A;&>G?C&P1A;]9G7<U:1O$51BV@VJ&]?Q<J@:>YBP:%<ZPC-)%IC?69K'U;
2H'B`2X:JE["#Y!!H%%=I1'-<'9$=/74:7#V9'ZUQO(-9RJ#Y9V@
X"Q#[%!OKQ>RT$I*"/A9=V0;A=+\?*U;M>3L[RL-<;VL?O2T"-5RV');H*(1
/FM3)6R3%E6',F"O1B%3;RFNCUK'#!-AT7Q:2Q#!/6V$%-Q[$%.A[$6>2(%U
6!0%RZ"FM2'5981/;?Q+$2"%N&R:%]66P9BCM0NR*L:296R"&E76
.KB/%A92W:B^!A'8(V]G]=W8BJR*L?"^;TBG*Y"7):2Y@VJ2U'%9KEDK,Y(A
FEV;C9="B>E=B)#D+H^5G&:P=3?]ST2^BB'2Z"H#$*+C@A<([?1=VAV+K&48
M;2[7H.XZ#E0QA5=:<A414WEIOD>6(3G;2CE<6+G_=6:TCJ-M@Y?
H*:)V5J;8"8WQVJ#]2RFJ1<HHMP1I1TE:2#A#87^>8;K)>VR"PBJ[=!UY9F?
'X1QACE=&)'.3JEA89."FR9"SJU42''E=N>X]<8J@U9W_O44BEGN;^>O2X:>
5L3/H'H(^/Z<MN/L/"9+8P<7Z%^^RD'A)+E6_>RU(5=KMBLB6?S?
\A8G>L@I9VX#>`687)?8:BJZ*V_TI*\G&PAAG48>;%Z7;83GG3?UEQ-)9X:"
T@3IA]<O$_J5<O#"XR^SQ&+,7>U/3)'_GD4A;-UKE&"FW-C%Q\ZTAWQ,-Q^W
"-%H@FA4=H!S1<!XBP-WT/!Y>'N0=$3'MT#*D2/%+U@1PCLVD06P
C>.'6CHU%!=X3JRB5<W#T_Y<J"0T%O*M"'BBT3/7>H23G1BQ5#?9L11QAB-#
9#!)93#X"+?+7"YY>#L(L4,$J6A)#[!QA7=":]4YBBI.1DS%2WY*.F$#`5N=
%%L".$O[J\<)8W.!@E<]L5CQUP;?7R^Z+C!ZF2/]KS#U5:*./D2@
FO##$%]5(6%BS!=C9+A317B8+[\*4I"TXB/#-$M*Q11!.N"4(=%!4QI&#"!#
-')/A2"%#G%M'9,AC""#I%%AQ5ADB&"%#Q+R<AEB"#%%QC[^6ZAR,I9)*Z<Q
M!^F-&1*]>F4A[7QR!B5R!>2J#E#1&!-!5A\HF01,!+A;TXHS#BZ
"C$1']^QB!R"E85)UYQ1":H-WK>).114MD2'7-]IQJ"1G=#C@9.16B:"7$)'
Q,!BAE"42))Y4QJB6#&(9'Z>;*"%")$U%1)A;LSI21I,101=5/DM7R<Q5!1&
TICNCG!0;9!GH_%1&!7A5UF7Q%Y)I7#&";C-F%!!)K!FVH>-/9NX
0]'+2:`")HG#A(%^[9!\"Q$&@#&AD5,"\2!+A3*B6<HB0_?Q21G"4)P83LN9
J[!R6.0=)[^3[V1KF1OI:=+IE+#R9GPE];`!I"E$7@N3,)W4H\2))94+5%8G
*9EB-Q*T5NH%7_H-ZZUU\IE1?G.?ADTUJ'#Q'1+AN&T"9$'JR@1[
'6L1CWP"2<'W97L<AJKK<;L"B4"!R"[%%+91Q57M"3#U'A/!6AX"5#CZFTLI
!_"N0;L#]$"!SO8=WZ^O\IX4OL>?\.Z;38=HM#7AZ>;F6-"[%9')+F[AL#-$
+R.BKJW*)%&2BQ4A!"$9/LZK$)1[32D%UZUL^:%)K";?9/A*Y,4<
#)K1Z$C(5LRWI`+B"#!!(]PAC"*#;##G&!+1!J"9%'?FX<=U*H)$U'>`*U2W
J"A!A92-54[NT@Z2^R39B1H!85)NT;9T`"F1/C5Q*B!D"F-9+!31HAO#'&)%
6DG*TPSDE?E9*A2"""&:;M>!Q>Z?")$M%11Q24YMC!S?W<KRTAE(
\A\I.1A*A11DA^J=NAR)5!KE+"%N[QY2AET=K*-E%1/AD!EM4EYQ-]*D[+".
IWN)-[<YTN1##\NC1G:`U$6Q(7,K.7Z#47U)I4QD5!"48'96;A9!7KT9KQ^D
;4"0RP9!''1C=8YL7%<0/?Z47;MZ8KLFC>4K0"[$;=^=D![["F<4
%N,MI,!+^.[>IFK1,!+1?U8#J04,-V4#Y`M7I]*_ONJTFWPHUR_0LFY_".N\
=!).R!Q"<.Q*VW-@6.IFE$7SW-:<+"C&3>!+<E53LJFX*'9!FZDS5$)'A+=S
6`O*69H!,Q9X)Y$1T4OO;@%DK$M.<!1L?7_V)&H&A7,BA:K`6L*)
X-0+/+<V]EK;$M+&]>;%+#TFIR/8,):T"HR+LU^N_\FX_#$B00[`ASV.7X9'
?A&Z]<6M[/WG!C\2,LK$112#[B"#>LCO15A@AI#S#]*Q+>&^?U>2,:0;K:":
STK\:^"S_VZ)P:OTP-#6HPU-$MAEOS;")#==/(J6'EF;$9P_/U\0
&#Z6(GRA]0).[=K11!X"?$?`BZ*,?*69'9L!:!ZI6,OBI-)3F"BN]]'6]BF:
Q2C?UQ"T)1T,BD-X%*G$FS_03>#7.`A99?2,@$Y5-L_PB"/EW>VT0AQ\P].[
C$"K3J5148)BIJD)QUGI$H$F(T]4DK/GD.0&%S19T-G>.!R=U^><
B0C4&)<T$!J=98[V@DI[%.Q>1WF8.]BJ":X!151^Y$F2!`6ZI<Z']Y1:5$6[
)?5'E@-;A%^YE\F#9`E6N_Z$*$2#Q'%(I(EZE%19!#=1J+-%Z_"KY%U9U8!I
R%MRZ])X9F9?A8A<U%^)MO1S1#!'Z*QX]S9'C!E`2B55I\]'1@L,
?]&G"O1I-`1Z?*+5-X)10F3:-L(/@J%R",(D._/\/Z1"-X0V&J1Z8:"*)8?[
&+9V&T5A+(-L2[&EB71$13&5&11)21*)".)&0>/B9K5$/:":(B30-C"O"T@"
'7(!@<(J.5./"16N+&1)@8&I'63M3O3Q9>"S!E?D@=C"9'4)",?Y
YU1I5BG$(4T3B3H94X&BNQ3XAS<"_%ADSI#T@S9HQ$_TSC*B83FB`4J5'97)
$$Y5JT@BQ"_$01=Q3U82FB>Q)"B3&5DIPY?Q9D828CA2G)-29)-S/"Q%)6S$
^8H$I7UIE'OA4$2S<RSA+9>9>YPYJ":$_$AY+S+HP$TTBB73%$^>
MAY'QB!B+,_!]C)'?*Y4E%UK1C-=1S9:C(]A-IY\!T%Y5V-(-:M>C%I7I?7,
ED&*?)&"=EQ'?,/-!$!!A;6&UJU!!#F221MQU#"'I&92>D?"QB9&-WI&F-%B
99&KZUA&)%]%=&*.!!NVZDQ&)&59%NU#Y!Q29%Y%Y%G3.)6:.LN$
C@F"F#%W#,$Z#X$Z!]$`'U$3$Z#[!!$)$Z$G!!#_$[!@!!#U$[!R!!#K$["6
!!#A$[#R!!#7$[$6!!#-$[$R!!##$[$[!!"Y$\F7"O$\".!!"E$\#:!!"@$\
$'!!";$\'U"6$]!Y!!"1$]"R*3$]#K!!"'$]$D!!""$^!=!!!]!N
`:8A.Q`1DA!!-A`1RQ!!,1`B,A+!`D"1)Q`A=A!!(A`AKQ!!'1`AZ!!!&!`Q
(1!!$Q`Q6A!!#A`QDQ!!"1`QS!!!+QEARQ%(8"DX8WLH9H:(:A+1N8;AAAB(
;APARQ!171M!S:<QA1I!`1S!!1-A!!/!FA71AAH*X*XAN1VANQSB
A!)P),9,C?G?M81,9))*9&C?3?9$+?C?K?Q$+@-)2U]%=,[>U$#>?7M2S?7>
W@F4!,=.Q,>S1,9,9,1!!#-)Q&GA)!*>U,'>U$%,)-+BM)*S1,Y.A,>CY,=&
E,9,-&A,/BM,9!!&M)Q&CA)!%$'BKBA$!)+C5&A,9,[DG?Y/%,@?
H5!AIL!#'&$#$6IE!E#XI[I1HUHWIQISIUHL'&HXI*#V:I#YH5",HPHK!$!S
=1HOHQITINI5IR"9$"I<IV8>IYJ*I[#_I`J"J$'&HTHV!!!<I!J1##H<I@#%
IRHL<-I&G,!)HV###'H9G,!EJ0JIJ_IX#KHG!RH/JMH_$+HKJCI3
"1FJH[>[!QAJQQ$GB"#GBGC(Y13QN7D1AAH[DAN1RQ!YF!O'D35G;!PJ]!!G
3Z][J[61RQ"G5W676[6*Z[6ZV!1;7ZX1.[%7;!N*V!1QN+91-+%;MEY+%1!!
,!CK#QS!!V"A.K++*;CZ][C1!G.;'KVF)!AAF[#[/K4:Y!EQRQ!Y
A!!(Q#!"!!A(Q3Y,/OI!!"A2A%!2A"CP/OM"#PU!#PU"#PM!#2)!A!1!A!A$
#Q)3Y!A1I3]$COGOM$1%CR-%CP+P1"!#A#A%1%3R;OM#BQ1&1.3RU!"5KRCR
Q!#Q)(A!1$SROQ[R!!!2A$A#1(CS-!Q!A$A%A$#S-2E#1&CS/SKK
!Y"!!]MD!9;/!A"Y%9LILU4U!Q!IN'M#"]M!L^M*LUMA&(MD!EN:M^MD!YM<
"%G%%OM0LU%:,O!EL[LU!YML"%N$MIN,N:!U!I!A"AN1M!"QL`M#!Q")M(!9
!!LLNCM2M5NAMJN;5\NTNI"!O)O#LU!]O"!)!-M#!]"!"]N@MOJL
[A!1!L"A%!)!1!A,E!",H\HQ0,#B,L*<<;[U2LI[`\GQA,3L(L),8L!L'Q+,
*A2,!L5L'LN;^!@+_+\Q"!@,E$"\1\@\*!3!5!?,'Q?,!L81",1<8\NL5A%,
P\;,8LM,&\',O,(,Q\8H"!<,O;[Q2%:A6!:!:,XK\,V!2,UK[\D`
A%#]=%3]GP3R)&3V[93^KROZ/RO]K^!$C]I%3[#Z_\']5'!&!%C_7\O_OYC[
W?!%3_O][P1(CVKVG__OP!9(CYC_E!#_P"7Z+`Q%1&SYC]+S_O[Q5!CZK\;P
_Q8!WXY%!&Q&1&T#GS3`;RO`P![VGT+T0!G2+WL#_Q/TI$#TKQ)Z
LOQ^Q`LUQEO<QCODLRLRNBMPM("].'!9!)P]O@Q6Q8N>POLYNHLL%:O^R6QS
QSQ*Q9QC!%OGQ+P5QTN_N3!QM"O[RCQPP,!9!%O5P$!!OTN2!IREL`P2L_R!
!1M[%POJR+REQ_%SP$!-2HLP"EO'O!%+"16!OJQHR2R%O;%9LPSO
@,"]2=9"-M*LU-D\'1+,!L'1@!+-IMH\;!6!&!/!5!6,9*1R0R!1!,O_OYC[
W?!%3_O][P1(CVKVG__OP!9(CYC_E!#_P"7Z+`Q%1&SYC]+S_O[Q5!CZK\;P
_Q8!WXY%!&Q&1&T#GS3`;RO`P![VGT+T0!G2+WL#_Q/TI$#TKQ+9
LOQ^Q`LUQEO<QCODLRLRNBMPM("].'!9!)P]O@Q6Q8N>POLYNHLL%:O^R6QS
QSQ*Q9QC!%OGQ+P5QTN_N3!QM"O[RCQPP,!9!%O5P$!!OTN2!IREL`P2L_R!
!1M[%POJR+REQ_%SP$!-2HLP"EO'O!%+"16!OJQHR2R%O;%9LPSO
>>EOF<<

ENJOY!!



-- 
===================================================================
| "EXPERIENCE is a hard teacher; she gives the examination first, |
| and the lesson afterwards!" - Emerson (Eric W. Bray @ PACS)     |
===================================================================
Newsgroups: comp.sys.ti