DIY PROM Do It Yourself PROM chip burning help. No PROM begging. No PROMs for sale. No commercial exchange. Not a referral service.

Few more inportant but seldom touched things in TBI masks.

Thread Tools
 
Search this Thread
 
Old 04-11-2005, 11:49 PM
  #1  
Supreme Member

Thread Starter
iTrader: (2)
 
dimented24x7's Avatar
 
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)

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
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.

Last edited by dimented24x7; 04-11-2005 at 11:51 PM.
Old 04-12-2005, 05:26 PM
  #2  
Supreme Member
 
Grumpy's Avatar
 
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.
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
Old 04-12-2005, 09:09 PM
  #3  
Supreme Member

Thread Starter
iTrader: (2)
 
dimented24x7's Avatar
 
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.
Old 04-12-2005, 10:01 PM
  #4  
Senior Member

 
JPrevost's Avatar
 
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:
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
Old 04-13-2005, 06:59 AM
  #5  
Moderator

iTrader: (1)
 
RBob's Avatar
 
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.
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
The SA blend from module to running starts with the 'running' RPM threshold. This increase in SA is controlled as to not have a sudden jump in timing. The typical blend time is about 1/2 to 1 second.

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
How quickly to bring in the SA from the module crank is a balancing act with the IAC. Need to bring it in quick enough to pick up as the IAC starts to decay, but not too quick that the engine suddenly rev's.

RBob.
Old 04-13-2005, 12:32 PM
  #6  
Supreme Member

Thread Starter
iTrader: (2)
 
dimented24x7's Avatar
 
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.
Related Topics
Thread
Thread Starter
Forum
Replies
Last Post
MustangBeater20
TBI
11
10-29-2022 09:20 PM
BRoss99
Electronics
27
12-07-2020 06:50 PM
db057
Tech / General Engine
4
08-22-2015 08:17 PM
Bob88GTA
History / Originality
7
08-18-2015 03:31 PM



Quick Reply: Few more inportant but seldom touched things in TBI masks.



All times are GMT -5. The time now is 06:40 AM.