Those MY2009/10 Impreza (110 kW) and Forester (108 kW) ROMs are almost identical.
Binary comparison result: Only 1292 bytes differ.
Spreadsheet (exported from OpenOffice.org Calc) can be downloaded here: Impreza_JZ2F401A_vs_Forester_JP3F501A.xls.zip. Rename to .zip and extract! Update: File position listed by cmp starts at one instead of zero. This hasn’t been corrected in the XLS file yet.
Difference list was created using standard Unix command cmp, then imported into Spreadsheet application.
Unix/Linux terminal commands:
file1='2009_2010_Impreza_2.0_Diesel_6MT_EDM_JZ2F401A.rom' file2='2009_2010_Forester_2.0_Diesel_6MT_EDM_JP3F501A.rom' cmp -l "$file1" "$file2" > Impreza_JZ2F401A_vs_Forester_JP3F501A.txt
Important: cmp outputs file position in decimal, starting at one, content bytes in octal!
Result looks like this, three columns: address (dec), byte1 (oct), byte2 (oct)
16389 132 120
16390 121 106
16391 62 63
1047482 127 114
1047483 66 203
1047484 244 11
Apps like OpenOffice.org Calc can import such text file. Then you might want to use available functions like DEC2HEX, OCT2HEX, CHAR, … for number conversions.