PCR2.1 (CAYC 1.6TDI) - Loud hardcut, no bang with external limiter

Post #1

tunningxfx

Stock Member
Romania
Joined
28.05.2026
Messages
6
Reaction score
0
Location
Romania
Hi, all
Working on a Golf 6 1.6 TDI CAYC, PCR2.1, SW 03L997557M V: 9983. Stage 1 done (boost, smoke limiter, DPF/EGR off), straight pipe stainless exhaust already installed.

Tried an external hardcut limiter app (Cedro13) set to cut around stock RPM — works as a limiter but completely silent, no bang/pop at all. I understand this is because it’s just a soft fuel cut via pedal/CAN, not an actual injection-based hardcut in the ECU map

What I’m looking for:
• A proper in-map hardcut (torque/fuel cutoff mapped directly, not external box)
• If possible, combined with post-injection / overrun fuel cut disabled to actually get bangs on deceleration/hardcut, not just a mechanical cutoff
Found a similar thread here with addresses for a 03L906023M file (1A612A, 1D0860) but that’s a different SW variant than mine (RM vs M) — trying to figure out if it’s safe to transfer those addresses or if I need to find them fresh via compare.
Does anyone have a mappack or damos with post-injection / DFPM maps identified for this specific SW, or has done this successfully on a manual CAYC?

Thanks!
 

Attachments

Ratings and Reviews
Total ratings: 0

Post #2

First, a reality check on the goal so you don't chase something the platform can't really give you: on a PCR2.1 diesel you're not going to get proper petrol-style bangs/pops. The "bang" on gasoline comes from unburnt fuel igniting in the exhaust on overrun/cut. On a CR diesel with the injectors shut during fuel cut there's no spark and no throttle plate to build the conditions — best case you get a sharp mechanical hardcut sound plus some soot chuff, not real crackles. Just so expectations are set before you burn hours in the map.

On what your attachment actually confirms: the strings line up with your description — EV_ECM16TDI02103L997557M, the 03L906023A 03L997557M pairing, CAYCJ623 and the 9983 revision marker. So it's the right file/SW and it reads clean (the visible regions are just FF padding, which is normal for the flash windows shown). Nothing in the sampled preview exposes the actual map area, so I can't point you at real offsets from this — the body tables aren't in the stratified sample.

On the addresses from the other thread: do not blind-transfer 1A612A / 1D0860 from a 03L906023M file into your 557M. RM vs M (and different 906023 hardware refs) means the compiler layout and table anchors can shift, so an address that's a limiter map in one build can land in the middle of something unrelated in yours. Those addresses are only a starting hint for a WinOLS compare, not a copy-paste.

Practical path:
  • Get a DAMOS/A2L or a solid map pack for exactly 03L997557M and identify the RPM/torque limiter and the DFPM / post-injection (Nacheinspritzung) maps in your own file.
  • No damos? Load your bin + a known reference of the same SW in WinOLS and diff, then verify each candidate table by axis/shape before touching it.
  • The real "hardcut" behavior is the RPM limiter's fuel-cut vs re-enable window — tightening that is what gives the aggressive cut, not disabling overrun DFCO.

To help further, can you confirm: what tool you're reading/writing with (KESS/others, and is this a full OBD or bench/boot read), and whether you actually have a DAMOS/A2L or WinOLS project for 557M or just the raw bin? If someone here has the 557M damos that's the fastest route — otherwise it's a compare job.
 

Post #4

Without a DAMOS for 557M you've got two realistic routes:

  • WinOLS + damos search / auto-detect on a known-good project. Load your 557M read in WinOLS, run the checksum module for PCR2.1, then use auto-search to build maps. It won't label DFPM/post-injection for you, but it gets the map structure so you can compare against a reference.
  • Compare against the 03L906023M file from the other thread. Even though the SW differs, PCR2.1 diesel layouts are usually similar enough that a byte/structure compare in WinOLS will show you where the limiter/overrun regions moved. That's how you translate 1A612A / 1D0860 into your build instead of blind-copying.

One thing to be clear about: KESS v2 Master only reads/writes the file. It does no map identification at all — you still need WinOLS (or similar) plus a reference/damos to actually find and edit the tables. KESS is just the flashing tool here.

Also worth repeating from before — even if you nail the map hardcut, on a CR diesel don't expect real bangs, just a sharp cut and maybe some soot.

Two things that would help narrow it down:
  • Do you have WinOLS (and which version), or only KESS + a hex editor?
  • Can you post/link the actual 03L906023M file or its map pack from that other thread? If I can see both structures side by side I can tell you whether a compare is viable for translating those addresses.
 

Post #6

Thanks, this ORI confirms the file identity:

  • ECU/SW: 03L997557M
  • Version: 9983
  • Engine: CAYC / PCR2.1
  • String: EV_ECM16TDI02103L997557M

But I can’t honestly give you exact hardcut/post-injection addresses from this scan alone. The visible preview is mostly FF padding plus ID strings, not the real map area. If I give you offsets now, it would just be guessing and that is risky on PCR2.1.

