Compromise please! 0-padded hex with fixed offsets gives
a human readable file that is also _very_ machine readable.
The headings are no problem: add enough spaces for future expansion.
Maybe even let heading+padding total 512 bytes. That way programs
can just seek past the heading to get to the data at some fixed offset.