[comp.sys.ibm.pc] PD Binary to Hex file Converter

ir491@sdcc6.ucsd.EDU (ir491) (09/14/87)

I am looking for a public domain MS/PCDOS utility that will convert
a binary file to a Hex file that can be used with an EPROM programmer.
Can you point me to one, or provide me with a uuencoded version via
email? Thanks.


Harry Bluestein
UCSD Medical Center
San Diego, CA 92103

arpa: ir491@sdcc6.UCSD.edu
uucp: {ucbvax,ihnp4}!sdcsvax!sdcc6!ir491

tr@wind.bellcore.com (tom reingold) (09/15/87)

In article <3346@sdcc6.ucsd.EDU> ir491@sdcc6.ucsd.EDU (ir491) writes:
$ I am looking for a public domain MS/PCDOS utility that will convert
$ a binary file to a Hex file that can be used with an EPROM programmer.
$ Can you point me to one, or provide me with a uuencoded version via
$ email? Thanks.
$ 
$ 
$ Harry Bluestein
$ UCSD Medical Center
$ San Diego, CA 92103
$ 
$ arpa: ir491@sdcc6.UCSD.edu
$ uucp: {ucbvax,ihnp4}!sdcsvax!sdcc6!ir491

I probably need some context to understand your query
full, but this is off the cuff ...

#include <stdio.h>
main()
{
	int c;
	while ((c=getchar()) != EOF)
		printf("%x", c);
}

Name:		Tom Reingold
Disclaimer:	Nothing I say is an opinion.
INTERNET:       tr@bellcore.bellcore.com
UUCP: 		<backbone>!bellcore!tr

kai@ihlpa.ATT.COM (Irwin) (09/15/87)

In article <3346@sdcc6.ucsd.EDU>, ir491@sdcc6.ucsd.EDU (ir491) writes:
> I am looking for a public domain MS/PCDOS utility that will convert
> a binary file to a Hex file that can be used with an EPROM programmer.
> Can you point me to one, or provide me with a uuencoded version via
> email? Thanks.
> 
> Harry Bluestein
> UCSD Medical Center
> San Diego, CA 92103

I like to know as well, and I wouldn't mind a utility to convert hex to
Intel (asciized) hex, I know its easy but I'm too lazy to write it myself!



Ken A. Irwin
AT&T Bell Labs, Naperville
IHP 1A332
(312) 416-4485
...!ihlpa!kai

mrk@gvgspd.UUCP (Michael R. Kesti) (09/15/87)

In article <2497@bellcore.bellcore.com> tr@wind.UUCP (tom reingold) writes:
>I probably need some context to understand your query
>full, but this is off the cuff ...
>
>#include <stdio.h>
>main()
>{
>	int c;
>	while ((c=getchar()) != EOF)
>		printf("%x", c);
>}

This is close, but bear in mind that HEX file formats typically include such
mundane stuff such as record marks, address fields, byte counts, and
checksums.  I have found that a good source of documentation for these
formats is the manual from our Data I/O 29B programmer.  Armed with this
information and Tom's program fragment, writing this function should not be
too much trouble.




-- 
===================================================================
Michael Kesti		Grass Valley Group, Inc.
P.O. Box 1114   	Grass Valley, CA  95945
UUCP:	...!tektronix!gvgpsa!gvgspd!mrk

onn@utgpu.UUCP (09/17/87)

There have been several requests for this.  Anyone interested in a program
to convert binary files to Intel Load File Format (Ascii hex) please reply
to me via email.   I have such a beast, taken from a PD assembler I am writing.

Brian.

--------------
Brian A. Onn
University of Toronto Computing Services
Erindale College
...{utzoo, ihnp4, decvax}!utcs!onn
-- 
--------------
Brian A. Onn
University of Toronto Computing Services
Erindale College
...{utzoo, ihnp4, decvax}!utcs!onn

del@pilchuck.Data-IO.COM (Erik Lindberg) (09/18/87)

Sometimes I am amazed at how much NULL traffic is generated by someone's
request for information or software. Is it just post-mania, or is BBS
chatter syndrome infecting the usenet?

Anyway, here is a simple little program which can be used on any machine
with a C compiler and redirectable output (even 8 bitters!) and will work
with any of the multitude of Data I/O programmers I am aware of, and most
likely any programmer by any manufacturer, for that matter, since I think
they all support this format (Intel Hex format).

I don't deal with byte order here, but that should only be a concern if
you are doing word-wide programming on a gang-banger (in which case, just
swap the devices in their sockets, if necessary :-) And don't forget Intel
Hex format only has a 16 bit address field, so no files > 64k are allowed.

