You can type here any text you want

timing patch

Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

Razor

Forum tech Advisor
Staff member
Joined
Jul 31, 2001
Messages
13,391
Anyone have a timing patch handy they can share to drop timing after ecm senses 3rd gear WOT :)

thanks..

email.. idoxlr8_70@yahoo.com

I dont mind paying if needed :)
 
Hi Razor,
I guess no one wants to help you out. :(

Maybe I can, but 1st some questions:
1- Reduce timing in just 3rd, or 3rd and 4th?
2- At any RPM in 3rd, or just above a certain point?
3- When the timing is reduced (or is it retarded?), is it always by a fixed amount or should it vary? If vary, based on what?

I've got some ideas, but they may not work. The spark advance is calculated in ROM code so we'll have to "fake it out" to accomplish the third gear retard.
 
Hi Dennis..I guess when the questions get a lot more difficult ... the reality sets in..

Only looking for WOT, above 3600, LV8 at 250, MAF at 235+,in third..fourth cant hurt..never will see fourth at the track..well ;)

I guess patches are Taboo :rolleyes:

As far as fixed amount..rite now..anything wll work. Reduce by 2-3 degrees when it hits third WOT.

I know I can jimmy the MAT temp tables to do it..actually thinking going outside the box to do it..whereas when the car hits third gear..latch a relay(using the tranny line 3rd) and have it inject a voltage to the MAT sensor that correlates to the table being modified. Can make a rotary switch with multiple positions..resistors basically..that would affect those MAT tables. And be able to control retard.click click click :)

But want to do it with code..if possible

I guess the only chip on the market using those tables is the Thrasher..since it will reduce timing if outside MAT temps rise.

Did I open mouth and insert foot :eek:

Let me know..
 
Using the MAT table sure sounds like a lot of work! Like I said, I've got an idea.

The timing for both advance and retard is calculated in ROM. None of the parameters can be messed with except one. This one is a provision for adding advance during boost, which we normally don't use. So let's use that. :D

The ROM code takes the value from $3270 (normally 00) and multiplies it by the value of $66 (normally 00). It then takes the result and adds it to the advance. What we're going to do is make $3270 = the # of degrees to cut back, $66 will be the on/off switch, and in the process we're going to make the code subtract the timing.

Here's just the 1st part. I'll try to post the code portion tomorrow.

The only change to the data section is $3270. This will be the # of degrees to reduce timing. To calculate this value, use the formula xx = 255 - (#deg * 256 / 90)

For example, to reduce by 3 degrees -
xx = 255 - (3 * 256 / 90)
xx = 255 - (768 / 90)
xx = 255 - (8) important to round down
xx = 247 which converted to hexidecimal = F7

The ROM code will add this value, so if we make it a negative number, then it will end up being a subtraction. That's the reason for subracting the # of degrees from 255 in above.

Make sense so far? :confused: The code will be posted shortly.
 
Sensei :D

Isnt boost spark advance loc $0065?

How does the ecm know your in boost?

Lots of tables are zero'd on the eprom..just wondering theyre interaction..

Also the switch for 3rd and 4th isn't in the $3000-$37a2 but after..so the subroutine has to check

Maybe use data at $3838 since the checks for gear change for boost scaling take place here and work the patch into this block?

Just trying to felp..
 
Hee hee...

I don't think Dennis was done yet. :)

You're right, $65 is where boost spark advance is stored, but you can't alter that directly. Its the result of $66 multiplied by $3270. You can alter those.

Eric
 
You are lucky, Dennis, they did do a signed add :-). I wanted to use the low pw correction table to shorten the injector pw but there they only do an unsigned add so I couldn't use negative numbers, sigh.
 
Just hold on there Razor. There's more to come.

Isnt boost spark advance loc $0065?
Yes it is, and it's value is the product from the multiply of $3270 and $66.

So you make $3270 = # degrees retard (as per previous post)
While you're there, make $3272 = 00. This will prevent the fuel trim from getting "hosed".

Now, what follows is code to do what you're looking for. The addresses I used can certainly be changed. I just picked a convenient portion of garbage code that can be over written.

<Determine if in 3rd or 4th gear>
37DF: 4F CLRA A = 00
37E0: D6 03 LDAB $03 (Flags03)
37E2: 58 ASLB shift B left, b7 to carry
37E3: 2A 03 BPL $37E8 if bit 6 = 0 [4th Gear On] goto $37E8
<not in 4th gear, so check if 3rd>
37E5: 58 ASLB shift $03 left again
37E6: 2B 18 BMI $3800 if bit 5 = 1 [3rd gear not On] must be in 1st or 2nd gear
**** in 3rd or 4th gear so check RPM
37E8: D6 18 LDAB $18 (ntRPM)
37EA: C1 D0 CMPB #$D0 (3600 RPM)
37EC: 22 02 BHI $37F0 if (RPM > 3600) goto $37F0

