Locating MUT addresses in dissasembled Colt Ralliart code
This is really short post on how to translate a MUT memory address into something you can locate in the dissasembled code.
In windows calculator, switch to programmer mode. Then to Hex.
Enter in 808000 then minus the MUT address (eg 804e90) your interested in.
Eg:
808000-804e90 = 3170
In your dissassembly program search for Immediate Value (in IDA pro for example its the binoculars icon with the blue #). Enter in 0xvalue – in above example 0x3170.
This will locate all examples of where this memory location was read or set.
If you’re wanting to log a memory address you can see in the code, but not in the MUT table, its the reverse:
Lets say its something like this (2 byte load memory address for CVT rcolt):
Using windows calculator again, hex mode :
0x808000 – 0x3164 = 0x804E9C
So the entry you’d want in the MUT table is 0x804E9C, place this where ever you think appropriate to log (you can pick any spot, just dont pick a MUT location you actually use when logging like RPM, throttle, load, knocksum .. then tell your logging program which MUT request to make to correspond with where you put it ).
In this instance its one byte of a two byte memory location for ecuload, so we’d want to write 0x804E9C and 0x804E9D into the MUT table. I normally put both of these into MUT00 and MUT01.
If you’re looking for CZT Mut 2 byte load addresses – for 49100032 and 49100033 it’s 804d30 and 804d31
Leave a comment