A curious anomoly has arisen when comparing my output with Nyets m box data:
I'll use KFZW2 - ignition map.
address x axis y axis
Spen 0x811d32 0x8100ff 0x8100c2
Nye 0x11D32 0x100FF 0x12B04
As you can see we disagree on the Y axis. Y axis in the xdf is RPM.
I offer up the following as evidence of why I am right:
Looking at the larger window at the back. r12 is loaded with 0x11d32. The scanning routine called by calls 0, unk_78B8 just looks in address range 0x81 + r12. This is the map itself being loaded.
Just under the map being loaded r13 is loaded with 0xfe. The routine at unk_78B8 treats r13 as a scale for the map. Again it looks at 0x81+r13 as before. This scale is the % load. The scale contains it's own length as the first byte, so the actual scale starts at 0x8100ff.
Now I differ on the remaining scale, the RPM scale. You can see the unk_78B8 routine being primed with the RPM by loading it in to r14. The ram address is 0x380f46.
Searching for writes to 0x380f46 reveals only one write. This is shown in the other window. Following the same logic as above we can see r12 loaded with 0xc1 before the scanning routine at unk_75d2 is called. This corresponds to a search at 0x8100c1 (and taking care of the byte for length gives 0x8100c2)
Therefore I assert that the remaining scale is at 0x8100c2 and is in bytes. In some other roms this scale is in words and has a different scanning routine.
There is a nice scale at 0x8100c1, of length 0x10. This scale is in bytes. It all seems to fit to me, but it would mean the M xdf is incorrectly scaled in some ignition maps.
What do you think? Have I missed something?