#	This is a shell archive.
#	Remove everything above and including the cut line.
#	Then run the rest of the file through sh.
#----cut here-----cut here-----cut here-----cut here----#
#!/bin/sh
# shar:    Shell Archiver
#	Run the following text with /bin/sh to create:
#	format83.uu
#	format83.c
#	read.me
# This archive created: Thu Sep 17 16:50:15 1987
# By:	Erik Lindberg
echo shar: extracting format83.uu
sed 's/^XX//' << \HUGS > format83.uu
XXbegin 666 format83.com
XXMZW*0OPH ,\FL"L!T'SP@=!L\"707+#!X#I@[QW,)D??G<@0#R'/ANL$ ZR2)
XXM#O0"P[HL >L:BQZ( ($_JE5U#8O$*\-V!SLFC@!W <.ZF "T"<TAN $ 4.@ 
XXM +0PS2$\ G()B^R*1@*T3,TA_S:2 #/ 4,OZN. >N00 T^B,R0/!CMB,!I( 
XXMB]@K'I( B1Z0 ":+'@( *]B!^P 0<@.[_P^+T /30K$$T^..T(OC@>O(!('[
XXM  )W!;JK .N3^[0PS2&CE  \ G,%NMX ZX*,P([8C-".P+Z  /RL,N2+R+_(
XXM!/.D,L"JC-".V$>!Y_[_B3Z( ,<%JE6^R 2[ @"L/#UU"H,^] ( = /H]OX*
XXMP'0_NB )/"!TYCP)=.(\(G0$/"=U!8K0BO!&@_M =@:Z^0#I'/].B;=$ (/#
XXM JP*P'0/.L)T!#K&=?,RP(A$_^NNT>N)'D( BQ[T @O;=0.[ ""!^P "<P.[
XXM  *)'O0" QZ( '(K@\,1<B:!X_#_B1Z, (D>C@"Q!-/KB1Z*  ,>D ".!I( 
XXM^K1*S2$>!W,'^[JK .FK_HLFC@#[@S[R @!T(;CP_RL&C !0Z!P26SW__W0*
XXM!0( 4.B%$UOK!L<&\@(  .@D !X'N<@$OP $*\_C!#+ \ZJX1 !0_S9" .A*
XXM .A#_C/ 4.A[$( ^E  #<CF.!I( )HX&+  S_S+ N?___/*NKG7[@\<"B_>Y
XXM___RKO?9@>'^_ULKX8O\!A\6!_.D%A^))D0 _^/#5597@^QBB>4QP(E& HM.
XXM:HE.!M'A48E.5.@$$HGLB<<)_W4#Z:L!@WYJ '\#Z9(!BT9LB490BTY4 \B)
XXM3E*+7E"+!XE&3(E&5HG&BD3_/")U ^DO 3PG=0/I* &X*@!0BT964.CZ#XGL
XXM"<!U%;@_ %"+7E#_-^CH#XGL"<!U ^D" 8M>4/\WZ/X/B>R)QHM>4(L' _ [
XXM\'(FB@0\7'0@/"]T'#PZ=!A.BUY0BP<[\'(.B@0\7'0(/"]T!#PZ=>C'1@0 
XXM (M>4(L'._!R$XGQ*\A!B4X$45"-1@A0Z!D0B>R+=@3&0@@ ,<!0BUY0_S?H
XXM+!")[(E&  G =0/IM0"+=@;1YHM& M'@B49.BT8 @\ >4(E&8.AP#XGL T8$
XXM0%#H_A")[(E&3 G =0/II "-3@A14.B<#XGLBT9@4/]V3.AA#XGL.W9.?Q"#
XXMQA165^@]$8GLB<<)P'1YBT9,N0(  4Y.BUX"_T8"T>,#WXD'Z/(/B48 "<!U
XXMDXO&F2O"T?B)1@;K+XM& CM&!GP6@T8&"HM&!M'@4%?H]!")[(G'"<!T,(M>
XXM4(L'BUX"_T8"T>,#WXD'@T90 HM&4CM&4'8#Z7S^5_]V N@; (GL@\1B7UY=
XXMP_]V;/]V:N@) (GL@\1B7UY=PU565X/L!(GE,<")1@*)QKA* 5!&B?/1XP->
XXM#O\WZ!H,B>RC@@0)P'4?B?/1XP->#O\WN$T!4+CV 5#H>0&)[+@! %#H$ Z)
XXM[#'_QP8 ! ($,?;_-H($Z+D-B>R)1@"#^/]T1HM& +D$ -/X4.CA (GLBQX 
XXM!/\&  2(!_]V .C/ (GLBQX !/\&  2(!XM&  ''1H/^$'T1_S:"!.AS#8GL
XXMB48 @_C_=;H)]G4#Z8< BT8"N0@ T_@!QXM& C#D <<!]\<&  0"!+CH 5"X
XXM.@!0Z.P,B>RX @!05NB1 (GLN 0 4/]V NB% (GL 78"N ( 4#' 4.AV (GL
XXMB\;1X(G&"<!T&[CH 5"+'@ $_P8 !(H',.10Z*<,B>Q."?9UY;@" %"+Q_?8
XXM4.A# (GLN&<!4.BV (GL@WX _W0#Z0C_N&D!4.BD (GL@\0$7UY=PU6)Y8%F
XXM! \ BT8$@_@*?0:#1@0PZP2#1@0WBT8$7<-5B>7_3@9T$?]V!HM&!+D$ -/X
XXM4.CI_XGLN.@!4(M&!"4/ %#HNO]$1##D4.@B#(GL7<-5B>7_-H0$BD8$,.10
XXMZ X,B>Q=PU6)Y8M&!*.$!(U&"%#_=@:XP 90Z+< B>Q=PU6)Y8M&!*.$!/]V
XXM"/]V!KC !E#HG0")[%W#58GEC48&4/]V!.@$ (GL7<-55HGEN.@!HX0$_W8(
XXM_W8&N< &4>AQ (GLB<;V!N\! 70)N.@!4.C.#XGLB\9>7<-5B>6*1@2+'H8$
XXM_P:&!(@',.1=PU6)Y8U&"%#_=@;_=@3H! ")[%W#55:)Y8M&!J.&!/]V"O]V
XXM"+A*!U#H&0")[(G&,< [\'D"B<:+7@8#WL8' (O&7EW#5597@^Q0B>7'1@  
XXM (M>6O]&6HH',.2)1@0)P'4#Z7\(BT8$@_@E=!-0_U98B>P)P'D#Z70(_T8 
XXMZ4 (N'8!B48.QT9$  "+7EK_1EJ*!S#DB48$"<!T/(M&!+]^ ;D$ !X'_/*O
XXM=2S_90: 3D0!BUY:_T9:B@<PY(E&! G =!3KUH!.1 +KYX!.1 3KX8!.1 CK
XXMVS' B480@WX$*G4HBUY<BP^)3A"#1EP".\AY"8!.1 'WV8E.$(M>6O]&6HH'
XXM,.2)1@3K/H-^!#!U!(!.1$#_=@3H=A.)[ G ="B+1A"Y"@#WZ0-&!(/ T(E&
XXM$(M>6O]&6HH',.2)1@10Z$X3B>P)P'78,<")1A2#?@0N=7J 3D2 BUY:_T9:
XXMB@\P[8E.!(/Y*G4FBUY<BP^)3A2#1EP".\AY!X!F1'^)1A2+7EK_1EJ*!S#D
XXMB48$ZSZ#?@0P=02 3D1 _W8$Z/$2B>P)P'0HBT84N0H ]^D#1@2#P-")1A2+
XXM7EK_1EJ*!S#DB48$4.C)$HGL"<!UV(-^!&QU$X!.1!"+7EK_1EJ*!S#DB48$
XXMZQ>#?@1,=1& 3D0@BUY:_T9:B@<PY(E&!(M&!+^. ;D1 !X'_/*O= /IW0;_
XXM92"+7ER+!XE&0(-&7 )0Z$ *B>R)1D+V1D2 =0/IM06+3A0[R'T#B4Y",< Y
XXM1D)X ^FA!8E&0NF;!<9&%B7K#(M>7(H'B$86@T9< HU&%HE&0,=&0@$ Z7L%
XXMOPH _W9$C49<4.A_!HGLB48(B5X&B48,B5X*,<DQ]H?6Z+L2A]9Y%,=&- $ 
XXM]]CWVX/8 (E&#(E>"NL%QT8T  #_=D3_=C3H]P:)[(E&#NMAOP( ZPB_" #K
XXM [\* (M&1(#, E"-1EQ0Z" &B>R)1@R)7@KK/(!.10&_$ "+1D2 S )0C49<
XXM4.@!!HGLB48,B5X*BTY$]L$(=!>)P0G9=!&#?@18=06X=P'K [AZ 8E&#HU&
XXM,XE&0(M&# M&"G1NB\>9B<.)T(E&2HE>2(M&1"4  8E&3(M&#(M>"HM.2HMV
XXM2(?6Z&41A]:)\ 0PBUY B <\.783@WY, '0%N < ZP.X)P"+7D  !XM.2HMV
XXM2(M&#(M>"H?6Z#(1B5X*B48,_TY B<$)V76M_T9 ZP:+7D#&!S"-1C0K1D")
XXM1D([1A1\ ^DV!+@> #E&%'X#B484BT84*T9"B48"BT8"_TX""<!T$_].0(M>
XXM0,8',(M& O]. @G =>V+1A2)1D+I_ /V1D2 =07'1A0& (M>7(M'!HM/ HL7
XXMBU\$B48\B5XZB4XXB58V@T9<"(UV-%:-=D96_W844%-14NBM]8GLB48^C486
XXMB49 _W9$_W8TZ',%B>R)1@Z#?D8 ?PF+7D#_1D#&!S"#?D8 ?BV+1D"-3C,[
XXMP7,CBUX^_T8^B@>+7D#_1D"(!_].1H-^1@!^"HM&0(U.,SO!<MV+1A0QR3O!
XXM?P;V1D0(='F+7D#_1D#&!RXY3D9Y,SO!?B^+1D"-3C0[P7,EBUY _T9 Q@<P
XXM_T9&_TX4,< Y1D9Y#SE&%'X*BT9 C4XT.\%RVXM&%/].% G ?BZ+1D"-3C0[
XXMP7,DBUX^_T8^B@>+7D#_1D"(!XM&%/].% G ?@J+1D"-3C0[P7+<BT9 C4X6
XXM*\&)1D*)3D#IS0+V1D2 =07'1A0& (M>7(M'!HM/ HL7BU\$B48\B5XZB4XX
XXMB58VO@@  79<C7XT5XU^1E>+?A1'5U!345+H>O2)[(E&/HU&%HE&0/]V1/]V
XXM-.A !(GLB48.BUX^_T8^B@>+7D#_1D"(!S' .484?PB+3D3VP0AT08M>0/]&
XXM0,8'+HM.%/].%#O(?BZ+1D"-3B\[P7,DBUX^_T8^B@>+7D#_1D"(!XM&%/].
XXM% G ?@J+1D"-3B\[P7+<BT8$BUY _T9 B >+1CS1X M&.@M&. M&-G0#_TY&
XXM_W9&C49 4.A/ XGLBT9 C4X6*\&)1D*)3D#IV@&+1D2H@'4%QT84!@"+7ER+
XXM1P:+3P*+%XM?!(E&/(E>.HE..(E6-KX(  %V7(U^-%>-?D97_W844%-14NB(
XXM\XGLB48^C486B49 _W9$_W8TZ$X#B>R)1@Z+1D:#^/U\"4@[1A1_ ^F< (M>
XXM/O]&/HH'BUY _T9 B ?_3A2+1A0QR3O!?P>+1D2H"'12BUY _T9 Q@<NBT84
XXM_TX4.\%^+HM&0(U.+SO!<R2+7C[_1CZ*!XM>0/]&0(@'BT84_TX4"<!^"HM&
XXM0(U.+SO!<MSV1D0(=0O_=D#H\ *)[(E&0(-^!&=U!;AE .L#N$4 BUY _T9 
XXMB >+1D9(4(U&0%#H/0*)[.FU (-^1@!_"8M>0/]&0,8',(M&1O].1@G ?C&+
XXM1D"-3C,[P7,G_TX4BUX^_T8^B@>+7D#_1D"(!XM&1O].1@G ?@J+1D"-3C,[
XXMP7+9BT84,<D[P7\&]D9$"'1<BUY _T9 Q@<N.\%^/HM&0(U.-#O!<S2#?D;_
XXM?0N+7D#&!S#_1D;K$(M>/O]&/HH'BUY B ?_3A3_1D"#?A0 ?@J+1D"-3C0[
XXMP7+,]D9$"'4+_W9 Z!0"B>R)1D"+1D"-3A8KP8E&0HE.0.L1BUY<BS>#1EP"
XXMBT8 B03IV0#_=@[H=P2)[(G&B? #1D(!1@"+3A KR(E.$O9&1$!T)(M>#H _
XXM '0<BUX._S?_5EB)[ G >0/IS@#_1@Z+7@Z /P!UY(M&$@G ?C<!1@"+1D2H
XXM 74M)4  B49._TX2,< Y1A)X'8-^3@!T!;DP .L#N2  4?]66(GL,<D[P7G<
XXMZ84 BUX.@#\ =!F+7@[_-_]66(GL"<!X;_]&#HM>#H _ '7G,<")1@(Y1D)^
XXM'(M>0 -> O\W_U98B>P)P'A)_T8"BT8".T9"?.3V1D0!= K_3A(QP#E&$GD4
XXMBUY:_T9:B@<PY(E&! G =!/ID?>Q(%'_5EB)[#').\%YU.L*BT8 @\107UY=
XXMP[C__X/$4%]>7<-55X/L!(GEBWX*BP7V1@P0=!*)PXM' HL?B48"B5X @P4$
XXMZR&+'8L'F8G#B=")1@*)7@#V1@T"= F 9@#_@68"  "#!0*+1@*+7@"#Q 1?
XXM7<-55E>)Y8M^"HM>"(LW"?]Y"XGX]]B)Q[@M .L#N"L B]Y&B >#_V-^%HGX
XXMN60 F??Y!#"+WD:(!XO'F??YB=>+Q[D* )GW^00PB]Y&B >+QYGW^8#",(O>
XXM1H@7BUX(B3=?7EW#58GE@WX$ '0%N-(!ZQB+1@:H G0%N-0!ZPRH!'0%N-8!
XXMZP.XV %=PU565XGEBW8(@'S_,'4*B?=/3TZ /3!T^8!\_RYU 4Z+QE]>7<-5
XXM5H/L HGEON !]@0C=1J)\(/ ^HE& %#_=@K_=@CH.P")[(/$ EY=PX/&#H'^
XXM^ )RV#' @\0"7EW#58GEBUX(]D<&(W0&4^@B!8GL_W8(_W8&_W8$Z 0 B>Q=
XXMPU565X/L HGEBW8,@WX* '0Z@WX. '0TBUX*@#\ ="S'1@   (O>1HH',.2#
XXM^')T#(/X870,@_AW= SK#[\! .L3QT8  0"_ @#K"3' @\0"7UY=PX \*W4%
XXM@<\@ $: /&)T!('/0 #WQR  ="JX @!0_W8*Z,T*B>R)QH/^_W4/,<!0_W8*
XXMZ,H*B>R)QNMJ@WX  '1DZR[WQP( =$^#?@  =#JX 0!0_W8*Z)<*B>R)QH/^
XXM_W4/,<!0_W8*Z)0*B>R)QNLTN ( 4#' ,=M04U;HP@J)[(/X_W4?Z6[_,<!0
XXM_W8*Z&T*B>R)QNL-,<!0_W8*Z$\*B>R)QHM>#HEW"(/^_W4#Z43_B\>H('0"
XXM)/R)1P8QP(D'B4<,,<")1P2)1P*)V(/$ E]>7<-5B^R+1@2+7@8\"G4E]D<&
XXM0'0+L WH&P"+1@2+7@;V1P<!= [H# #_=@;H!@2#Q )=PUW_#W@25_R+?P*,
XXMPHY'#*J.PHE_ E_#4U#HA 6#Q 3#58OLBUX$_P]Y#%/HL :+Y0O =2[K[5;\
XXMBW<"C-F.7PRLCMDRY(EW O9'!D!>=!,\#733/!IU"[C__X!/!@C'!P  7<-5
XXM5HGEOMH!]D0&(W0&5N@_ XGL@\8.@?[R G+K_W8&Z,7MB>Q>7<-5B^Q7_(S8
XXMCL"+?@0SP+G___*N]]$K^8I&!O*NN   =0.+QTA?7<-5B^Q7C-B.P(M^!#/ 
XXMN?___/*NB\'WT$A?7<-5B^Q65XS8CL"+=@:+?@2+WS/ N?___/*N3XO7B_ZY
XXM___RKO?1B_KSI(O#7UY=PU6+[%97C-B.P(M^!HO?,\"Y___\\J[WT8M^!(OS
XXMB\?SI%]>7<-5B^Q65XM."/R,V([ BWX$B\>+=@8[]W,' _%. _E/_?.D_%]>
XXM7<-5@^P.B>6XB 10L!I0Z'$'B>S'1@  3HM&$HE&!HM&%(E&!(O%4%#H] :)
XXM[*@!= V+1@"CE@ QP(/$#EW#N(@$@\0.7<-5@^P.B>6XB 10L!I0Z"P'@\0$
XXMQT8  $^+Q5!0Z+H&@\0$J %T#8M& *.6 #' @\0.7<.XB 2#Q Y=PU6+[(M>
XXM!(/##X'C\/]T-8O3L033ZXO+ QZ* '(G@?O_#W<A QZ0  :.!I( M$K-(0=R
XXM$:&, (O8B1<!%HP  0Z* %W#7;C__\-5B^R+1@2+7@:#^P%T!/?C<B-0Z", 
XXMB^4+P'075XS:CL*+^(O0BTW^T>E),\#\\ZN+PE]=PS/ 7<-5B^Q65XM&! 4#
XXM "7^_ST$ ')7O0( BS;V HO.ZP:+]SOQ="B+/#L#=_1T$@/%.P-T#"O% 02+
XXM-(L+*\B)"H<%B02)-OH"C0-?7EW#/0 !<P.X  %0Z";_6SW__W0,!0( 4.B/
XXM %M?7NN7,\#KVE6+[(M&!@O =01=ZWF0BUX$"]MU"%#H>?^+Y5W#@^L"BP\%
XXM P E_O\KR'(<@_D$<A)7B_L#^(D-@\<"B0=7Z$4 7U^+1@3K//]V!NA$_XOE
XXM"\!TJ%!65XMV!(S9CL&+^(M,_CM-_G8#BTW^T>E)_/.E_W8$Z \ @\0"7UX+
XXMP%AT ^EX_UW#58OL5E>+7@0+VW1?O0( .QZ. '9<.QZ, '-6]\,! '50*]V+
XXM!XLV^@([\W('OO8"ZP*+]XL\._-S-SO[=P0[_G?PBPH#SCO+=00! NL)B4<"
XXMB3^)'(OSB3;Z HL" \8[QW4(BP6)!(L# 0(SP%]>7<.X___K]U565XGEBW8(
XXM"?9U![C__U]>7<,Q_XM,!O;!(W07]L$$=0A6Z"< B>R)Q_]T".@D!HGL"<=6
XXMZ'<!B>RX#@!0,<!05NBT!HGLB\=?7EW#55:#[ *)Y8MV"(M$!B46 (/X G4^
XXM@WP$ '4&@WP, '0RBT0"BTP$*\&)1@ )P'06_W0,4%'_= CHI06)[#M& '0$
XXM@$P&$(M$"HD$BT0$B40"ZP3'!   ]D0&$'0%N/__ZP(QP(/$ EY=PU:^V@&+
XXM1 :H(W0+]L0!= 96Z(+_1$2#Q@Z!_O("<N5>PU6)Y;@  E"#?@8 = 6X  +K
XXM [@$ %#_=@;_=@3H! ")[%W#5597B>6+=@B+?@Y6Z*4 B>SH(@6)1 R#?@P$
XXM=1>)\"W: ;D. #/2]_$%M 2)1 2_ 0#K8HM&##T  70%/0 "=4F+1@J)1 0)
XXMP'5+@S[R @!T)8O'@\ /N00 T^A0Z+@%B>R)1 P)P'4(@?\  G8(ZQF 3 : 
XXMZPU7Z"#]B>R)1 0)P'0&@$P'!.L,QT0,  "X__]?7EW#BT0$B40",<")!(M,
XXM!H'A^_P+3@R)3 :)? I?7EW#55:)Y8MV!HO>]D0'!'0ABT0$"<!T"%#HP?V)
XXM[.L2BT0,"<!T"U#HC@6)[(%D!G_[QT0$  #'1 P  %Y=PU565X/L!(GEBUX.
XXMBT<&J"!T!R3^# *)1P:+7@Z+1P:)1@(E&@"#^ )T ^D  8M& J@$="ZX 0!0
XXMC4X,48M>#O]W".CX XGLN0$ .\%T ^G5 (M>#L<'  "+1@R#Q 1?7EW#@W\$
XXM '5H@W\, '5BB<:!Y@0#"?9U [X  K\  HM>#O]W".AE!(GL"<!T!;X  >L#
XXMOP!05U8QP%#_=@[H;_Z)[ G =$JX  )05C' 4/]V#NA;_HGL"<!T-K@! %"X
XXM! !0,<!0_W8.Z$3^B>SI9/^+7@Z+=P*+1P0K\ GV=!'_=PQ64/]W".A7 XGL
XXM.\9U-HM>#HM'!(E' KD! %&-5@Q24(M>#O]W#.@ !8GLBUX._T<"BUX.BT<*
XXM2(D'BT8,@\0$7UY=PXM>#H!/!A"+7@['!P  N/__@\0$7UY=PU565X/L!(GE
XXMBW8,BT0&J"!T!R3]# &)1 :+1 :)1@(E&0"#^ %T ^FJ (-\! !U9H-\# !U
XXM8(M^ H'G! ,)_W4#OP "]\<$ '03N $ 4+@$ % QP%!6Z'C]B>SK.?]T".A+
XXM XGL"<!T [\  8'_  %T$K@ 4%!7,<!05NA3_8GL"<!T$K@  E!7,<!05NA!
XXM_8GL"<!UM/=$!@0!= /H[?R+1 2)1 +_= S_= I0_W0(Z#4"B>R)! G ?R<)
XXMP'41@$P&"(M$!J@@= J 9 ;OZP2 3 80QP0  +C__X/$!%]>7<,QP(/$!%]>
XXM7<-5B^R+7@2,!XQ/ HQ7!(Q?!EW#5E<&51Z+[)Q:4@ZX'1M0@.8,4HI&#+0U
XXMS2$&4XM>#HL'BT\$BU<&BW<(BW\*BU\"SXOL'U.+7A")!XE/!(E7!HEW"(E_
XXM"H]' IQ870=?7L-65P95'HOLG%I2#K@=&U" Y@Q2BD8,M#7-(093BUX2C@?_
XXM=P:+7@Z+!XM/!(M7!HMW"(M_"HM? A_/58OL5E<&'HM>!(L'BT\$BU<&BW<(
XXMBW\*BU\"S2$?G%.+7@:)!XE/!(E7!HEW"(E_"EB)1P)8!U]>7<-5B^Q65P8>
XXMBUX(C@?_=P:+7@2+!XM/!(M7!HMW"(M_"HM? A_-(>NZ58OL5E>+5@:*1@B*
XXM9@3-(3+D7UY=PU6)Y8M>!(J'_0(D@##D7<.+\O?FB_B+P_?A _B+P_?F ]>+
XXMV(O"PXOQB_H+RG0^5;T!  OV>!)U!X?WO1$ Z_-%T>?1U@OV>?>+R(O3,\ S
XXMVSOQ=PMR!#OZ=P4KUQO.^='3T=#1[M'?377F7<.X__^+V#/),]+#"\!Y'??8
XXM]]L=   +R7DH]]GWVH/9 .B7__?9]]J#V0##"\EYB_?9]]J#V0#H@?_WV/?;
XXM'0  P^AV__?9]]J#V0#K[#O!=0Y0,\ [VG0&=P-(ZP% 6,.T/U6+[(M>!(M6
XXM!HM.",TA<P:CE@"X__]=P[0_58OLBUX$BU8&BTX('HY>"LTA'^O?M$#KS;1 
XXMZ^.,V,-5B^RT/8I&!HM6!,TAZ\55B^PSR>L&58OLBTX&M#SKZ%6+[(M>!+0^
XXMS2'K'9!5B^Q7M%:,VX[#BWX&ZP>058OL5[1!BU8$S2%?<P+KB3/ 7<-5B^R+
XXM7@2+5@:+3@B*1@JT0LTA<PJCE@"X__^+V.L$B]B+PEW#51Z#["R+[(O5M!K-
XXM(8M6,C/)M$[-(7,*HY8 N/__B]CK!HM&'(M>&H/$+!]=PU6+[+@ 1(M>!,TA
XXM<P6CE@#K"_?"@ !T!;@! .L",\!=PU6+[%>,V([ BWX$BT8&BTX(_/.JBT8$
XXM7UW#58OLBUX$M$C-(7,%HY8 ,\!=PU6+[/]V!.CD_XOE"\!T+U?\,_^+V([ 
XXMBTX$XQV!X?\_=0.Y ! I3@31X='AT>&+Q_.KC, % !#KW%\>!XO#7<-5B^R.
XXM1@2T2<TA'@=R!#/ 7<.CE@"X__]=PU6+[,1>!+1*S2%S Z.6 (O#'@==PU6+
XXM[%97'OPS_S/VCD8$CEX&BUX(B\OC)8'A_S]U [D $"O9T>'1X='AB\?SI8S 
XXM!0 0CL",V 4 $([8Z]<?7UX>!UW#58OL5E?\'HY>!(MV!HS0CL"+?@B+3@KS
XXMI!]?7EW#58OL5E?\!HY&!(M^!HMV"(M."O.D!U]>7<,              $52
XXM4D]2.B!.54Q,('!O:6YT97( 1&%T86QI9VAT($,@,RXQ,"!3+"!W<FET=&5N
XXM(&)Y(%=A;'1E<B!"<FEG:'0     00                              
XXM                                                            
XXM                    #0I3=&%C:R!/=F5R9FQO=PT*) T*3F]T(&5N;W5G
XXM:"!M96UO<GD-"B0-"D)A9"!S=&%C:R!S:7IE('!A<F%M971E<@T*) T*1$]3
XXM(#$N>'@@;F]T('-U<'!O<G1E9 T*) T*3VYL>2 S,B!A<F=S(&%L;&]W960-
XXM"B0-"DY53$P@9G5N8W1I;VX@<&]I;G1E<@T*) T*1FQO871I;F<@<&]I;G0@
XXM;F]T(&QO861E9 T*)')B $5R<F]R(&]N(&]P96X@;V8@9FEL92 E<PH "@ Z
XXM,# P,# P,#%&1@H  #!8 #!X   M "L (  C  T() @J"# (<P E &, 9 !I
XXM &( ;P!U %@ > !P &8 90!% &< 1P!N '()J@FP"<H)R@D;"B *)0I "D0*
XXM1 I)"W@,> QK#6L-- \M "L (            $$    !            0@ !
XXM  $           !&  (  0           &   P !            0@ $  $ 
XXM                                                            
XXM                                                            
XXM                                                            
XXM                                                            
XXM                                           !   @]@(  /8"  ("
XXM @(" @(" @,# P,# @(" @(" @(" @(" @(" @("!4! 0$! 0$! 0$! 0$! 
XXM0(" @(" @(" @(! 0$! 0$! &!@8&!@8$! 0$! 0$! 0$! 0$! 0$! 0$!! 
XXM0$! 0$ H*"@H*"@@(" @(" @(" @(" @(" @(" @($! 0$ "            
XXM                                                            
XXM                                                            
XX=                                        
XX 
XXend
HUGS
if test 11975 -ne "`wc -c format83.uu`"
then
echo shar: error transmitting format83.uu '(should have been 11975 characters)'
fi
echo shar: uudecoding format83.com
uudecode format83.uu
echo shar: extracting format83.c
sed 's/^XX//' << \HUGS > format83.c
XX/*_ format83.c   Thu Sep 17 1987   Modified by: Erik Lindberg */
XX/*
XX	This program is released to the public domain. It can be
XX	used for any purpose whatsoever. If you can get some poor
XX	sucker to pay money for it, tell me your secret.
XX
XX	Prints a file to stdout in Intel HEX 83 format. I wrote this
XX	to be easy to understand, modify, and *portable*. If you want
XX	elegant, you can get there from here.
XX*/
XX
XX#include <stdio.h>
XX
XX#define REC	0x10		/* Size of a record. */
XX
XXchar *line, buffer[128];
XXFILE *infile;
XX
XXextern char hex();
XX
XXmain(argc,argv)
XXint argc;
XXchar *argv[];
XX{
XX	int c=1, address=0;
XX	int sum, i;
XX	i=0;
XX	if (!(infile = fopen(argv[++i],"rb"))) {
XX		fprintf(stderr, "Error on open of file %s\n",argv[i]);
XX		exit(1);
XX	}
XX
XX	while (c != EOF) {
XX		sum = 0;
XX		line = buffer;
XX		for (i=0; i<REC && (c=getc(infile)) != EOF; i++) {
XX			*line++ = hex(c>>4);
XX			*line++ = hex(c);
XX			sum += c;		/* Checksum each character. */
XX		}
XX		if (i) {
XX			sum += address >> 8;	/* Checksum high address byte.*/
XX			sum += address & 0xff;	/* Checksum low address byte.*/
XX			sum += i;		/* Checksum record byte count.*/
XX			line = buffer;		/* Now output the line! */
XX			putchar(':');
XX			puthex(i,2);		/* Byte count. */
XX			puthex(address,4);	/* Do address and increment */
XX			address += i;		/*    by bytes in record.   */
XX			puthex(0,2);		/* Record type.		   */
XX			for(i*=2;i;i--)		/* Then the actual data.   */
XX				putchar(*line++);
XX			puthex(0-sum,2);	/* Checksum is 1byte 2's comp.*/
XX			printf("\n");
XX		}
XX	}
XX	printf(":00000001FF\n");		/* End record. */
XX}
XX
XX/* Return ASCII hex character for binary value. */
XX
XXchar hex(c)
XXint c;
XX{
XX	if((c &= 0x000f)<10)
XX		c += '0';
XX	else
XX		c += 'A'-10;
XX	return((char) c);
XX}
XX
XX/* Put specified number of digits in ASCII hex. */
XX
XXputhex(val,digits)
XXint val,digits;
XX{
XX	if (--digits)
XX		puthex(val>>4,digits);
XX	putchar(hex(val & 0x0f));
XX}
HUGS
if test 1836 -ne "`wc -c format83.c`"
then
echo shar: error transmitting format83.c '(should have been 1836 characters)'
fi
echo shar: extracting read.me
sed 's/^XX//' << \HUGS > read.me
XX	This program will read a binary file and output in Intel ASCII Hex
XXformat to standard out. This is one of the most common translation formats
XXfor transfer to emulators and PROM programmers. This format can also be read
XXdirectly by the debugger supplied with both MSDOS and CPM if the extension
XXis ".HEX". I.E. if you use "format83 filename.bin> filename.hex" and then
XXload filename.hex with the debugger, you will be looking at your original
XXbinary file. If you modify the program, this is an excellent way to test
XXyour modifications.
XX	This program was not written to be efficient, tricky, or elegant.
XXIt was written to be easily understood, modified, and/or ported to any
XXsystem, including 8 bit systems with C compilers. Oh yeah, and it also
XXwas written because it was usefull. It is free and I am releasing it to
XXthe public domain. You can do whatever you want with it. If you can get
XXsomeone to pay you for it, you have my blessing.
XX	This program will not solve all your problems! One of the trickiest
XXparts about using the serial port of your garden variety PC is getting the
XXcabling and parameters right on the serial port. I have included a small
XXhex file (contents "hello world\n" :-) which I suggest you use to verify
XXyour connection with. Until you can "copy test.hex com1:" without getting
XXerrors, do not expect to be able to transfer anything meaningfull to your
XXprogrammer. This program *does* work, I use it exclusively for tranferring
XXbinary files to the Data I/O programmers I use here, but it was written by
XXme personally for my own use and is not supported by Data I/O. If you do use
XXthis with a Data I/O programmer, select transfer format 83 before starting.
XXIf you don't rename this program, it will impossible for you to forget :-)
HUGS
if test 1754 -ne "`wc -c read.me`"
then
echo shar: error transmitting read.me '(should have been 1754 characters)'
fi
#	End of shell archive
exit 0
-- 
del (Erik Lindberg) 
uw-beaver!tikal!pilchuck!del