Remap-UK

Remap-UK Remap-UK has been 25+ years within the ECU tuning industry! We have staff located all across the UK! We work as a team! Most have been with me 10 years plus now!

After Owning my own garage back in 2001, i decided to 'keep my hand in' with vehicle tuning and so started work with Black Code, then moved on to Elite Remaps and then Regal Remaps. After 10 years of being 'slaved' to another company i decided to go it alone, i set up Remap-UK with one fundamental difference than all the other companies i had worked for. We may be small compared to the big names i

n the game but that's because i respect all the guys that work for me and make sure they each have 'their own patch'. Plus we are all friends to!

https://macclesfield-remapping.co.uk/the-remapping-for-bmw-engines/
08/09/2026

https://macclesfield-remapping.co.uk/the-remapping-for-bmw-engines/

Discover the advancements of the Bosch MEVD17 ECU family in engine management systems, specifically for high-performance BMW engines. This article explores the enhanced functionalities such as real-time diagnostics, efficient fuel management, and OBD virtual read/write methods that streamline the re...

06/09/2026
06/09/2026
We are back in Nottingham!
29/08/2026

We are back in Nottingham!

At The MOT Mann, we believe in delivering more than just a service – we provide peace of mind. Whether it’s time for your annual MOT, a routine service or unexpected repairs, our experienced team is here to keep your car in top shape. We’re proud to offer quality, friendly service that doesn.....

17/08/2026

-- ============================================================================
-- WinOLS OLS530 Script: Fuzzy Matching & Map Pack Transfer Automation
-- ============================================================================

-- Configuration & Paths
local INPUT_FILE = "C:\\WinOLS_Automation\\in\\incoming_unmatched.bin"
local REF_DIR = "C:\\WinOLS_Automation\\reference_db\\"
local OUTPUT_FILE = "C:\\WinOLS_Automation\\out\\processed_file.bin"

-- Safety Threshold (0.95 = 95% byte pattern match required)
local CONFIDENCE_THRESHOLD = 0.95

-- Anchor Hex Fingerprints for Verification (Example: EDC17 Torque Limiter Header)
local ANCHOR_PATTERN = { 0x38, 0x00, 0x10, 0x00, 0x00, 0x02, 0x00, 0x04 }

-- ============================================================================
-- HELPER FUNCTIONS
-- ============================================================================

-- Search for a byte sequence within a specific offset range
function FindPatternOffset(prj, pattern, search_start, search_end)
local pattern_len =
for addr = search_start, search_end - pattern_len do
local match = true
for i = 1, pattern_len do
if prj:ReadByte(addr + i - 1) ~= pattern[i] then
match = false
break
end
end
if match then
return addr
end
end
return nil
end

-- Calculate similarity percentage between two binary regions
function CalculateSimilarity(prj_ref, addr_ref, prj_target, addr_target, length)
local matches = 0
for i = 0, length - 1 do
local byte_ref = prj_ref:ReadByte(addr_ref + i)
local byte_tgt = prj_target:ReadByte(addr_target + i)
if byte_ref == byte_tgt then
matches = matches + 1
end
end
return matches / length
end

-- Fallback exit handler for portal queue routing
function AbortToManualQueue(reason)
print("STATUS: RE_ROUTE_MANUAL")
print("REASON: " .. reason)
os.exit(1) -- Non-zero exit code triggers Python Daemon to flag job for human tuner
end

-- ============================================================================
-- MAIN AUTOMATION PIPELINE
-- ============================================================================

print("[1/5] Opening Target Binary...")
local prj_target = WinOLS.CreateProject(INPUT_FILE)
if not prj_target then
AbortToManualQueue("ERR_FILE_CORRUPT: Failed to load target binary into WinOLS")
end

-- Extract ECU Info (Bosch EDC17 example header area)
local target_sw = prj_target:ReadString(0x180, 10) -- Adjust address based on ECU family
print("Target SW ID: " .. target_sw)

-- Step 1: Check Exact SW Match
local exact_kp = REF_DIR .. target_sw .. ".kp"
if FileExists(exact_kp) then
print("[EXACT MATCH] Applying exact Map Pack...")
prj_target:ApplyMapPack(exact_kp)
else
print("[NO EXACT MATCH] Executing Algorithmic Fuzzy & Offset Search...")

-- Step 2: Load Reference Master Project (e.g., EDC17 Base Reference)
local ref_file = REF_DIR .. "EDC17C64_MASTER_REF.ols"
local prj_ref = WinOLS.OpenProject(ref_file)
if not prj_ref then
AbortToManualQueue("ERR_NO_REFERENCE: No compatible family base reference found")
end

-- Step 3: Find Anchor Patterns in Reference vs Target
print("[2/5] Locating Anchor Patterns...")
local ref_anchor_addr = FindPatternOffset(prj_ref, ANCHOR_PATTERN, 0x10000, 0xC0000)
local tgt_anchor_addr = FindPatternOffset(prj_target, ANCHOR_PATTERN, 0x10000, 0xC0000)

