DIY PROMDo It Yourself PROM chip burning help. No PROM begging. No PROMs for sale. No commercial exchange. Not a referral service.
Welcome to ThirdGen.org!
Welcome to ThirdGen.org.
You are currently viewing our forum as a guest, which gives you limited access to view most discussions and access our other features. By joining our community, at no cost, you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is free, fast and simple, join the ThirdGen.org community today!
im trying to understand the lingo in the hack so i can decifer how to get my $0D bin to stay in open loop idle. here is some of the hack
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
; MPH and TPS within limits to be idling, check quals for open loop idle
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;
BSET L0050,#$80 ;Status word, set b7, idling
LDAA L0295 ;Open loop idle AFR
CMPA L026D ;Compare to stored AFR
BHI L8AFC ;Bra if AFR < open loop idle AFR, disable
;open loop idle
;
;-AFR is less then lean idle AFR limit here, enter open loop idle
;
LDAB L0006 ;Cool temp, linearized
CMPB L48D8 ;Threshold to remain in open loop idle
BLS L8AE9 ;Bra if less, remain in open loop idle
;
LDAB L48D4 ;Timer threshold to enable open loop idle
BEQ L8AC9 ;Bra if ==0, check INT thresholds
;
LDX #L400B ;Opt. byte
BRSET 0,X,#$02,L8AB0 ;Bra if b1==1, AIR enabled
;
;-No open loop idle in P/N if AIR not optioned
;
BRSET L0041,#$20,L8AFC ;Status word, bra if b5==1,in park/neutral
;
;-Here if AIR is enabled or in drive
;
L8AB0 BRCLR L0050,#$02,L8AC1 ;Status word, bra if not in open loop idle
;
;~~~~~~~~~~~~~~~~~~~
; In open loop idle
;~~~~~~~~~~~~~~~~~~~
;
LDAB L0294 ;Idle timer
CMPB L48D5 ;Timer threshold to transition to open loop idle AFR
BLS L8AD9 ;Bra if timer <=, increment timer and cont.
;
;-Here to use open loop idle AFR
;
LDAA L0295 ;Load open loop idle AFR
BRA L8B05 ;Bra to continue
;
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
; Not in open loop idle, check quals to enter
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;
L8AC1 LDAB L48D4 ;Timer threshold to enable open loop idle
CMPB L0294 ;Idle timer
BCC L8AD9 ;Bra if timer is <=, dont allow open loop idle yet
;
;-Check INT thresholds for open loop idle
;
L8AC9 LDAB #128 ;Neutral INT value
LDAA L0232 ;INT
CMPA #128 ;Compare to neutral value
BCC L8AD3 ;Bra if adding fuel
;
;-Fueling is leaning out
;
NEGA ;Negate INT
;
L8AD3 ABA ;Sub out neutral INT to get diff. from neutral val.
CMPA L48EE ;Delta INT threshold to bar open loop idle
BLS L8AE4 ;Bra if delta INT is less
;
;-INT threshold not yet met for open loop idle and AIR
;
L8AD9 LDAB L0002 ;Loop counter
CMPB #$27 ;Counter val to update timer
BNE L8B02 ;Bra if !=
;
INC L0294 ;+1, idle timer
BRA L8B02 ;Bra to continue
;
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
; Here to enable open loop idle
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;
L8AE4 BSET L0050,#$02 ;Status word, set b1, open loop idle
BRA L8AFF ;Bra to continue
;
;-Alternate entry point if not resetting idle timer
;
L8AE9 BSET L0050,#$02 ;Status word, set b1, open loop idle
BRA L8B05 ;Bra to continue
;
;~~~~~~~~~~~~~~~~~~~~
; Here if not idling
;~~~~~~~~~~~~~~~~~~~~
;
L8AEE LDD L00F8 ;Engine run time
CPD L48D6 ;Engine run time to clear initial idle terms
BCS L8AF9 ;Bra if timer is <
;
BSET L003F,#$40 ;Status word, set b6, clear initial added IAC flow
;
L8AF9 BCLR L0050,#$80 ;Status word, clear b7, idle flag
;
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;-Here to disable open loop idle
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;
L8AFC BCLR L0050,#$02 ;Clear open loop idle flag
;
L8AFF CLR L0294 ;Clear idle timer
;
L8B02 LDAA L026D ;Stored AFR
L8B05 BRSET L003E,#$80,L8B3F ;Status word, bra if b7==1, in closed loop
;
;~~~~~~~~~~~~~~~~~~~
; In open loop here
;~~~~~~~~~~~~~~~~~~~
;
BRCLR L0004,#$10,L8B13 ;Status word, bra if b4==0, no hot restart
;
;-Hot restart in effect
;
SUBA L4952 ;Subtract AFR bias for hot restart
BCC L8B13 ;Bra if no underflow
;
CLRA ;Clear underflow
;
;-Hot restart not in effect, check temp limits for open loop AFR enrichment
so what does "bra if" statements mean? also when i see the word threshhold. does the value need to be higher to enable?
;~~~~~~~~~~~~~~~~~~~~~~
;-Open loop idle quals
;~~~~~~~~~~~~~~~~~~~~~~
;
L48D4 FCB 255 ;255 sec, timer threshold to enable open loop idle
L48D5 FCB 0 ;Timer threshold to remain in open loop idle
L48D6 FDB 0015 ;15 sec, time after startup to clear initial idle terms
L48D8 FCB 100 ;35 dec C, threshold to remain in open loop idle
;
;~~~~~~~~~~~~~~~~~~~~~~
;-Open loop AFR params
;~~~~~~~~~~~~~~~~~~~~~~
;
L48D9 FCB 173 ;90 deg C, temp threshold for open loop idle AFR bias
L48DA FCB 0 ;-40 deg C, lower cool temp for open loop AFR enrichment
L48DB FCB 254 ;151 dec C, upper cool temp for open loop AFR enrichment
;
L48DC FCB 200 ;10 secs, time limit for initial AFR enrichment
;
L48DD FCB 147 ;14.7:1, stoich AFR
;
L48DE FCB 16 ;1.6:1 AFR bias for open loop idle
; Used prior to TPS action after start up
;
L48DF FCB 147 ;14.7:1 AFR, lower limit for quasi-closed loop
L48E0 FCB 10 ;1.0:1, onitiial AFR enrichemnt
L48E1 FCB 5 ;0.5:1, initial AFR enrichment if in park/neutral
L48E2 FCB 6 ;Filter coeff. for filtering AFR after transition from idle
;
__________________ 95 1/2 ton short bed, 350 .02 over,world torquer s/r heads, 9.2 cr, edelbrock 3704 manifold bored to 2", comp roller 210/214 (.510,.472) 114 sep 110 C/L, comp pro magnum roller rockers, 2" tbi, 65lbs injectors at 19lbs fp, walbro 190 pump, ceramic coated shortie headers. msd blaster coil.
BR "Branch" statements work like this for example:
BRSET L0041,#$20,L8AFC ;Status word, bra if b5==1,in park/neutral
BRSET if the statement is true, then BRanch to location L8AFC
The statement is: is the bit at location L0041 bit 5 turned on?
L0041 is the address, # states its a number not a value, $20 is hex for bit 5. Syntax does change in some cases between assemblers/disassemblers so you'll need to be careful determining if something is a value or an address.
The text after all this is from the author telling you that "branch if L0041, bit 5 is ON" (Park or Neutral position will make that true)
Thresholds are just values that must be crossed to make something true/false. Can be high or low depending on what you are doing.
HTH