Before WinOLS searches for maps, it analyses the binary dump at the data type level. Different memory regions typically contain different data types: code segments (machine code), data tables (maps, axes), and configuration data (checksums, identification blocks). WinOLS uses statistical distribution analysis to separate code from data — machine code has different byte distributions than map data.
In data regions, WinOLS looks for statistical properties typical of maps:
Axis monotonicity: Axis values are almost always strictly monotonically increasing. A region with 8–32 strictly increasing values in the correct numeric range is a strong candidate for a map axis.
Local smoothness: Map values rarely change abruptly between neighbouring cells. WinOLS calculates the first and second gradient across the detected data grid — high second derivatives everywhere suggest random data, not a map; smooth progressions suggest a physically meaningful map.
Value plausibility: Depending on the detected data type (uint8, int16...), WinOLS checks whether values fall within ranges that make sense for vehicle parameters. All values at 0xFF or 0x00 suggest unused memory, not a map.
The most reliable detection method is binary comparison of two versions of the same ECU: different calibrations for the same vehicle (e.g. two power variants or original vs. Stage 1) differ almost exclusively in the map regions — the program code is identical. The delta view in WinOLS immediately shows which memory regions contain real map data.
WinOLS maintains an internal database of known ECU types with predefined map definitions. When a known binary is loaded, WinOLS automatically matches against this database and assigns known maps without manual searching. For unknown ECU types (new model generations, exotic manufacturers) the detection work must be performed manually or semi-automatically.
Register as a B2B workshop and receive professional tuning files within one hour.
Register Free ← All Articles