ConvertBinFileToHexFile.bas

July 13th, 2009

Author: Robert Wishlaw

  1. $COMMENT
  2. ConvertBinFileToHexFile.bas
  3. written by Robert Wishlaw
  4. July 13, 2009
  5. Usage: ConvertBinFileToHexFile BinFileIn.bin HexFileOut.hex
  6. $COMMENT
  7.  
  8. DIM TheBinFileName$
  9. TheBinFileName$ = COMMAND$(1)
  10. DIM TheBinFileLen%
  11. TheBinFileLen% = LOF(TheBinFileName$)
  12. DIM TheBinFile$ * TheBinFileLen%
  13. OPEN TheBinFileName$ FOR BINARY AS TheBinFileIn
  14. GET$ TheBinFileIn, TheBinFile$, TheBinFileLen%
  15.  
  16. DIM TheHexFileName$
  17. TheHexFileName$ = COMMAND$(2)
  18. OPEN TheHexFileName$ FOR BINARY NEW AS TheHexFileOut
  19.  
  20. DIM i%
  21. DIM str1$
  22.  
  23. FOR i% = 0 TO TheBinFileLen% - 1
  24.  
  25.   str1$ = HEX$((byte)TheBinFile[i])
  26. ' use the line above or, for more speed, inline the C
  27. ' ! sprintf(str1,"%X",(byte)TheBinFile[i]);
  28. ' Use %X for capital HEX letters or
  29. ' use %x for lower case HEX letters
  30.  
  31.   IF (byte)TheBinFile[i] < 16 THEN
  32.     str1$ = "0" & str1$
  33.   END IF
  34.  
  35. ' I have found that writing directly to disk is much
  36. ' faster than concatenating a string and then
  37. ' writing that string to disk.
  38. ' The disk cache is very efficient. YMMV.
  39.   PUT$ TheHexFileOut, str1$, 2
  40.  
  41. NEXT i%
  42.  
  43. CLOSE TheHexFileOut

John Spikowski Snippets