I looked some more into the code, and it wont work as previously mentioned. There is no "reset" of the ignition cut after the cruise control is flicked on and wped > AccPedalThreshold. Could anyone chime in with a reset function for the following code as well as some more insight on the behavior of the car when "vziel_w = vfil_w" (cruise speed = vehicle speed) ? :
// Rolling Antilag
{
if (S_fgrat = 0 && S_fgrwb = 1 && wped > AccPedalThreshold)
{
// NoLiftShift is active
if (counter_NoLiftShift < IgnitionCutDuration)
{
vziel_w = vfil_w // Hold speed
tsrldyn = 0; // Interrupt ignition
counter_NoLiftShift++;
}
}
else
{
// Other conditions not true, don't allow ignition interruption
// until cruise is released and pressed again
counter_NoLiftShift = 0xFFFF;
To do rolling antilag i took some ideas from different LC/NLS projects and then wrote some of the logic myself
Couple key things to note before the code.
1) ASM logic should be thought of backwards. Write these statements so that you have excluded all cases of why wouldn’t want it to run. That was my first mistake when i started dabbling.
2) Make sure whatever ram locations your using you understand what the multiplier is... Word/byte sometimes have different multiplier (me7info.exe) is your friend.
3) Use Flags - You will see people sharing other peoples work and you don’t understand why no-one will help... it is because that’s not the standard script that they originally grabbed from whoever it was... but flags allow you to log real quick with me7logger and figure out why something isn’t working.
4) The key i have found to implement a well working LC that doesn’t break things, control boost, and gurgle without messing with 15 other tables is the right hooks... Everyone hooks the UB for battery voltage because that routine is run all the time. Find ZWOUT as well and you can then command your timing during any of these events.
5) you don’t need NLS logic at all its a waste of time in this if you just write the initial run conditions right
Code logic for what your asking
- Reset flags or 0 them out
- if cruise is off Exit routine
- set a flag for tracking
-compare vfil to see if your going slow Jump over next bullet if you are going slow (cause i want to run LC regardless set at 1km/h)
-if clutch isnt pressed exit to gurgle logic checks
-set flag b
-otherwise we have met the conditions to do LC / NLS with one pass.
Why? Because if im going super slow or stopped with the cruise lever on I want this to run. If im going over that speed and i push the clutch in i want it to go from my current RPM Limit 7500, to my new target (configurable)... which acts as two things... Great NLS because you are shutting off the coil packs... and if your on the highway you can clutch in and do it.
Key to this is ZWOUT - So when you get in a condition you have met at want to run this LC you need to set a flag that you can reference. In which case the ZWOUT hook will point to a small subroutine below all this... saying exit if this flag isnt set. done... in mine i have -24 degrees timing set for LC and Gurgle seems to like -14...
If you still cant get the logic to work... then im not sure how else to help here.