Here is a BASIC hexcode encoder program. -- 100 print"basic hexcode encoder-128 - craig bruce - aug 16, 1994" 110 print 120 input"filename to encode";f$ 130 input"device of filename";d 140 input"output filename";of$ 150 input"output device";od 160 print 170 open1,d,2,f$ : scratch(of$),u(od) : open2,od,3,of$+",s,w" 180 print#2,"--hexcode-begin 1 ";f$ 190 a=0 : p=0 : c=0 200 if p>0 then 230 210 print#2,mid$(hex$(a/65536),3);hex$(a-int(a/65536)*65536);":"; 220 print"bytes =";a;chr$(145) 230 get#1,a$ : s=st 240 x=asc(a$) : print#2,mid$(hex$(x),3); : p=p+1 : c=c+x : a=a+1 250 if p<32 and (sand64)=0 then 270 260 print#2,":";mid$(hex$(c-int(c/256)*256),3) : p=0 : c=0 270 if (sand64)=0 then 200 280 print#2,"--hexcode-end 1";str$(a);" nocrcxxx" 290 close2 : close1 300 print"bytes =";a -- And here is the same program in binary format, as encoded by itself (except that the CRC-32 value is filled in here). --hexcode-begin 1 hex.bas 000000:011c431c64009922424153494320484558434f444520454e434f4445522d3132:cd 000020:3820202d2020435241494720425255434520202d20204155472031362c203139:a3 000040:39342200491c6e009900661c7800852246494c454e414d4520544f20454e434f:e5 000060:4445223b462400821c82008522444556494345204f462046494c454e414d4522:ff 000080:3b44009d1c8c0085224f55545055542046494c454e414d45223b4f462400b51c:a4 0000a0:960085224f555450555420444556494345223b4f4400bb1ca0009900ed1caa00:b1 0000c0:9f312c442c322c4624203a20f2284f4624292c55284f4429203a209f322c4f44:19 0000e0:2c332c4f4624aa222c532c5722000c1db40098322c222d2d484558434f44452d:b0 000100:424547494e203120223b462400201dbe0041b230203a2050b230203a2043b230:06 000120:00301dc8008b2050b13020a72032333000621dd20098322cca28d22841ad3635:f9 000140:353336292c33293bd22841abb52841ad363535333629ac3635353336293b223a:e2 000160:223b007a1ddc0099224259544553203d223b413bc72831343529008c1de600a1:2a 000180:23312c4124203a2053b2535400c01df00058b2c628412429203a2098322cca28:c0 0001a0:d22858292c33293b203a2050b250aa31203a2043b243aa58203a2041b241aa31:22 0001c0:00dc1dfa008b2050b3333220af202853af363429b23020a720323730000a1e04:40 0001e0:0198322c223a223bca28d22843abb52843ad32353629ac323536292c3329203a:71 000200:2050b230203a2043b230001f1e0e018b202853af363429b23020a72032303000:00 000220:491e180198322c222d2d484558434f44452d454e442031223bc42841293b2220:77 000240:4e4f4352435858582200551e2201a032203a20a03100661e2c01992242595445:f2 000260:53203d223b41000000:4e --hexcode-end 1 617 a912905c