37EE: 20 10 BRA $3800 done
**** check LV8
37F0: D6 23 LDAB $23 (LV8)
37F2: C1 FA CMPB #$FA (250)
37F4: 22 02 BHI $37F8 if (LV8 > 250) goto $37F8

37F6: 20 08 BRA $3800 done
**** check MAF
37F8: D6 AB LDAB $AB (MAF)
37FA: C1 EB CMPB #$EB (235)
37FC: 23 02 BLS $3800 if (MAF <= 235) goto $3800

37FE: 86 FF LDAA #$FF A = FF (multiplier for advance reduction)

**** done
3800: 97 66 STAA $66 store Advance scaler (00 = no reduction, FF = reduction)
3802: 20 04 BRA $3808

This code doesn't look so good without the tabs.
You might be able to remove the LV8 check for 250 since I'm pretty sure it will be there when the other conditions are met.
Disclaimer: I haven't tried this yet in the car, but it sure looks good on paper.:D

The way it should work is, the ROM code calculates advance and if you're in boost ...
How does the ecm know your in boost?
It sets a flag when the airflow exceeds the $3457 #.

Where was I? Oh yea, the ROM code will try to add advance during boost, but we'll give it a negative number so it ends up subtracting.

If this works, you owe me a beer.
:cool:
 
Dennis = nice work...

Razor = whats the reason for wanting to pull timing in 3,4th? Is that so you can control boost tuner style and reduce timing instead of boost or some other reason? Just wondering...

Is the flag at $3457 the only trigger to know its entered boost? And once boost is flagged will this cause immediate entry into PE as long as your not already there via LV8?
 
Is the flag at $3457 the only trigger to know its entered boost? And once boost is flagged will this cause immediate entry into PE as long as your not already there via LV8?
That's right. The ECM only knows "there is sufficient airflow for boost". It never really knows if the turbo is on or off.

As for your question on PE, no. Since the ECM doesn't know what the turbo is doing, it checks other things for PE. They are throttle position and load. I guess the check for load is in there just in case you sneek up on WOT with very gradual throttle.:eek:
(My car won't let me do that though.):D
 
Originally posted by dennisL

If this works, you owe me a beer.
:cool:

Dude I owe you a couple cases :D :D :D

I'll let ya know..thanks...really.

BoostKillsStres..the reason is alcohol..The premise is to run higher timing in first and second to get a faster 330 ft at the track..alcohol curbs detonation better when the load is less..and then pull timing when it hits third so the alcohol can quench the thirst better and pull like a mofo.

I usually keep my boost set at the same level..with this patch..fingers crossed.. probably be able to run higher boost/timing 1st/2nd then pull things back to keep retard in check.
 
Dennis, just curious why you consider setting the park/neutral flag as "garbage code"? Don't you want to keep the two idle speed tables, etc?
 
It looks like most of the P/N checks come from a bit at $BB instead of $03. $BB bit 7 seems to be set directly from I/O ($0881). I don't what the difference is between the two. Both seem to work. I use $03 in my chip to alter the o/l idle ratio between park and neut.


Eric
 
Dennis, just curious why you consider setting the park/neutral flag as "garbage code"? Don't you want to keep the two idle speed tables, etc?
Hi Carl - When I first got into this code, this is one of those things that made me nuts because it didn't make sense. You might remember about when that was.;)

Anyhow, here's what I believe is the "real deal"... $03 bit 4 is In Cruise not P/N as we were told. This bit either used to be or was planned to be tied to the cruise control module. It is not connected in our cars, I tested it.

If you promise not to tell anyone, I'll explain further.
The cruise control module was to be connected to the ecm (but its not).
Turning on cruise would set $0801 bit 7.
$0801 bit 7 sets $03 bit 1 (at $E297)
$03 bit 1 sets $03 bit 4 (at $37E7)
$03 bit 4 is checked by the TCC Lock code (at $FA97) to bypass the 4th gear unlock check

Carl, make sure no one is looking over your shoulder and reading this.:eek: You and I are the only two that know this is not a P/N flag but a Cruise flag (that is not used).
 
[Whispering as quietly as I can] Okay, Dennis, I'll keep it under my hat :-).
 
MAN, I cannot believe you guys are keeping secrets from the rest of us wannabe haxor. Oh the horror! :rolleyes:
 
Originally posted by Scott231
MAN, I cannot believe you guys are keeping secrets from the rest of us wannabe haxor. Oh the horror! :rolleyes:

Yeah, Dennis and I are famous for keeping our mouths shut, like when we proofread, corrected, partially reformatted, and talked Mike Pitts into letting us upload the rom/eprom disassembly to the gnttype website. I know Dennis has an even more updated version with some more typo corrections that he is going to upload one of these days :-).

Oh, a comment on spark retard. In race chips that lock the converter you can just use the tcc-retard table and not bother with this patch, since it's already going to give you a little retard anyway courtesy of the gm cal.
 
Back
Top