1 REM BIN-HX.BA converts .CO type binary files to intel hex formatted text and vice versa, for UP/DOWN loading with TELCOM. 2 REM See BIN-HX.DOC for instructions. 3 REM James Yi 73327,1653 - 11/13/87 4 DEFINTA-J:J=256:DIMB(J) 5 FORC=0TO7:B=C*8:B(B+6)=1:B(B+198)=1:B(B+194)=2:B(B+196)=2:NEXT:FORC=0TO3:B=C*16:B(B+1)=2:NEXT 6 B(211)=1:B(219)=1:B(221)=2:B(195)=2:B(205)=2:B(40)=1:B(56)=1:B(253)=2:B(34)=2:B(50)=2:B(42)=2:B(58)=2 7 CLS:CLOSE:FILES:PRINT"L'oad from Hex","S'ave Bin as Hex","Q'uit":GOSUB26:IFR$="L"THEN15 8 IFR$<>"S"THENMENUELSEINPUT"CO File";F$:IFF$=""THENINPUT"Top";T:INPUT"End";L:L=L-T+1:INPUT"Exe";X:GOTO10 9 LOADMF$:M=62715-1491*(PEEK(1)<>171):T=PEEK(M)+PEEK(M+1)*J:L=PEEK(M+2)+PEEK(M+3)*J:X=PEEK(M+4)+PEEK(M+5)*J 10 INPUT"Hex Output File";F$:OPENF$FOROUTPUTAS1:K=T:G=1:GOSUB12:K=L:G=1:GOSUB12:K=X:G=1:GOSUB12 11 FORM=TTOT+L-1:A=PEEK(M):K=A:GOSUB12:PRINTT+L-M-1;CHR$(13);:NEXT:PRINT#1,:BEEP:RUN 12 H=K/J:K=K-H*J 13 F=K/16:PRINT#1,CHR$(F+48-7*(F>9))+CHR$(KMOD16+48-7*(KMOD16>9));:I=I+1:IFI>63THENPRINT#1,:I=0 14 IFGTHENG=0:K=H:GOTO13ELSERETURN 15 INPUT"Hex Input File";F$:OPENF$FORINPUTAS1 16 GOSUB24:T=K:GOSUB24:T=T+K*J:GOSUB24:L=K:GOSUB24:L=L+K*J:GOSUB24:X=K:GOSUB24:X=X+K*J 17 V=0:W=-1:PRINT"Top:"T:PRINT"End:"L+T-1:PRINT"Exe:"X:INPUT"Data Top";V:INPUT"Data End";W 18 S=T:PRINT"Relocate? ";:GOSUB26:IFR$="Y"THENINPUT"New Addr";S:PRINT"Ending :"L+S-1,"Ok? ";:GOSUB26:IFR$<>"Y"THEN18 19 P=S-T:M=S 20 GOSUB24:A=K:D=B(A):IFM>=V+PANDM<=W+PTHEND=0:GOTO22 21 IFDTHENGOSUB24:B=K:IFD=2THENGOSUB24:C=K:K=C*J+B:IFT<=KANDL+T>KTHENK=K+P:C=K/J:B=K-C*J 22 POKEM,A:IFDTHENPOKEM+1,B:IFD=2THENPOKEM+2,C 23 M=M+D+1:PRINTS+L-M;CHR$(13);:IFM""THENSAVEMS$,S,S+L-1,-(X+P)*(X>0):RUNELSERUN 24 G=1 25 H$=INPUT$(1,1):F=ASC(H$)-48:IFF<0THEN25ELSEF=F+7*(F>9):IFGTHENK=16*F:G=0:GOTO25ELSEK=K+F:RETURN 26 R$=CHR$(ASC(INPUT$(1))AND223):PRINTR$:RETURN