lunaticlabs
Pardon my ignorance as far as using IDA and disassembling this. The processor is a Mitsubishi M32R right? Which variation of the processor did you use? You also said the code starts at offset 0x04000000, but the firmware binary isn't that large. Are you mapping the sections to different addresses?
On the HF10 the processor is a M32R, whereas on the HV30 the processor is a FR71 (or so it seems).
The FW file contains several sections of code/data; these sections are loaded to specific places in the processor's address space, it is apparent by looking at the cross references that are present in the data and code.
So yes the various pieces of binary are mapped to different addresses, more specifically it looks like for both processors the first section is mapped to 0x04000000.
There is a different section which composes the first 0x00200000 bytes of the FW update file in both the update files for the HF10 and HV30. Recently we discovered that this section contains data and code for a different processor core (MIPS) and it seems to be mapped to the address 0xBFA00000.
Cheers,
Jollyroger