if not ref_anchor_addr or not tgt_anchor_addr then
WinOLS.CloseProject(prj_ref, false)
AbortToManualQueue("ERR_ANCHOR_NOT_FOUND: Structural anchors could not be identified")
end

-- Calculate Byte Offset Shift
local offset_delta = tgt_anchor_addr - ref_anchor_addr
print(string.format("Calculated Map Offset Delta: 0x%X bytes", offset_delta))

-- Step 4: Validate Similarity Score (Safety Check)
print("[3/5] Verifying Binary Similarity Confidence...")
local similarity = CalculateSimilarity(prj_ref, ref_anchor_addr, prj_target, tgt_anchor_addr, 512)
print(string.format("Pattern Similarity Confidence: %.2f%%", similarity * 100))

if similarity < CONFIDENCE_THRESHOLD then
WinOLS.CloseProject(prj_ref, false)
AbortToManualQueue(string.format("ERR_LOW_CONFIDENCE: Match score (%.2f%%) below safety threshold (%.2f%%)",
similarity * 100, CONFIDENCE_THRESHOLD * 100))
end

-- Step 5: Transfer Map Pack with Offset Delta
print("[4/5] Transferring Maps with Offset Shift...")
local success = prj_target:ImportMapPackShifted(REF_DIR .. "EDC17C64_MASTER.kp", offset_delta)
if not success then
WinOLS.CloseProject(prj_ref, false)
AbortToManualQueue("ERR_MAP_TRANSFER_FAILED: Offset import failed in OLS530")
end

WinOLS.CloseProject(prj_ref, false)
end

-- ============================================================================
-- MAP MODIFICATION & EXPORT
-- ============================================================================

print("[5/5] Executing Map Modifications...")

-- Locate map dynamically from newly aligned definitions
local boost_map = prj_target:FindMapByName("Boost Target")
if boost_map then
-- Increase boost target by 8% safely across 2D table
for y = 0, boost_map:GetHeight() - 1 do
for x = 0, boost_map:GetWidth() - 1 do
local original_val = boost_map:GetValue(x, y)
boost_map:SetValue(x, y, math.floor(original_val * 1.08))
end
end
print("Stage 1 modifications applied successfully.")
else
AbortToManualQueue("ERR_MAP_NOT_FOUND: Required tuning maps missing post-transfer")
end

-- Recalculate Checksums
print("Calculating Checksums...")
local cs_ok = prj_target:ApplyChecksums()
if not cs_ok then
AbortToManualQueue("ERR_CHECKSUM_FAILED: WinOLS checksum calculation failed")
end

-- Export and Output Success
prj_target:ExportFile("BIN", OUTPUT_FILE)
WinOLS.CloseProject(prj_target, false)

print("STATUS: SUCCESS")
print("OUTPUT_FILE: " .. OUTPUT_FILE)

17/08/2026






Request a Quote
Happy with your gains? Enter your vehicle details below!


Vehicle Details (Make, Model, Year):





Copy & Open Email

✓ Vehicle copied! Set as email subject line.



How to copy & paste your vehicle details:

Highlight the text inside the calculator widget above, right-click, and select Copy (or press Ctrl+C / ⌘+C).
Click into the input box above, right-click, and select Paste (or press Ctrl+V / ⌘+V).
Click the Copy & Open Email button to automatically copy the line and open your email app with the subject pre-filled.








function processQuoteRequest() {
var inputField = document.getElementById("vehicle");
var statusMsg = document.getElementById("statusMsg");
var btn = document.getElementById("copyBtn");
var vehicleText = inputField.value.trim();

if (vehicleText === "") {
alert("Please enter your vehicle details first!");
return;
}

// 1. Copy the vehicle details to clipboard
inputField.select();
inputField.setSelectionRange(0, 99999); // For mobile devices
navigator.clipboard.writeText(vehicleText);

// 2. Visual feedback for user
statusMsg.style.display = "block";
btn.style.backgroundColor = " ";
btn.innerText = "Copied!";

// 3. Open email client with the vehicle details set in the SUBJECT line
var emailAddress = "[email protected]";
var subject = "Remap Quote Request - " + vehicleText;
var body = "Hi,\n\nI have copied my vehicle details into the subject line. Please send me a quote for this vehicle.\n\nThank you.";

setTimeout(function() {
window.location.href = "mailto:" + emailAddress + "?subject=" + encodeURIComponent(subject) + "&body=" + encodeURIComponent(body);
}, 400);
}

Address

Old Mill Lane
Bleasby
SK117PA

Opening Hours

Monday 9:30am - 7pm
Tuesday 9:30am - 7pm
Wednesday 9:30am - 7pm
Thursday 9:30am - 7pm
Friday 9:30am - 7pm
Saturday 9:30am - 4pm
Sunday 11am - 2pm

Telephone

+447377430910

Alerts

Be the first to know and let us send you an email when Remap-UK posts news and promotions. Your email address will not be used for any other purpose, and you can unsubscribe at any time.

Share