A .hes is a PC Engine game's music with the game removed: the sound engine and its data, and a 16-byte header telling a player where to call and how to set up the memory map. It is the NSF idea on a different machine. The HuC6280 addresses 2 MB through eight MPR registers, each mapping an 8 KB physical page into one eighth of the 64 KB the CPU can see, so the header carries eight bytes of MPR presets where an NSF carries eight bank numbers. Then a DATA block: a tag, a size, an address, and the bytes.
The address field. The specification calls it the block's load address in the 2 MB physical space. It is not read as one here, because in every file examined it holds 0x20, which is the offset of the block's own bytes in the file; the MPR presets are what place the bytes in memory. It is reported as the field it is.
The size field is a claim. A block can declare a whole cartridge and the file hold a page of it; a reader takes what is there.
Four bytes at zero. There is no version other than 0.