I've written a small hex file parser that might be useful for understanding these files. I've found it so useful, I've decided to made it available for free.
It will expand and examine each line in the hex file, and display a much easier to understand breakdown of each line, including the full load address, all data, and even character data in a dump-like format.
Please note : This is NOT a disassembler or reverse assembler or anything like that. It's a simple tool to help eliminate the mindless tedium of counting ASCII characters and adding base addresses. And I'm not planning on making such a tool, there are better alternatives freely available!
The formatter is a single windows executable, and it should run on most windows systems. There's no registry or installation, it's a single standalone executable that can be used as-is. If you do have problems running it, I'm happy to help figure out something to get you running. You may PM me here, or send email to the address in the zip file. Please remember that you get the exact level of support you pay for - and since it's free software, that's the support level you'll get!
If you'd like to try it, feel free to download the latest version (1.1.3, build 69) from my website's software section. The URL is here. The version number will change as I expand it and fix any issues and add features, but the URL will never change.
By default, the tool will save each file examined in a simple history list text file in the same directory as the tool's exe. This allows you to re-open or examine previously viewed files. That's handy, since many compilers and language toolsets put their project files all over the place!
As an example, here's the hex code (from one of my first BoostC projects!) :
When parsed, you'll get the following information:
====================================== Formatted file contents ==============================
Line 1 : [XLin] New high address offset : $0000 (New base start address : $00000000)
Line 2 : [Data] Address : $00000000 Data : 49,EF,00,F0 : I
Line 3 : [Data] Address : $00000008 Data : 02,52,00,00,01,E1,12,00 : R
Line 4 : [Data] Address : $00000010 Data : F9,0E,FF,0F,D8,A4,FD,D7,00,00,02,2E,F9,D7,12,00 : .
Line 5 : [Data] Address : $00000020 Data : 02,52,00,00,01,E1,12,00,18,0E,FF,0F,D8,A4,FD,D7 : R
Line 6 : [Data] Address : $00000030 Data : 00,00,02,2E,F9,D7,12,00,92,68,3F,0E,93,6E,90,0E : . h? n
Line 7 : [Data] Address : $00000040 Data : 94,6E,95,6A,03,0E,96,6E,12,00,1C,EC,00,F0,81,8C : n j n
Line 8 : [Data] Address : $00000050 Data : 81,8E,FA,0E,02,6E,04,EC,00,F0,81,9C,FA,0E,02,6E : n n
Line 9 : [Data] Address : $00000060 Data : 04,EC,00,F0,81,8C,81,9E,FA,0E,02,6E,04,EC,00,F0 : n
Line 10 : [Data] Address : $00000070 Data : 81,9C,FA,0E,02,6E,04,EC,00,F0,01,6A,FF,0E,01,60 : n j `
Line 11 : [Data] Address : $00000080 Data : E6,D7,01,50,83,6E,80,0E,02,6E,10,EC,00,F0,01,2A : P n n *
Line 12 : [Data] Address : $00000090 Data : F5,D7,25,EF,00,F0 : %
Line 13 : [XLin] New high address offset : $0030 (New base start address : $00300000)
Line 14 : [Data] Address : $00300000 Data : FF,32,E3,F4,FF,F9,BB,FF,FF,FF,FF,FF,FF,FF : 2
Line 15 : [EndF] *** EOF Record ***
==================================== END formatted file contents ============================
You'll note that the config fuse addresses are clearly provided, as well as other things you might find useful (like data characters!).
I'm currently working on configuration options to allow you to configure the tool to suit you, including a shorter/nicer address & data format, justification, and colours/fonts. I'll post here when/if I get a chance to get these features working.
If you download it and find any problems, please let me know, and I'll get them fixed ASAP.
I hope this is useful!