Headers are a mess and the way Asar (the executable) handles it right now is that headers are determined by file name even though this has caused more problems than it solved. One solution is a better way to determine the header (e.g. disregard the first size % 0x8000 bytes of the ROM) but it also would be nice for the user to specify the header size manually as a command line parameter (e.g. -hd, -header), ideally as a number so you can specify how large the ROM's header is, for finer control.