Few more inportant but seldom touched things in TBI masks.
#1
Supreme Member
Thread Starter
iTrader: (2)
Join Date: Jan 2002
Location: Moorestown, NJ
Posts: 9,962
Likes: 0
Received 3 Likes
on
3 Posts
Car: 88 Camaro SC
Engine: SFI'd 350
Transmission: TKO 500
Axle/Gears: 9-bolt w/ 3.23's
Few more inportant but seldom touched things in TBI masks.
The first one of these things lives at address 0xD018 in the $61 mask. This is the filter coeff. that controls how fast the timing is ramped in. The ramping factor in the ram that the SA is multiplied by starts at 0 when the engine starts and ramps up to 1 at a rate defined by the filter coeff. Changing this will change the rate at which the motor transitions from the module to the timing in the spark tables when it first starts.
The next two things are a pair of tables (addresses those in 8746)
This mess is mainly used when the engine is at low to mid throttle and the throttle is suddenly opening or closing. The present rpms along with how fast theyre changing determine what SA adjustments are made. Basically the signed value in the first table times the value in the second table divided by 64 determine the ammount of SA added or taken away during transient throttle. The actual SA is the result times (90/256). This wont appear in any datalogs. Its just sort of snuck in on the side before the timing is sent out to the dist. There is a status byte, though, that tells when its active. IIRC, its b7 at 0x000F in the ram. 1=active, 0=not active but can be if the delta rpms are large enough.
Ive personally found that it makes the engine run like puke on tip in with the stock values so ive zero'd out the table and plan to remove the offending code altogether. It might have some use in controlling the engines operation during tip in, but Ill probably never mess with it.
The next two things are a pair of tables (addresses those in 8746)
Code:
; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Table of delta RPM SA factors during transient throttle ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Signed Factor ;Delta RPM ; ; LD1E6 FCB 240 ;-200 FCB 243 ;-175 FCB 246 ;-150 FCB 248 ;-125 FCB 250 ;-100 FCB 250 ; -75 FCB 250 ; -50 FCB 250 ; -25 FCB 0 ; 0 FCB 247 ; 25 FCB 6 ; 50 FCB 8 ; 75 FCB 10 ; 100 FCB 13 ; 125 FCB 16 ; 150 FCB 18 ; 175 FCB 20 ; 200 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Table for delta RPM SA multiplier for above table, delta rpms > +/- 125 rpm ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; LD1F7 FCB 128 ;UL, 3600 rpm ; ; factor = value / 64 ; FCB 96 ; 400 FCB 96 ; 800 FCB 96 ;1600 FCB 64 ;2000 FCB 48 ;2400 FCB 32 ;2800 FCB 24 ;3200 FCB 18 ;3600
Ive personally found that it makes the engine run like puke on tip in with the stock values so ive zero'd out the table and plan to remove the offending code altogether. It might have some use in controlling the engines operation during tip in, but Ill probably never mess with it.
Last edited by dimented24x7; 04-11-2005 at 11:51 PM.
#2
Supreme Member
Join Date: Jun 2000
Location: In reality
Posts: 7,554
Likes: 0
Received 1 Like
on
1 Post
Car: An Ol Buick
Engine: Vsick
Transmission: Janis Tranny Yank Converter
Re: Few more inportant but seldom touched things in TBI masks.
Originally posted by dimented24x7
The first one of these things lives at address 0xD018 in the $61 mask. This is the filter coeff. that controls how fast the timing is ramped in. The ramping factor in the ram that the SA is multiplied by starts at 0 when the engine starts and ramps up to 1 at a rate defined by the filter coeff. Changing this will change the rate at which the motor transitions from the module to the timing in the spark tables when it first starts.
The first one of these things lives at address 0xD018 in the $61 mask. This is the filter coeff. that controls how fast the timing is ramped in. The ramping factor in the ram that the SA is multiplied by starts at 0 when the engine starts and ramps up to 1 at a rate defined by the filter coeff. Changing this will change the rate at which the motor transitions from the module to the timing in the spark tables when it first starts.
I thuought is was just set by the RPM threshold.
Do you have a snippet of the code, that runs the routine?. I'm just curious how common it's useage is.
TIA
#3
Supreme Member
Thread Starter
iTrader: (2)
Join Date: Jan 2002
Location: Moorestown, NJ
Posts: 9,962
Likes: 0
Received 3 Likes
on
3 Posts
Car: 88 Camaro SC
Engine: SFI'd 350
Transmission: TKO 500
Axle/Gears: 9-bolt w/ 3.23's
Heres what I got on a quick first pass. I havnt had time to go back and double check what I did so take it with a grain of salt.
Code:
; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Changing throttle/rpm SA control routine ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;-Throttle opening, closing? ; LDX #LD020 ;start addr. LDAA L0043 ;%tps LDAB L0044 ;%tps, one delayed SBA ;Now delta %tps BCC LE77E ;Bra if delta %tps is >0 ; NEGA ;2's comp INX ;+1, thottle closing LDAB L0043 ;%tps ; LE77E CMPA $0000,X ;compare delta TPS value to delta tps opening/closing BCS LE7A9 ;Bra if below threshold ; CMPB $0002,X ;%tps, opening/closing BCC LE78C ;Bra if %tps in b >= ; ;- 10% <= %TPS <= 50% ; LDAB L000F ;status word ORAB #$0080 ;set b7, TPS within range to perform rpms correction BRA LE7AF ;bra ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;Come here if TPS is nearly all the way open, closed, or not above delta TPS threshold, ;double check rpms arnt changing too rapidly. If not, skip adjustments and just load SA ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; LE78C LDAA L001B ;Load rpm/25 SUBA L001C ;RPM/25, one delayed ADDA #$0008 ;Add in 200 rpm bias. BPL LE795 ;bra if delta RPMs are greater than 200 rpms ; CLRA ;clear out if delta rpms are falling faster then 200 rpms ; LE795 CMPA #$0010 ;delta rpms = 200 BLS LE79B ;Bra if delta rpms are <= 200 rpm ; LDAA #$0010 ;400 rpm = 200 delta rpm, max ; LE79B CMPA LD027 ;delta rpm = -125, BCS LE7B3 ;bra if delta rpm < ; ;-delta rpms => -125 rpm ; CMPA LD026 ;delta rpm/25, 13=325 rpm BCC LE7B3 ;Bra if equal or greater ; ;- -125 rpm <= delta rpms < 125, get the SA and continue ; LDD L004F ;Get SA BRA LE7D5 ;Go subtract bias' ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;Come here if b7 not set, double check that rpms arnt rising/falling too fast, ;else, perform adjustments ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; LE7A9 LDAB L000F ;Status word BPL LE78C ;bra if b7==0 ; ANDB #$007F ;clr b7, check rpms and exit with SA alone on next pass if within range ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;Come here if the engine is at lower to mid throttle and the throttle is changing rapidly, ;or the rpms are changing rapidly, control the ammount of SA present to control engine response ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; LE7AF STAB L000F ;Save it LDAA $0004,X ;delta RPM, opening/closing %tps ; LE7B3 PSHA ;delta rpms ----> stack LDAA L001B ;rpm/25 LDAB #$0010 ;16, 400 rpm offset LDX #LD1B7 ;addr. of table JSR LFB69 ;2D lookup with upper lim ; PULB ;Get delta RPM back LDX #LD1A6 ;addr. of table ABX ;Add delta RPM to X LDAB $0000,X ;Load up value from table using delta RPM/25 as offset BPL LE7C8 ;bra if >0 ; NEGB ;2's comp. ; LE7C8 MUL ;Multiply two looked up factors ASLD ;x2 ASLD ;x2 TAB ;/256 CLRA ; TST $0000,X ;Test value pointed to by X BPL LE7D3 ;Bra if factor >= 0 add it into the SA ; ;-Factor < 0, subtract it from the timing ; NEGB ;Twos comp. DECA ;Make signed as negative
Last edited by dimented24x7; 04-12-2005 at 09:11 PM.
#4
Senior Member
Join Date: Oct 1999
Posts: 6,621
Likes: 0
Received 1 Like
on
1 Post
Car: 91 Red Sled
Axle/Gears: 10bolt Richmond 3.73 Torsen
The following is rather confusing and I can't even remember if I ever touched any of these tables or not. In my notes I've got nothing so maybe it's worth a look.
This might have contributed to the stumble at tip in from idle that I was fighting before chancing to ultimatetbi code. Although I still think it was mostly the dropped async fuel.
$61 mask:
This might have contributed to the stumble at tip in from idle that I was fighting before chancing to ultimatetbi code. Although I still think it was mostly the dropped async fuel.
$61 mask:
Code:
;*================================================== ;* Spk Latencies Correction vs Rpm ;* ;* 0 - 4800 RPM ;* ;* tbl = usec/15.26 ;*================================================== LD1A8: FCB 192 ; upper rpm tbl limit ;--------------------------------- ; usec ; rpm ;--------------------------------- FCB 0 ; 0 FCB 0 ; 400 FCB 14 ; 800 FCB 18 ; 1200 FCB 20 ; 1600 FCB 16 ; 2000 FCB 18 ; 2400 FCB 16 ; 2800 FCB 20 ; 3200 FCB 21 ; 3600 FCB 19 ; 4000 FCB 20 ; 4400 FCB 20 ; 4800 ;*================================================== ;* 2d lkup ;* ;* Base SA for Transient SA vs delta map ;*================================================== LD1CC: ;--------------------------------- ; SA ; delta map ;--------------------------------- FCB 64 ; 0 FCB 160 ; 10 FCB 224 ; 20 FCB 255 ; 30 FCB 255 ; 40 FCB 255 ; 50 FCB 255 ; 60 FCB 255 ; 70 ;*================================================== ;* ;* MAP mult for trans SA vs s/d map cnts ;* ;* tbl = mult * 256 ;*================================================== LD1D5: ;--------------------------------- ; mult ; s/d map ;--------------------------------- FCB 0 ; 20 FCB 0 ; 25 FCB 0 ; 30 FCB 0 ; 35 FCB 0 ; 40 FCB 0 ; 45 FCB 8 ; 50 FCB 14 ; 55 FCB 14 ; 60 FCB 14 ; 65 FCB 14 ; 70 FCB 14 ; 75 FCB 14 ; 80 FCB 11 ; 85 FCB 11 ; 90 FCB 9 ; 95 FCB 9 ; 100 ;*================================================== ;* delta tps & rpm SA term mult vs delta rpm / 25 ;* ;* Indexed Lookup vs delta rpm/25 value ;* ;* SA mult of next table ;* ;* tbl = mult * 64 ;*================================================== LD1E6: ;---------------------------------- ; SA ; delta rpm ;---------------------------------- FCB 240 ; 0 FCB 243 ; 25 FCB 246 ; 50 FCB 248 ; 75 FCB 250 ; 100 FCB 250 ; 125 FCB 250 ; 150 FCB 250 ; 175 FCB 0 ; 200 FCB 247 ; 225 FCB 6 ; 250 FCB 8 ; 275 FCB 10 ; 300 FCB 13 ; 325 FCB 16 ; 350 FCB 18 ; 375 FCB 20 ; 400 ;*================================================== ;* delta tps & rpm SA term vs rpm / 25 ;* ;* 2d lkup w/upr limt in 1st tbl entry, lwr limt in B ;* by rpm / 25 ;*================================================== LD1F7: FCB 128 ; uppr rpm/25 limit ;---------------------------------- ; Mult ; rpm ;---------------------------------- FCB 96 ; 400 FCB 96 ; 800 FCB 96 ; 1200 FCB 64 ; 1600 FCB 48 ; 2000 FCB 32 ; 2400 FCB 24 ; 2800 FCB 18 ; 3200 ;*================================================== ;* IAT mult for trans SA vs iat adc cnts ;* ;* tbl = mult * 256 ;*================================================== LD200: FCB 4 ; line cnt ;---------------------------------- ; Mult ; iat ;---------------------------------- FCB 0 ; 200c FCB 64 ; 80c FCB 176 ; 48c FCB 255 ; 23c FCB 255 ; -40c
#5
Moderator
iTrader: (1)
Join Date: Mar 2002
Location: Chasing Electrons
Posts: 18,432
Likes: 0
Received 225 Likes
on
211 Posts
Car: check
Engine: check
Transmission: check
Re: Re: Few more inportant but seldom touched things in TBI masks.
Originally posted by dimented24x7
The first one of these things lives at address 0xD018 in the $61 mask. This is the filter coeff. that controls how fast the timing is ramped in. The ramping factor in the ram that the SA is multiplied by starts at 0 when the engine starts and ramps up to 1 at a rate defined by the filter coeff. Changing this will change the rate at which the motor transitions from the module to the timing in the spark tables when it first starts.
The first one of these things lives at address 0xD018 in the $61 mask. This is the filter coeff. that controls how fast the timing is ramped in. The ramping factor in the ram that the SA is multiplied by starts at 0 when the engine starts and ramps up to 1 at a rate defined by the filter coeff. Changing this will change the rate at which the motor transitions from the module to the timing in the spark tables when it first starts.
Originally posted by Grumpy
Really?.
I thuought is was just set by the RPM threshold.
Do you have a snippet of the code, that runs the routine?. I'm just curious how common it's useage is.
TIA
Really?.
I thuought is was just set by the RPM threshold.
Do you have a snippet of the code, that runs the routine?. I'm just curious how common it's useage is.
TIA
Code:
LD018: FCB 6 ; filt coef, filter SA from startup LE4A7: F6 D0 18 LDAB LD018 ; 6, filt coef LE4AA: 86 FF LDAA #255 ; LE4AC: BD FB 40 JSR LFB40 ; Lag Filter LE4AF: 20 38 BRA LE4E9 ; . . . LE4E9: DD 63 STD L0063 ; SA blend term LE4EB: 20 1C BRA LE509 ; ; Then in the SA routine B has the current SA: LE90D: 96 63 LDAA L0063 ; SA blend term, msb LE90F: 7D 00 64 TST L0064 ; SA blend term, lsb LE912: 2A 01 BPL LE915 ; LE914: 4C INCA ; round up ; LE915: 3D MUL ; blend SA from startup LE916: 4C INCA ; Blended SA
RBob.
#6
Supreme Member
Thread Starter
iTrader: (2)
Join Date: Jan 2002
Location: Moorestown, NJ
Posts: 9,962
Likes: 0
Received 3 Likes
on
3 Posts
Car: 88 Camaro SC
Engine: SFI'd 350
Transmission: TKO 500
Axle/Gears: 9-bolt w/ 3.23's
Whooooops... Didnt even see that I totally pasted in the wrong thing.
I knew intuativly that there was something to blend the spark in but I never got around to looking at it untilll a few days ago. I definatly need to adjust it since the motor is rather lazy after it first catches.
Jon, Those extra tables arnt in the 8063 but Id imagine all of that stuff needs to be adjusted.
I knew intuativly that there was something to blend the spark in but I never got around to looking at it untilll a few days ago. I definatly need to adjust it since the motor is rather lazy after it first catches.
Jon, Those extra tables arnt in the 8063 but Id imagine all of that stuff needs to be adjusted.
Thread
Thread Starter
Forum
Replies
Last Post