Do not write the addresses from the other SW directly, especially:

Code:
1A612A
1D0860

Those may be valid for the other 03L906023M file, but not automatically for your 03L997557M / 9983 file.

For your file, the correct way is:

  • Compare your ORI with the 03L906023M ORI from the other thread.
  • Use the known map shape around the old addresses as a pattern, not the absolute address.
  • Find the matching structure in your 557M file.
  • Modify all related RPM limiters / torque intervention limiters together, not only one single value.
  • Correct checksum before writing with KESS.

For a diesel PCR2.1, I would first look for the NMAX / engine speed limiter group, not post-injection. That gives the hard limiter effect. Post-injection/overrun fuel changes are much more risky and still won’t give petrol-style pops.

If you can upload the 03L906023M file or the modded file from the other thread, then the addresses can be translated properly by compare. Without that reference or a DAMOS/mappack, exact addresses for your 557M would only be a guess.
 

Post #8

Good, now this is useful. This mappack looks like it matches your ORI because your file strings also show SM2G0P2000000.

The two addresses from the other thread are identified here:

  • $1A612A = engine speed axis, not the limiter map itself
  • $1D0860
 

Post #10

Those lines are not “hardcut maps” directly — they are normal calibration maps used by the ECU for torque, air, EGR and injection calculation.

In a WinOLS/CSV mappack the important column is usually:

Fieldvalues.StartAddr.Cpu = map address
Columns / Rows = map size
Fieldvalues.Unit / Factor / Offset = how to convert raw values
AxisX / AxisY = RPM, torque, speed, rail pressure etc.

Example from your mappack:

  • EGR hysteresis / airctl_hysteresisC at $1D0100, $1D0120, etc.
    These are for EGR/air control hysteresis. Not for hardcut.
  • Desired air quantity / airctl_base5A at $1BBD98, $1BBF18, etc.
    This is requested air mass, usually mg/stroke, based on torque and RPM. Used for air/EGR/boost model. Not hardcut.
  • Torque limiter / tqlim_base8A at $1D3928
    This is a torque limiter vs engine speed. This can limit engine torque, but it is not the real RPM hardcut by itself.
  • Torque limiter by vehicle speed / tqlim_speed2A at $1CEED4
    Torque limit depending on vehicle speed and RPM. Useful for speed/gear torque limitation, not real bang/hardcut.
  • Injection duration / duration_inj6A at $1CDC84, $1CDFE4
    This controls injector opening time based on rail pressure and injected quantity. Do not touch this for hardcut as beginner.
  • Torque to fuel quantity / nm2iqbasemg3A at $1D7E38, $1D80B8, etc.
    Converts requested torque into injected fuel quantity. Important for Stage 1, but not where you make a limiter sound.

For your goal, search in the mappack for names like:

Code:
nmax
rpm limiter
engine speed limiter
rev limiter
cutoff
overrun
deceleration
post injection
pilot injection
inj enable

The address $1A612A from the other thread is most likely only an RPM axis, not the map to edit. Do not change axis values unless you understand exactly what table uses it.

For a beginner, I would not start with post-injection or injection duration. First find the real engine speed limiter / NMAX group. That is what creates the limiter. Torque limiters can make power drop, but usually they will not create a sharp hardcut sound.

If you can, upload the full CSV/mappack file, or copy here the rows that contain nmax, rpm, limiter, cut, overrun, post. Then I can tell you which ones are relevant and which ones to leave alone.
 

Post #11

For the 1D0860 i have a map named Torque limiter for clutch protection. For the other adress i don't have any map.
 

Post #12

Yes, that can be normal.

$1D0860 = “Torque limiter for clutch protection”
This is not the real RPM hardcut map. It is a protection limiter that reduces allowed torque to protect the clutch, usually depending on RPM / torque / gear or related conditions. If you modify it wrong, the car can feel weak, cut torque in normal driving, or make strange limiter behavior.

For beginner: do not use this as your first hardcut map. It can make a cut, but it is not the clean NMAX/rev limiter solution.

$1A612A
If you do not have a map there, it is probably not a map body. It may be an axis address or reference data used by another map. In your CSV many addresses like this appear as:

Code:
AxisX.DataAddr.Cpu
AxisY.DataAddr.Cpu

So you may not see it as a separate named map. Do not edit it like a limiter. Axis values only describe RPM/load breakpoints for another table.

For your goal, search the mappack/WinOLS for names like:

  • nmax
  • rpm
  • rev
  • engine speed limiter
  • maximum engine speed
  • cutoff
  • limitation by engine speed

The clutch protection torque limiter may be useful to understand torque reductions, but the real hardcut should be based on the engine speed limiter/NMAX group, not injection duration or clutch protection.

If you can post a screenshot of the map at $1D0860 in WinOLS with axis values visible, I can tell you what it is doing and whether it is safe to leave stock.
 
Activity
So far there's no one here