This started out as a PM conversation with Turbofied, whose Outback ROM isn't yet defined. I have a theory that might make it possible to create a definition for that ROM, based on a similar ROM, using a hex editor rather than IDA. At least, a partial definition should be possible - maybe not the whole thing.
His ROM is D2UH001T, and there's a definition available for D2UH001M that doesn't quite match up. Creating a new definition by simply inheriting from D2UH001M shows a lot of garbage in a lot of table. But amid the garbage in the fuel table, you can see some familiar sequences of numbers.
So here's the sequence of steps that I propose:
1. Get copies of D2UH001M (the "known" ROM) and D2UH001T (the "new" ROM).
2. Open both in a hex editor.
3. Open EcuFlash's definition for the known ROM, and for each table of interest, find the corresponding data in that ROM's hex editor, for the table rows, columns, and data.
4. Search for the same sequences of bytes in the new ROM. If you find an exact match, cool. If not, search for similar sequences of bytes instead - this will take some creativity and judgement.
5. Repeat for all tables of interest.
6. Post results here for a sanity check.
I can't promise anything, but I suspect that you'll be able to find most of the critical tables this way - fueling, timing, boost control, probably quite a few others.
See the "common patterns in the code" section of "Getting started with IDA and a 32-bit ROM" for more information about how tables are defined:
viewtopic.php?f=25&t=6303More recommended reading:
Ordered list of free hex editors:
http://www.techsupportalert.com/best-fr ... editor.htmUn-ordered list of hex editors:
http://www.tech-faq.com/hex-editor.html