home *** CD-ROM | disk | FTP | other *** search
- {
- Sadly, the 3d.zip file was corrupt again. Please use my programs here and
- generate a DATA.HEX include file. Your post had lines that were uneven and
- obviously missing data. An include file made by ZIP2HEX will be even and
- verifiable. HEX2ZIP will create the original binary file renamed BINARY.ZIP.
- I noticed your zip file was less than 20k and its source code contents were
- over 100k. The include file will always be four times the size of the zip due
- to formatting with commas and dollar symbols. A smarter version should use
- LONGINTS instead of BYTES to gain a 60% savings.
- { These programs can be added to SWAG }
- PROGRAM Hex2Zip;
- { Converts hex data file less than 64k in size into binary equivalent }
- { 1994 Freeware v1.2 Hex-to-Binary file convertor by John Howard }
- {$i DATA.HEX}
- (* layout of DATA.HEX include file is
- CONST
- { Size is equal to FILESIZE(BINARY) }
- HEX_DATA : ARRAY[1..Size] OF BYTE = (
- { i.e. hex data such as $00,$A2,$FF,.. } );
- *)
- VAR
- BINARY : FILE;
- BEGIN
- ASSIGN(BINARY,'BINARY.ZIP');
- REWRITE(BINARY,1);
- BLOCKWRITE(BINARY,HEX_DATA,SIZEOF(HEX_DATA));
- CLOSE(BINARY);
- WRITELN('Data was converted to your file called BINARY.ZIP');
- END.
-
- PROGRAM Zip2Hex;
- { Converts binary file less than 64k in size into hex data file equivalent }
- { 1994 Freeware v1.2 Binary-to-Hex data convertor by John Howard }
-
- FUNCTION HexByte(B : Byte) : String;
- CONST
- HexDigits : ARRAY[0..15] OF Char = '0123456789ABCDEF';
- VAR Temp : String;
- BEGIN
- Temp[0] := #2;
- Temp[1] := HexDigits[B SHR 4];
- Temp[2] := HexDigits[B AND $F];
- HexByte := Temp;
- END;
-
- VAR
- BINARY : FILE;
- HEXFILE : TEXT;
- Hex_Byte : BYTE;
- Size : LONGINT;
- i : WORD;
- BEGIN
- IF ParamStr(1) = '?' THEN
- BEGIN
- WRITELN('Howard International, P.O. Box 34633, NKC, MO 64116 USA');
- WRITELN('1994 Freeware v1.2 Binary-to-Hex data convertor');
- WRITELN('Syntax: zip2hex.exe [filename]');
- WRITELN('Filename is optional, the default is BINARY.ZIP');
- Halt;
- END;
-
- IF ParamCount = 0 THEN
- ASSIGN(BINARY,'BINARY.ZIP')
- ELSE
- ASSIGN(BINARY,ParamStr(1));
-
- RESET(BINARY,1);
- ASSIGN(HEXFILE,'DATA.HEX');
- REWRITE(HEXFILE);
-
- Size := FILESIZE(BINARY);
- WRITELN(HEXFILE, 'CONST HEX_DATA : ARRAY[1..', Size,'] OF BYTE = (');
-
- BLOCKREAD(BINARY,Hex_Byte,SIZEOF(Hex_Byte));
- WRITE(HEXFILE, ' $');
- WRITE(HEXFILE,HEXBYTE(Hex_Byte));
- FOR i := 2 TO Size DO
- BEGIN
- BLOCKREAD(BINARY,Hex_Byte,SIZEOF(Hex_Byte));
- WRITE(HEXFILE, ',$');
- WRITE(HEXFILE,HEXBYTE(Hex_Byte));
- IF (i MOD 16 = 0) THEN WRITELN(HEXFILE);
- END;
- WRITELN(HEXFILE, ');');
-
- CLOSE(HEXFILE);
- CLOSE(BINARY);
- WRITELN('Your BINARY ZIP was converted to DATA.HEX include file.');
- END.
-