There are three situations where the fuel needs to be cut off completely. One of them is when we hit the rev limit (6480 rpm), and that one is handled by the post ignition routine, just before fuel injection is activated. The other two cases are
The routine we’ll look at here is responsible for triggering the fuel cutoff and reactivating it, but also for controlling how ignition timng is allowed to change from its current value. The code walkthrough is here.
To elaborate on the timing issue a little: just before this routine, we do the main timing calculation based on map lookups. From that routine, we jump here without actually assigning the newly calculated timing value. That’s because the conditions around fuel cut and reactivation affect how timing can change.
Very briefly, when a new timing value is calculated, it represents a target value. The current value is never allowed to simply jump to the new target value. Instead, it’s only allowed to make steps of a limited size at a limtied speed towards the target. Progress towards the new value is throttled by a series of flags so that we have 1x, 8x, 16x and 64x speeds.
The post ignition routine code article shows the implementation of this timing speed control, but doesn’t show the rules that control the relevant speeds. We’ll see those rules here. But they are sometimes complicated rules. The code walkthrough for this section will show the details; here we’ll just point out the highlights.
We’ll look at the two fuel cut cases separately next.
When you close the throttle, and the rpm is high enough, fuel gets cut off until rpm returns to the idle range or you open the throttle again.
What does “rpm high enough” mean? There are two thresholds, one for cutting fuel and a lower one for reactivating it.
The reactivation threshold comes from this temperature based map, Map 25:

The actual cutoff threshold is just the reactivation threshold plus 360rpm. This +360 is controlled by the constant 9 at 1192h.
So on a fully warmed up car, fuel will be cut off if you close the throttle above 1560rpm, and turned on again when you drop to 1200. The idle stabilizer also detects this condition and slows the rpm drop to make the transition smooth.
However, fuel is never just cut immediately when these conditions are reached. Instead the DME waits for the timing to stabilize. The part throttle timing will usually be higher (more advance) than the idle map for the same rpm, so typically timing is reduced during this stabilization period. This might be intended to keep the transition smooth (for example see [1] below).
During this time, timing changes are allowed to change at up to 16x normal speed (via flag 22h.5). Once the current timing value (31h) is equal to the target, then assuming the fuel cut conditions still hold, fuel is cut off by setting 23h.5 (the post-ignition routine will check this flag and skip turning on the injectors if its set). It typically takes something in the order of 10 revolutions or so for this to happen.
Similarly, timing controls are exercised when fuel is reactivated,whether by the rpm returning below the threshold, or the throttle being reopened.
In either of these cases, the 8x speed is allowed for increasing timing (22h.6).
The 944 Turbo DME doesn’t know about boost directly, so it can’t directly detect an overboost condition the way the KLR can. But it does have a load safety curve that serves as a proxy for overboost.
This condition is checked just after the timing calculation.
The map the implements this curve uses rpm as input and load as output.
Here’s the load vs rpm curve for the early Turbos

And here’s the equivalent for the ‘89+ model, and Turbo S:

The big difference is that for the Turbo S, the load limit keeps climing after 4000rpm, because peak boost (~10.8 PSI) is maintained throughout the rev range, whereas it tapers off in the early version.
To trigger overload protection, the actual calculated load must be above this curve for at least 3 seconds.
Once triggered, fuel is cut immediately, and stays off until the load falls below this curve minus 50 units. It’s hard to give a meaningful explanation of what these units of load correspond to, but this should correspond to about 75% of the peak of the safety curve.
Once this “overboost jail” is entered, the car remains stuck in it for 60 seconds. Any time load goes above this new, lower limit, fuel is immediately cut again. After that the overboost flag is cleared and the minus 50 rule is removed.
See https://forums.linkecu.com/topic/8932-overrun-fuel-cut-and-ignition-retard/:
*” 1. my overrun fuel cut settings shows torque reduction is 0.52s and ignition retard is 0. The help file says :
Ignition Retard
To help smooth the transition as the fuel cut turns on and off, the ECU will progressively retard the ignition timing prior to cutting fuel. The ignition timing will then be progressively advanced back to normal after the fuel has been restored. Changing the Ignition Retard adjusts the full amount of ignition retard the ECU will use. The amount of time taken to introduce and remove the ignition retard is controlled by the Torque Reduction/Introduction Time setting. “*