;--------------------------------------------- ; 0D_HACK.SRC ; BDWM/9042, P/N 16189041 10-11-1993 ; ; REV 5/8/98 ws, Update 8192 data lists ; ; PCM TYPE $0D, P/N 16196395 PCM, S/S BY PCM 16197427 ; ; MY 94, 5.7L V8 C1 M30 GT4 (3.73) NB2 NB6 TIER 1 ; ; MAP = (n+28.05)/2.71 ; = (n*0.369)+10.354 ; = (n/2.71)+10.354 ; ; 0050,#$80 IDLE FLAG ;--------------------------------------------- ; ;~~~~~~~~~~~~~~~~~ ;-Work pending... ;~~~~~~~~~~~~~~~~~ ; Re-visit A/D routine re-visit 7cF6 Continue with RTS commenting AE sync, async, or both? 7E2E 1943 D854 D425 b773 b3c8 L932A, port C b7 = FWD low or PS switch? ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;Some conversion stuff... ;>SPARK ; -SA = X * .175781 ; -Slope SA = X * .109863 ;>RPM ; -RPM = X / 25 ; -Scaled RPM = X / 12.5, 25 ;>TPS ; -TPS = X * .0039 ;>MAP/VAC ; -SdMap = ((ADC - 26) x 151) / 128 ; -kPa = (SDMap x .313) + 20.0 ; -kPa = (ADC x 0.369) + 10.415 ; -VACkPa = 80.9-.315x(A/D Baro - A/D MAP) ; ;>Coolant counts conversion table for raw A/D value ; ; A/D degrees A/D ; counts C Inv ; ------- ------- --- ; 255 -40 0 ; 251 -30 4 ; 250 -25 5 ; 247 -20 8 ; 245 -15 10 ; 241 -10 14 ; 237 - 5 18 ; 231 0 24 ; 225 5 30 ; 218 10 37 ; 209 15 46 ; 199 20 56 ; 189 25 66 ; 177 30 78 ; 165 35 90 ; 152 40 103 ; 139 45 116 ; 126 50 129 ; 114 55 141 ; 102 60 153 ; 92 65 163 ; 81 70 174 ; 72 75 183 ; 64 80 191 ; 56 85 199 ; 50 90 205 ; 44 95 211 ; 39 100 216 ; 34 105 221 ; 30 110 225 ; 26 115 229 ; 23 120 232 ; 21 125 234 ; 18 130 237 ; 16 135 239 ; 14 140 241 ; 13 145 242 ; 12 150 243 ; 0 200 255 ; ;>Temp conversion for stored linear counts ; -Deg C = .746 x counts - 40 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; ;~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; RAM Addresses ; ;~~~~~~~~~~~~~~~~~~~~~~~~~ ; L0000 EQU $0000 ;Status word ; b7= ; b6= ; b5= ; b4= ; b3= ; b2= ; b1= ; b0= ; L0002 EQU $0002 ;Loop counter L0003 EQU $0003 ;Loop counter, one delayed L0004 EQU $0004 ;Status word ; b7=EST circuit failure ; b6= ; b5= ; b4=Hot restarts in effect ; b3=Bad shutdown ; b2= ; b1= ; b0= ; L0005 EQU $0005 ;Status word ; b7=MAP AE in effect ; b6=TPS AE in effect ; b5= ; b4=EPROM failure ; b3= ; b2= ; b1= ; b0= ; L0006 EQU $0006 ;Cool temp, linear L0007 EQU $0007 ;Current IAC steps L0008 EQU $0008 ;Desired IAC steps L0009 EQU $0009 ;Status word ; b7= ; b6= ; b5= ; b4= ; b3= ; b2= ; b1= ; b0=Reset IAC ; L000A EQU $000A ;IAC control word ; b7= ; b6= ; b5= ; b4, 1=Enable IAC ; b3, 1=Coil state B on ; b2, 1=Coil state A on ; b1= ; b0, 1=Extend IAC ; L0016 EQU $0016 ;Error word #1 ; b7= ; b6= ; b5= ; b4= ; b3= ; b2= ; b1= ; b0= ; L0017 EQU $0017 ;Error word #2 ; b7= ; b6= ; b5= ; b4= ; b3= ; b2= ; b1= ; b0= ; L0018 EQU $0018 ;Error word #3 ; b7= Error 31, Governor ; b6= Error 32, EGR ; b5= Error 33, MAP sens. high ; b4= Error 34, MAP sens. low ; b3= Error 35, IAC ; b2= Error 36, ; b1= Error 37, TCC brake switch stuck on ; b0= Error 38, TCC brake switch stuck off ; L0019 EQU $0019 ;Error word #4 ; b7= ; b6=Error 41, 1x cam sensor ; b5=Error 42, EST circuit failure ; b4=Error 43, Knock sensor circuit ; b3= ; b2=Error 45, O2 rich ; b1=Error 46, VATS ; b0= ; L001A EQU $001A ;Error word #5 ; b7=Err. 48 ; b6=Err. 49 ; b5=Err. 51, EEPROM checksum fail ; b4=Err. 52, High system voltage, long test ; b3=Err. 53, High system voltage ; b2=Err. 55, Faulty PCM ; b1=Err. 56, quad driver B fault ; L001B EQU $001B ;Error word #6 ; b7 1 = ERR 57, ; b6 1 = ERR 58, high trans temp ; b5 1 = ERR 59, low trans temp ; b4 1 = ERR 61, ; b3 1 = ERR 62, ; b2 1 = ERR 63, high baro pressure ; b1 1 = ERR 64, low baro pressure ; b0 1 = ERR 65, ; L001D EQU $001D ;Error word #8 ; b7=Err 75, system voltage low ; b6=Err 76, ; b5=Err 77, MNP switch ; b4=Err 78, ; b3=Err 79, Transmission hot ; b2=Err 81, Shift sol. A failure ; b1=Err 82, Shift sol. B failure ; b0=Err 83, TCC solenoid failure ; L001E EQU $001E ;Error word #9 ; b7= ; b6= ; b5= ; b4= ; b3= ; b2=Error 89, max adpt long shift ; b1= ; b0= ; L001F EQU $001F ;Error 21 counter L0020 EQU $0020 ;Error 22 counter L0021 EQU $0021 ;Error 24 counter L0022 EQU $0022 ;Error 28 counter L0023 EQU $0023 ;Error 37 counter L0024 EQU $0024 ;Error 38 counter L0025 EQU $0025 ;Error 68 counter L0026 EQU $0026 ;Error 66 counter L0027 EQU $0027 ;Error 67 counter L0028 EQU $0028 ;Error 68 counter L0029 EQU $0029 ;Error 72 counter L002A EQU $002A ;Error 73 counter L002B EQU $002B ;Error 81 counter L002C EQU $002C ;Error 82 counter L002D EQU $002D ;Error 83 counter L002E EQU $002E ;Error 85 counter L002F EQU $002F ;Error 86 counter L0030 EQU $0030 ;Error 87 counter L0031 EQU $0031 ;Error 89 counter L0036 EQU $0036 ;Status word ; b7= ; b6= ; b5= ; b4= ; b3=Stall saver in effect ; b2=TPS kicker disabled once ; b1= ; b0= ; L0037 EQU $0037 ;Status word ; b7= ; b6= ; b5= ; b4= ; b3= ; b2=Throttle kicker active ; b1= ; b0= ; L003A EQU $003A ;Error word ; b7= ; b6=Bad RAM checksum ; b5=Loop overran ; b4= ; b3= ; b2= ; b1=EPROM failure ; b0=A/D failure ; L003B EQU $003B ;Serial data status word ; b7= ; b6= ; b5= ; b4= ; b3= ; b2=Diagnostics disabled ; b1= ; b0= ; L003D EQU $003D ;Status word ; b7= ; b6= ; b5= ; b4=In PE ; b3= ; b2= ; b1=VATS passed/failed ; b0= ; L003E EQU $003E ;Status word ; b7= ; b6= ; b5= ; b4= ; b3= ; b2=IAC disabled, batt volts out of range ; b1= ; b0= ; L003F EQU $003F ;Status word ; b7= ; b6= ; b5= ; b4=Sync/async. flag ; b3= ; b2= ; b1= ; b0= ; L0041 EQU $0041 ;Status word ; b7= ; b6= ; b5=In P/N ; b4=A/C on ; b3= ; b2= ; b1=MAT SA corr., 1=negative, 0=positive ; b0=Increment closed linear EGR position ; L0043 EQU $0043 ; L0044 EQU $0044 ;Status word ; b7=EST circuit failure ; b6=EST monitor ; b5= ; b4=Shutting down ; b3=First valid DRP recieved ; b2= ; b1= ; b0=Factory test required ; L0046 EQU $0046 ;Status word ; b7= ; b6= NV memory lost ; b5= ; b4= ; b3=DFCO in effect ; b2= ; b1= ; b0= ; L0047 EQU $0047 ;Status word ; b7= ; b6= ; b5=TCC status ; b4=A/C status ; b3= ; b2= ; b1= ; b0=Load transient MAP filter coeff ; L004B EQU $004B ;I/O word ; b7= ; b6= ; b5= ; b4= ; b3= ; b2= ; b1= ; b0= ; L004C EQU $004C ;I/O port D word ; b7= ; b6= ; b5= ; b4=IAC enable ; b3=IAC coil state B ; b2=IAC coil state A ; b1= ; b0= ; L004D EQU $004D ;I/O port C word ; b7= ; b6= ; b5, 0=Park/Neutral ; b4= ; b3= ; b2= ; b1, 1=brake switch off ; b0, 1=A/C req. ; L004E EQU $004E ;Status word ; b7= ; b6= ; b5= ; b4= ; b3= ; b2= ; b1= ; b0, 1=cool temp <= 40 deg C, 0= cool temp > 50 deg C ; L004F EQU $004F ;Status word ; b7=Engine running ; b6=EST bypass diag. already performed ; b5=Reset INT on VE table change ; b4=Engine above threshold for cranking ; b3=Switched to open VE table ; b2=Major loop overran 6.25 msec period ; b1= ; b0, 1=Negative SA, 0=Positive SA ; L0050 EQU $0050 ;Status word ; b7= ; b6=Idle SA enabled ; b5=DRP occured ; b4= ; b3=In factory test mode ; b2=DRP occured, 6.25 msec test ; b1= ; b0=Sync. MAP reads ; L0051 EQU $0051 ;Status word ; b7=Trans. from double. to single fire in prog. ; b6=All SA has been ramped in ; b5=DFCO SA correction enabled ; b4=High batt. volts ; b3=Shutdown in effect ; b2= ; b1= ; b0=In single fire mode ; L0052 EQU $0052 ;Status word ; b7= ; b6= ; b5=A/C not ok'd ; b4=A/C disabled due to high rpms ; b3= ; b2= ; b1= ; b0= ; L0053 EQU $0053 ;Status word ; b7= ; b6=Single fire alt. exit desired ; b5=First injector firing pending ; b4= ; b3= ; b2= ; b1= ; b0, 1=engine idle overspeed, 0=engine idle underspeed ; L0055 EQU $0055 ;Fuel pump volts x 10 L005F EQU $005F ;DRP period L0061 EQU $0061 ;Scaled RPMs, 0-2400 in 12.5 rpm inc., 2400-4800 in 25 rpm inc. L0062 EQU $0062 ;RPM/25 L0063 EQU $0063 ;MSB, filtered RPM/12.5 L0064 EQU $0064 ;LSB, filtered RPM/12.5 L0065 EQU $0065 ;RPM/12.5, one delayed L0067 EQU $0067 ;RPM/6.25 L0068 EQU $0068 ;MSB, filtered RPM/6.25 L0069 EQU $0069 ;LSB, filtered RPM/6.25 L006A EQU $006A ;MSB, filtered RPM/6.25, der. term L006B EQU $006B ;LSB, filtered RPM/6.25, der. term L006C EQU $006C ;Transient RPM ratio L006D EQU $006D ;Status word ; b7= ; b6= ; b5= ; b4= ; b3=EGR position error sign, 0=plus/1=minus ; b2= ; b1= ; b0= ; L006E EQU $006E ;Status word ; b7= ; b6= ; b5= ; b4= ; b3= ; b2= ; b1=Knock prevention in effect ; b0= ; L006F EQU $006F ;Status word ; b7= ; b6=Error, high MAP ; b5= ; b4= ; b3=Error, low MAP ; b2=Error, High TPS ; b1= ; b0= ; L0070 EQU $0070 ;Status word ; b7= ; b6= ; b5= ; b4= ; b3= ; b2= ; b1= ; b0=EGR fault (code 32) ; L0072 EQU $0072 ;(???) ; b7= ; b6= ; b5= ; b4= ; b3= ; b2= ; b1= ; b0= ; L0073 EQU $0073 ;CPU status ; b7= ; b6= ; b5= ; b4= ; b3= ; b2= VSS pulse ocured ; b1= ; b0= ; L0075 EQU $0075 ;Governor status word ; b7=In MPH govern ; b6=MPH overspeed ; b5= ; b4= ; b3= ; b2=RPM overspeed ; b1=Post derivative TPS return ; b0=RPM govern in effect ; L0078 EQU $0078 ;Cat temperature L007F EQU $007F ;Status word ; b7= ; b6= ; b5= ; b4=Forced to downshift (???) ; b3=Forced to downshift (???) ; b2= ; b1=Forced to upshift (???) ; b0=Forced to upshift (???) ; L0081 EQU $0081 ;Trans shift status word ; b7=Shift is complete ; b6= ; b5=2-4 jump shift when in OD ; b4=Shift has started ; b3= ; b2= ; b1=Derivative shift has started ; b0=Slope of derivative is negative ; L0082 EQU $0082 ;Status word ; b7=Powertrain is in motion ; b6=ELCO inst. prom is present ; b5= ; b4=NV ram update allowed ; b3=Ign. power is on ; b2=Force motor pulse in progress ; b1= ; b0=Force motor shutoff due to low bat. volts ; L0083 EQU $0083 ;Trans status word ; b7= ; b6= ; b5= ; b4= ; b3= ; b2= ; b1=Hot temp. threshold ; b0=Disallow shift into OD ; L0085 EQU $0085 ;TCC status word ; b7= ; b6= ; b5=TCC commanded to lock ; b4= ; b3= ; b2= ; b1= ; b0= ; L008A EQU $008A ;(???) ; b7= ; b6= ; b5= ; b4= ; b3= ; b2= ; b1= ; b0= ; L0092 EQU $0092 ;Status word ; b7=Heat related transmission errors set ; b6= ; b5= ; b4= ; b3=General trans related errors set ; b2=Trans. press. switch man. error ; b1= ; b0=Transmission TPS error ; L0093 EQU $0093 ;Status word ; b7= ; b6= ; b5= ; b4= ; b3=Error, high system voltage present ; b2=Error, trans output speed loss ; b1=Shift error ; b0=External errors set ; L0094 EQU $0094 ;Status word ; b7= ; b6= ; b5= ; b4= ; b3=High system voltage present ; b2, 0=bump idle tps when in decel ; b1= ; b0= ; L0096 EQU $0096 ;Status word ; b7= ; b6= ; b5= ; b4=Enable kickdown ; b3= ; b2= ; b1= ; b0=Brakes applied ; L0099 EQU $0099 ;Trans shift pattern word ; b7= ; b6= ; b5= ; b4= ; b3, 1=Illigal shift pattern ; b2, 1=Manual pattern requested ; b1, 1=Performance pattern requested ; b0, 1=Normal pattern requested ; L009A EQU $009A ;Previous shift pattern ; L009C EQU $009C ;Trans range word ; b7=Illegal range ; b6=P/N ; b5=Reverse ; b4= ; b3=4th ; b2=3rd ; b1=2nd ; b0=1st ; L009F EQU $009F ;A/D transmission temp L00A0 EQU $00A0 ;A/D TPS voltage L00A1 EQU $00A1 ;A/D batt. voltage L00A2 EQU $00A2 ;Linaer cool temp L00A3 EQU $00A3 ;Engine temp for transmission L00A5 EQU $00A5 ;Cold temp trans term L00A6 EQU $00A6 ;MSB, trans baro term, filtered L00A7 EQU $00A7 ;LSB, trans baro term, filtered L00AA EQU $00AA ;MSB, transmission TPS, filtered L00AB EQU $00AB ;LSB, transmission TPS, filtered L00AC EQU $00AC ;(???) L00AE EQU $00AE ;Trans temp, linear L00AF EQU $00AF ;MSB, Trans temp, filtered L00B0 EQU $00B0 ;LSB, Trans temp, filtered L00D1 EQU $00D1 ;MSB, MPH, filtered L00D2 EQU $00D2 ;LSB, MPH, filtered L00D5 EQU $00D5 ;Shift timer (???) L00F1 EQU $00F1 ;MPH, one delayed L00F5 EQU $00F5 ;Brake status min change state timer L00F8 EQU $00F8 ;MSB, engine run time L00F9 EQU $00F9 ;LSB, engine run time L0138 EQU $0138 ;Start of shift time L0139 EQU $0139 ;Post shift timer L013A EQU $013A ;Accumulated line pressure L0144 EQU $0144 ;Adaptive pressure modifer L0145 EQU $0145 ;Adapytive modifer cell # L014C EQU $014C ;Temp value used for force motor (???) L014D EQU $014D ;Upper val. (???) L014E EQU $014E ;Lower val. (???) L015B EQU $015B ;Error 21 timer L015C EQU $015C ;Error 22 timer L0192 EQU $0192 ;A/D coolant L0197 EQU $0197 ;Current %TPS, for engine L0198 EQU $0198 ;%TPS, one delayed L0199 EQU $0199 ;%TPS, two delayed L019A EQU $019A ;%TPS, three delayed L019B EQU $019B ;%TPS, four delayed L01D1 EQU $01D1 ;Desired % liner EGR position L01D2 EQU $01D2 ;Corrected % EGR L01D7 EQU $01D7 ;Linear EGR position L01D8 EQU $01D8 ;MSB, A/D closed EGR pintle pos, lag filtered L01D9 EQU $01D9 ;LSB, A/D closed EGR pintle pos, lag filtered L01DA EQU $01DA ;MSB, filtered % liner EGR L01DB EQU $01DB ;LSB, filtered % liner EGR L01DC EQU $01DC ;% linear EGR L01DD EQU $01DD ;Linear EGR position error L01DE EQU $01DE ;Desired EGR gain factor L01DF EQU $01DF ;EGR integral L01E1 EQU $01E1 ;Course EGR proportional term L01E3 EQU $01E3 ;SD MAP L01E5 EQU $01E5 ;SD MAP, two delayed L01E6 EQU $01E6 ;A/D MAP, Filtered, MSB L01E7 EQU $01E7 ;A/D MAP, Filtered, LSB L01E8 EQU $01E8 ;Transient MAP apply timer L01E9 EQU $01E9 ;A/D MAP L01EA EQU $01EA ;AE SD MAP, filtered per cool temp, MSB L01EB EQU $01EB ;AE SD MAP, filtered per cool temo, LSB L01EC EQU $01EC ;Vacuum L01ED EQU $01ED ;Delta MAP for AE L01EE EQU $01EE ;Slo filtered MAP filter coeff. L01EF EQU $01EF ;Baro val. for lookup L01F0 EQU $01F0 ;RPM threshold for PE, based on Baro L01F1 EQU $01F1 ;Baro factor for MAP/baro ratio calc L01F2 EQU $01F1 ;MAP/baro ratio L01F3 EQU $01F3 ;MSB, Major loop filtered O2 L01F4 EQU $01F4 ;LSB, Major loop filtered O2 L01F5 EQU $01F5 ;MSB, Slow filtered O2, based on airflow L01F6 EQU $01F6 ;LSB, Slow filtered O2, based on airflow L01F8 EQU $01F8 ;A/D O2 voltage L01FC EQU $01FC ;%TPS L01FF EQU $01FF ;AE TPS, filtered per cool temp, MSB L0200 EQU $0200 ;AE TPS, filtered per cool temp, LSB L0201 EQU $0201 ;Slow filtered %TPS L0206 EQU $0206 ;TPS baro corr. factor L0207 EQU $0207 ;Delta TPS AE baro factor L0208 EQU $0208 ;AE TPS filter coeff. vs. cool temp L0209 EQU $0209 ;DRP, two delayed L020B EQU $020B ;DRP period L020D EQU $020D ;Dynamic dwell L020F EQU $020F ;Outputted dwell L0211 EQU $0211 ;MSB, total SA L0212 EQU $0212 ;LSB, total SA L0215 EQU $0215 ;MSB, SA ramping multiplier L0216 EQU $0216 ;LSB, SA ramping multiplier L0219 EQU $0219 ;MSB, commanded SA L021A EQU $021A ;LSB, commanded SA L021B EQU $021B ;SA from table lookup L021C EQU $021C ;Cool temp SA correction L021D EQU $021D ;MAT temp for look up L021E EQU $021E ;Altitude SA correction L021F EQU $021F ;PE SA adder L0220 EQU $0220 ;Final SA L0224 EQU $0224 ;SA latency correction L0226 EQU $0226 ;MSB, knock counts, one delayed L0227 EQU $0227 ;LSB, knock counts, one delayed L0228 EQU $0228 ;MSB, EST circuit info L0229 EQU $0229 ;LSB, EST circuit info L022B EQU $022B ;DFCO SA correction L022E EQU $022E ;Low octane SA retard L022F EQU $022F ;Knock retard x 2 L0230 EQU $0230 ;Knock counts L0231 EQU $0231 ;Burst retard timer L0232 EQU $0232 ;Current INT L0233 EQU $0233 ;DRP counter, used for setting engine running flag L0234 EQU $0234 ;Transition from crank to run delay DRP counter L0246 EQU $0246 ;Error 32 timer L024C EQU $024C ;Err. 34 timer L0252 EQU $0252 ;MAT temp, linear L0257 EQU $0257 ;Mass of air in cylinder, MSB L0258 EQU $0258 ;Mass of air in cylinder, LSB L0259 EQU $0259 ;Inv. air density, MSB L025A EQU $025A ;Inv. air density, LSB L025B EQU $025B ;Max mass of air in cyl., MSB L025C EQU $025C ;Max mass of air in cyl., LSB L0260 EQU $0260 ;AE temp correction mult. L0261 EQU $0261 ;MAP AE PW L0262 EQU $0262 ;TPS AE PW L0266 EQU $0266 ;Min DFCO rpm L026B EQU $026B ;BLM multiplier L026D EQU $026D ;AFR L026F EQU $026F ;MSB, BPW L0270 EQU $0270 ;LSB, BPW L0271 EQU $0271 ;Sync BPW, MSB L0272 EQU $0272 ;Sync BPS, LSB L0273 EQU $0273 ;TOC 5 value L0277 EQU $0277 ;MSB, sync BPW L0278 EQU $0278 ;LSB, sync BPW L0279 EQY $0279 ;PW compensation for batt. volts L027A EQU $027A ;MSB, kPa x 256 L027B EQU $027B ;LSB, kPa x 256 L0283 EQU $0283 ;MSB, time since last DRP L0284 EQU $0284 ;LSB. time since last DRP L028B EQU $028B ;Elapsed DRPs L0295 EQU $0295 ;Lean AFR limit (open loop idle) L02A0 EQU $02A0 ;Cold P/N timer L02A1 EQU $02A1 ;MSB, shutdown timer L02A2 EQU $02A2 ;LSB, shutdown timer L02A5 EQU $02A5 ;Prev. cool temp (for restart) L02A6 EQU $02A6 ;High res cool temp L02A9 EQU $02A9 ;MSB, governor TPS L02AA EQU $02AA ;LSB, governor TPS L02AB EQU $02AB ;MSB, Gov'r actuator integral term L02AC EQU $02AC ;LSB, Gov'r actuator integral term L02AD EQU $02AD ;Governor integral term L02AF EQU $02AF ;Previous governor RPM/25 L02B0 EQU $02B0 ;Delta governor RPM/25 L02B1 EQU $02B1 ;Governor RPM/25 L02B3 EQU $02B3 ;RPM prop. term L02B5 EQU $02B5 ;MPH prop. term L02B6 EQU $02B6 ;Governor RPM error L02B7 EQU $02B7 ;Governor MPH error L02B8 EQU $02B8 ;Gov'r actuator prop. term L02BA EQU $02BA ;MSB, Gov'r actuator integral factor L02BB EQU $02BB ;LSB, Gov'r actuator integral factor L02BC EQU $02BC ;Desired outputted TPS, governor L02BD EQU $02BD ;Gov'r actuator TPS error L02C0 EQU $02C0 ;(???) L02C2 EQU $02C2 ;(???) L02CA EQU $02CA ;(???) L02CB EQU $02CB ;(???) L02CC EQU $02CC ;(???) L02CD EQU $02CD ;(???) L02CF EQU $02CF ;(???) L02D6 EQU $02D6 ;BLM cell #0 L02D7 EQU $02D7 ;BLM cell #1 L02D8 EQU $02D8 ;BLM cell #2 L02D9 EQU $02D9 ;BLM cell #3 L02DA EQU $02DA ;BLM cell #4 L02DB EQU $02DB ;BLM cell #5 L02DC EQU $02DC ;BLM cell #6 L02DD EQU $02DD ;BLM cell #7 L02DE EQU $02DE ;BLM cell #8 L02DF EQU $02DF ;BLM cell #9 L02E0 EQU $02E0 ;BLM cell #10 L02E1 EQU $02E1 ;BLM cell #11 L02E2 EQU $02E2 ;BLM cell #12 L02E3 EQU $02E3 ;BLM cell #13 L02E4 EQU $02E4 ;BLM cell #14 L02E5 EQU $02E5 ;BLM cell #15 L02E6 EQU $02E6 ;BLM cell #16 L02E7 EQU $02E7 ;BLM cell #17 L02E8 EQU $02E8 ;BLM cell #18 L02E9 EQU $02E9 ;BLM cell #19 L02EA EQU $02EA ;BLM cell #20 L02EC EQU $02EC ;AFR crank trans. AFR L02F0 EQU $02F0 ;DRP counter L02F1 EQU $02F1 ;Stored DRP counts L02F2 EQU $02F2 ;Crank fuel PW, MSB L02F3 EQU $02F3 ;Crank fuel PW, LSB L0316 EQU $0316 ;Baro L0317 EQU $0317 ;Filtered baro, MSB L0318 EQU $0318 ;Filtered baro, LSB L0319 EQU $0319 ;Idle TPS, Filtered, MSB L031A EQU $031A ;Idle TPS, Filtered, LSB ; ;~~~~~~~~~~~~~~~~~~~~~~~~~ ; Adaptive modifier cells ;~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;-In second gear ; L031B EQU $031B ;Cell #0 L031C EQU $031C ;Cell #1 L031D EQU $031D ;Cell #2 L031E EQU $031E ;Cell #3 ; ;-In third gear ; L031F EQU $031F ;Cell #0 L0320 EQU $0320 ;Cell #1 L0321 EQU $0321 ;Cell #2 L0322 EQU $0322 ;Cell #3 ; ;-In fourth gear ; L0323 EQU $0323 ;Cell #0 L0324 EQU $0324 ;Cell #1 L0325 EQU $0325 ;Cell #2 L0326 EQU $0326 ;Cell #3 ; L0393 EQU $0393 ;(???) L0395 EQU $0395 ;(???) L0396 EQU $0396 ;(???) ;End of stack ;^ ;... ;^ ;^ ;^ L03FF EQU $03FF ;Start of stack ; ;~~~~~~~~ ; HU RAM ;~~~~~~~~ ; L0400 EQU $0400 ;(???) L0403 EQU $0403 ;(???) L0404 EQU $0404 ;(???) L0414 EQU $0414 ;(???) ; L080C EQU $080C ;# of VSS pulses recieved since last update L080D EQU $080D ;MSB, VSS counter L080E EQU $080D ;LSB, VSS counter L080F EQU $080F ;MSB, VSS counter, one delayed L0810 EQU $0810 ;LSB, VSS counter, one delayed L0811 EQU $0811 ;VSS pulse timer L0812 EQU $0812 ;MSB, current MPH L0813 EQU $0813 ;LSB, current MPH L081E EQU $081E ;Exec. delay timer L081F EQU $081F ;Time based delay for inj. firing L0821 EQU $0821 ;MSB, TOC 5 timer val. L0822 EQU $0822 ;LSB, TOC 5 timer val. L0823 EQU $0823 ;MSB, TOC 4 timer val. L0824 EQU $0824 ;LSB, TOC 4 timer val. L0825 EQU $0825 ;MSB, TOC 5 timer val. L0826 EQU #0826 ;LSB, TOC 5 timer val. L0827 EQU $0827 ;MSB, TOC 4 timer val. L0828 EQU $0828 ;LSB, TOC 4 timer val. L0829 EQU $0829 ;DRP counter L082A EQU $082A ;Period in double fire L082D EQU $082D ;A/D coolant L082E EQU $082E ;A/D MAP, A/D conv. L082F EQU $082F ;ALDL switch voltage L0830 EQU $0830 ;Enable A/C timer L0831 EQU $0831 ;Re-enable A/C timer L0832 EQU $0832 ;High rpm A/C disable timer L0833 EQU $0833 ;High rpm A/C re-enable timer L0834 EQU $0834 ;High TPS A/C disable timer L0837 EQU $0837 ;Stored RPM/12.5 L0838 EQU $0838 ;MSB, stored RPM/12.5, filtered L0839 EQU $0839 ;LSB, stored RPM/12.5, filtered L083A EQU $083A ;RPM error/12.5 L083B EQU $083B ;Stored SA proportioning term L083D EQU $083D ;MSB, stored RPM/25 L083E EQU $083E ;LSB, stored RPM/25 L083F EQU $083F ;Stored static dwell L0841 EQU $0841 ;Low octane RPM mult. L0842 EQU $0842 ;Burst knock retard L0843 EQU $0843 ;Knock attack rate L0844 EQU $0844 ;Max knock retard L084E EQU $084E ;Err. 41 counter L084F EQU $084F ;EGR proportional term L0851 EQU $0851 ;MSB, TIC 2 timer val (VATS) L0852 EQU $0852 ;LSB, TIC 2 timer val (VATS) L0853 EQU $0853 ;TCC relock delay timer L088D EQU $088D ;TPS kicker time ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Registers ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L3000 EQU $3000 ;Port A/Start of CPU regs. L300E EQU $300E ;MSB, 16 bit free running CPU counter L300F EQU $300F ;LSB, 16 bit free running CPU counter L3012 EQU $3012 ;TIC 2 L0316 EQU $3016 ;TOC 1 L3030 EQU $3030 ;A/D Control Reg L3031 EQU $3031 ;A/D result reg 1 L3032 EQU $3032 ;A/D result reg 2 L3033 EQU $3033 ;A/D result reg 3 L3034 EQU $3034 ;A/D result reg 4 L3060 EQU $3060 ; L3061 EQU $3061 ; L3062 EQU $3062 ;I/O port D? L3063 EQU $3063 ; L3064 EQU $3064 ;I/O port C L3065 EQU $3065 ; L306F EQU $306F ;Hardware, fuel pump relay control L3FC0 EQU $3FC0 ;DRP counter L3FC4 EQU $3FC4 ;MSB, VSS counter L3FC5 EQU $3FC5 ;LSB, VSS counter L3FCA EQU $3FCA ;MSB, EST circuit info L3FCB EQU $3FCB ;LSB, EST circuit info L3FCC EQU $3FCC ; L3FDC EQU $3FDC ; L3FDE EQU $3FDE ; L3FE4 EQU $3FE4 ; L3FE5 EQU $3FE5 ; L3FE6 EQU $3FE6 ; L3FE7 EQU $3FE7 ; L3FE8 EQU $3FE8 ; L3FE9 EQU $3FE9 ; L3FEC EQU $3FEC ; L3FED EQU $3FED ; L3FF6 EQu $3FF6 ;MSB, EST fall counter L3FF7 EQU $3FF7 ;LSB, EST fall counter L3FFA EQU $3FFA ;CPU stat. reg. L3FFC EQU $3FFC ;I/O port D? L3FEA EQU $3FEA ; ; ; ----------------------------------------------------------- ; ; ----------------------------------------------------------- ORG $1800 ; ----------------------------------------------------------- ; ; ----------------------------------------------------------- ; ; ----------------------------------------------------------- L1800: 7E 18 34 JMP L1834 ; L1803: 7E 18 70 JMP L1870 ; L1806 JMP L1943 ; ; L1809 JMP L1B5A ;Governor HU routine ; L180C: 7E 1B 44 JMP L1B44 ; L180F JMP L1BAE ;Routine to update commanded SA ; L1812 JMP L1BC8 ; ; L1815: 7E 1B 71 JMP L1B71 ; L1818: 7E 1B 43 JMP L1B43 ; 181B: 0A CLV 181C: 0A CLV 181D: 05 ASLD 181E: 0A CLV 181F: 02 IDIV 1820: 00 TEST 1821: 87 ***** 1822: 00 TEST 1823: FF 00 FF STX L00FF 1826: 00 TEST 1827: FF 7F FE STX L7FFE 182A: FF A6 FF STX LA6FF 182D: 01 NOP 182E: FF 01 FF STX L01FF 1831: 01 NOP ; 1832: 80 01 L1832 SUBA #$0001 1834: 7F 04 0D L1834 CLR L040D 1837: B6 04 00 LDAA L0400 183A: 84 30 ANDA #$0030 183C: 27 2D BEQ L186B 183E: C6 03 LDAB #$0003 1840: F7 04 0D STAB L040D 1843: 85 20 BITA #$0020 1845: 27 19 BEQ L1860 1847: FC 04 05 LDD L0405 184A: 2A 0A BPL L1856 184C: 50 NEGB 184D: B6 02 6D LDAA L026D 1850: 10 SBA 1851: 24 15 BCC L1868 1853: 4F CLRA 1854: 20 12 BRA L1868 ; 1856: B6 02 6D L1856 LDAA L026D 1859: 1B ABA 185A: 24 0C BCC L1868 185C: 86 FF LDAA #$00FF 185E: 20 08 BRA L1868 ; 1860: 7D 04 05 L1860 TST L0405 1863: 2B 06 BMI L186B 1865: B6 04 06 LDAA L0406 1868: B7 02 6D L1868 STAA L026D 186B: 39 L186B RTS ; ----------------------------------------------------------- 186C: 1C 0D 1C BSET $000D,X,#$1C 186F: B7 B6 06 STAA LB606 L1870 1872: 81 FE CMPA #$00FE 1874: 06 TAP 1875: FE 8C 55 LDX L8C55 1878: AA 26 ORAA $0026,X 187A: 2F B6 BLE L1832 187C: 06 TAP 187D: 00 TEST 187E: 81 FF CMPA #$00FF 1880: 26 1C BNE L189E ; 1882: 25 1A BCS L189E 1884: F6 06 02 LDAB L0602 1887: C1 01 CMPB #$0001 1889: 22 09 BHI L1894 188B: CE 18 6C LDX #$186C 188E: 58 ASLB 188F: 3A ABX 1890: EE 00 LDX $0000,X 1892: AD 00 JSR $0000,X 1894: 86 00 L1894 LDAA #$0000 1896: B7 06 00 STAA L0600 1899: 86 00 LDAA #$0000 189B: B7 06 01 STAA L0601 189E: F6 06 80 L189E LDAB L0680 18A1: F7 0E 00 STAB L0E00 18A4: CE AA 55 LDX #$AA55 18A7: FF 06 FE STX L06FE 18AA: F6 04 01 LDAB L0401 18AD: C5 30 BITB #$0030 18AF: 27 68 BEQ L1919 18B1: B6 04 12 LDAA L0412 18B4: 27 04 BEQ L18BA 18B6: 4A DECA 18B7: B7 04 12 STAA L0412 18BA: 7C 04 0E L18BA INC L040E 18BD: 7D 04 12 TST L0412 18C0: 26 03 BNE L18C5 ; 18C2: 7C 04 0E INC L040E 18C5: CE 18 1B L18C5 LDX #$181B 18C8: 37 PSHB 18C9: C4 0F ANDB #$000F 18CB: 3A ABX 18CC: C1 05 CMPB #$0005 18CE: 33 PULB 18CF: 22 48 BHI L1919 18D1: A6 00 LDAA $0000,X 18D3: B1 04 0E CMPA L040E 18D6: 22 49 BHI L1921 18D8: CE 04 03 LDX #$0403 18DB: 37 PSHB 18DC: C4 0F ANDB #$000F 18DE: 58 ASLB 18DF: 3A ABX 18E0: 33 PULB 18E1: C5 10 BITB #$0010 18E3: 3C PSHX 18E4: 27 17 BEQ L18FD 18E6: EE 00 LDX $0000,X 18E8: 08 INX 18E9: 3C PSHX 18EA: CE 18 20 LDX #$1820 18ED: C4 0F ANDB #$000F 18EF: 58 ASLB 18F0: 3A ABX 18F1: EC 00 LDD $0000,X 18F3: 30 TSX 18F4: 37 PSHB 18F5: 36 PSHA 18F6: A3 00 SUBD $0000,X 18F8: 38 PULX 18F9: 2E 19 BGT L1914 18FB: 20 14 BRA L1911 ; 18FD: EE 00 L18FD LDX $0000,X 18FF: 09 DEX 1900: 3C PSHX 1901: CE 18 2A LDX #$182A 1904: C4 0F ANDB #$000F 1906: 3A ABX 1907: EC 00 LDD $0000,X 1909: 30 TSX 190A: 37 PSHB 190B: 36 PSHA 190C: A3 00 SUBD $0000,X 190E: 38 PULX 190F: 2D 03 BLT L1914 1911: 31 L1911 INS 1912: 31 INS 1913: 3C PSHX 1914: 32 L1914 PULA 1915: 33 PULB 1916: 38 PULX 1917: ED 00 STD $0000,X 1919: 86 78 L1919 LDAA #$0078 191B: B7 04 12 STAA L0412 191E: 7F 04 0E CLR L040E 1921: 12 44 10 1D L1921 BRSET L0044,#$10,L1942 ; 1925: 12 09 01 19 BRSET L0009,#$01,L1942 ; 1929: F6 04 00 LDAB L0400 192C: C4 01 ANDB #$0001 192E: 27 12 BEQ L1942 1930: 38 PULX 1931: B6 04 07 LDAA L0407 1934: 2A 03 BPL L1939 1936: 7E FF 93 JMP LFF93 ; 1939: B6 04 08 L1939 LDAA L0408 193C: 15 36 0C BCLR L0036,#$0C 193F: 7E FF 90 JMP LFF90 ; 1942: 39 L1942 RTS ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L1943 LDAA L041D ;Stored error number, decimal LDAB L0002 ;Loop counter CMPB #147 ; BNE L1998 ;Bra if != ; ;-Here if time to run this section of routine ; L194C LDAB L0250 ;Error # counter ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Loop here to check for set errors ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L194F CMPB #71 ;9 error words/72 errors BLS L1959 ;Bra if less, continue ; CLR L0250 ;Clear counter for next pass CLRA ; BRA L198A ;Bra to continue ; L1959 LDAB L0250 ;Error # counter BITB #$0007 ;Test lower 3 bits BNE L1978 ;Bra if not multiples of 8, check for set errors ; LSRB ;/2 LSRB ;/2 LSRB ;/2 LDX #L000B ;Address of first error word ABX ;Add in as offset LDAB $0000,X ;Load error word BNE L1975 ;Bra if errors set ; ;-Here if no errrors set, advance to next error word ; LDAB L0250 ;Error # counter ADDB #$0008 ;+8, next error word STAB L0250 ;Save counter BRA L194F ;Bra to check next error word ; ;-Here if errors set ; L1975 STAB L0251 ;Store error word ; ;-Here to check for set errors ; L1978 INC L0250 ;+1, error # counter ASL L0251 ;Shift stored error word left, check for next error BCC L194C ;Bra if no errors set, loop ; LDAB L0250 ;Load error # counter DECB ;-1, go back to current error LDX #LFB01 ;SES error blink out table ABX ;Add in error # counter LDAA $0000,X ;Load value for SES blink out ; ;-Convert hex SES blinkout code to actual decimal error # ; L198A TAB ;Move to B ANDA #$00F0 ;Clear lower nibble, 10's ANDB #$000F ;Clear upper nibble, 1's PSHB ;1's to stack LDAB #$0005 ;Multiplier MUL ;10's x multiplier LSRD ;/2 LSRD ;/2 LSRD ;/2, divide by 8 PULA ;Get 1's off stack ABA ;Add it in, now decimal error number ; ; ; ; ; L1998 STAA L041D ;Stored error number, decimal LDAA L040D ; STAA L0801 ; CLRA ;Preclear A BRCLR L0046,#$40,L19A8 ;Status word, bra if b6==0, NV mem lost ; ORAA #$0080 ;Set b7, NV mem lost ; L19A8 BRCLR L0046,#$04,L19AE ;bra if b2==0, air management off ; ORAA #$0040 ;Set b6, air management active ; L19AE BEQ L19B5 ;Bra if previous errors not flagged ; ORAA #$0020 ;Set b5, air management active/NV mem lost ; L19B5 BRCLR L0085,#$20,L19BB ;TCC stat. word, bra if b5==0, TCC not comm. to lock ; ORAA #$0010 ;Set b4, TCC commanded to lock ; L19BB BRCLR L0041,#$80,L19C1 ;Status word, bra if b7==0, CCP sol. off ; ORAA #$0008 ;Set b3, CCP sol. on ; L19C1 BRCLR L0041,#$10,L19C7 ;Bra if b4==0, A/C off ; ORAA #$0004 ;Set b2, A/C on ; L19C7 BRCLR L006E,#$80,L19CD ;Status word, bra if b7==0, EGR off ; ORAA #$0002 ;Set b1, EGR active ; L19CD LDAB L0070 ;(???) ANDB #$0004 ;Clear all but b2 BEQ L19D7 ;Bra if ==0 ; LDAB #$00FF ; ORAA #$0001 ;Set b1, ; L19D7 STAA L0411 ;Save it, HU status word CLRA ;Preclear A BRCLR L003E,#$40,L19E1 ;Status word, bra if b6==0, going leaner ; ORAA #$0001 ;Set b0, engine going leaner ; L19E1 BRCLR L003E,#$80,L19E7 ;Bra if b7==0, not it closed loop ; ORAA #$0002 ;Set b1, in closed loop ; L5214 FDB $003D ; 20, MWAF, AFR MD WORD 0, ; ; b7 1 = DELIVER ASYNC PULSE ; b6 1 = ACELLL ENR IS ACTIVE ; b5 1 = PWR ENR IS ACTIVE ; b4 1 = DECEL ENLEAN IS ACYIVE ; ; b3 1 = DELAY BLM UPDATE ; b2 1 = BLK LRN ADDR CHANGE 1 = CHANGED ; b1 1 = VATS PASS/FAIL ; b0 1 = PWR ENR ENR FLAG L19E7 BRCLR L003D,#$20,L19ED ;Status word, bra if b5==0, no PE ; ORAA #$0004 ;Set b2, in PE ; L19ED BRCLR L003D,#$10,L19F3 ;Bra if b4==0, no decel enlean ; ORAA #$0008 ;Set b3, decel enlean active ; L19F3 BRCLR L003D,#$40,L19F9 ;Bra if b6==0, AE not active ; ORAA #$0010 ;Set b4, AE is active ; L5226 FDB $003E ; 29, NWAF1, AIR/FUEL MD WD 1 ; ; b7 1 = CLOSED LOOP FLAG ; b6 1 = RICH/ LEAN, 1 = RICH ; b5 1 = CLOSED LOOP FOR O/L IDLE CONDITION ; b4 1 = ASYNC PULSE FLAG ; ; b3 1 = A/F DECAY INT DONE FOR COLD P/D ; b2 1 = LOW BATTERY ; b1 1 = BLM ENABLE ; b0 1 = DECELL FUEL C/O TPS ACEL ENRICH L19F9 BRCLR L003E,#$02,L19FF ;Bra if BLMs not enabled ; ORAA #$0020 ;Set b5, BLMs enabled ; L19FF BRCLR L003E,#$10,L1A05 ;Bra if b4==0, async not in effect ; ORAA #$0040 ;Set b6, async in effect ; L5224 FDB $0041 ; 28, LCCPWM, TCC A/C & EGR MD WD ; ; b7 1 = CCP SOLENOID ON ; b6 (not used) ; b5 1 = PARK/NEUTRAL ; b4 1 = A/C PRESSURE SW, (A/C ON) ; ; b3 1 = A/C ACEL ENR ENABLED ; b2 1 = ; b1 1 = SPK CORRECTION DUE TO MAT IS NEGITIVE ; b0 1 = ADJ ... THE EGR OFFSET BY 2 b0 1 = (not used) L1A05 BRCLR L0041,#$20,L1A0B ;Status word, bra if b5==0, not in P/N ; ORAA #$0080 ;Set b7, in P/N ; L1A0B STAA L0410 ;Save it, HU status word CLRA ;Preclear A L5208 FDB $0037 ; 14, DIACMW4 IAC CNT'L MD WD ; ; b7 1 = ADD DERIV TERM TO g/SEC FLOW, (0 = SUB) ; b6 1 = PRORP LIMITING ATHORITY BEING EXERSIZED ; b5 1 = PART 2 OF DIAG TEST TO BE RUN ; b4 1 = THROTTLE KICKER BARO DISABLE REQUESTED ; ; b3 1 = THROTTLE KICKER DISABLE REQUESTED ; b2 1 = THROTTLE KICKER ACTIVE ; b1 1 = ETC * KONST ; b0 1 = ETC ONCE FLAG BRCLR L0037,#$04,L1A15 ;Statusword, bra if b2==0, throttle kicker not active ; ORAA #$0001 ;Set b0, throttle kicker active ; L51F4 FDB $0036 ; 4 DIACMW2, NON-VOL IDLE CNT'L MD WD ; ; b7 1 = IDLE RPM TO HIGH ; b6 1 = THROTTLE KICKER HAS BEEN DISABLED ONCE ; b5 1 = PW STEER PRESS LOAD IN WORK ; b4 1 = STALL SAVER IN WORK ; ; b3 1 = CLSD LP ON RPM ENABLED ; b2 1 = CLSD LP QUALS MET, (clsd tps & low mph) ; b1 1 = DRIVE, 0 = PK/NEUT ; b0 1 = A/C ON L1A15 BRCLR L0036,#$04,L1A1B ;Status word, bra if b2==0, closed loop quals not met ; ORAA #$0002 ;Set b1, closed loop quals met ; L1A1B LDAB L022E ;Low octane SA retard BEQ L1A22 ;Bra if ==0, no retard at this time ; ORAA #$0004 ;Set b2, low octane SA retard in effect ; L0004 EQU $0004 ;Status word ; b7=EST circuit failure ; b6= ; b5= ; b4=Hot restarts in effect ; b3=Bad shutdown ; b2= ; b1= ; b0= L1A22 BRCLR L0004,#$10,L1A28 ;Status word, bra if b4==0, no hot restart in effect ; ORAA #$0008 ;Set b3, hot restart in effect ; L5242 FDB $0052 ; 43, MODE WD 4 ; ; b7 1 = QUAIS CLSD LP ENABLED ; b6 1 = CAT OVER TEMP ; b5 1 = A/C ANTICIPATING TO BE ON ; b4 1 = A/C DISABLED DUE TO HIGH RPM ; ; b3 1 = VARIABLE TUNING CNT'L ; b2 1 = TPS CLOSED, (FOR BLM) ; b1 1 = ZERO ACTIVITY FLAG (LO OCTANE) ; b0 1 = HIGH KNOCK ACTIVITY L1A28 BRCLR L0052,#$40,L1A2E ;Status word, bra if b6==0, no cat overtemp ; ORAA #$0010 ;Set b4, cat overtemp ; L1A2E BRCLR L0036,#$10,L1A34 ;Bra if b4==0, no stall saver ; ORAA #$0020 ;Set b5, stall saver in effect ; L5439 FDB $0083 ; 50, TEMPMW TEMPER STATUS WORD ; ; b7 1 = not used ; b6 1 = not used ; b5 1 = not used ; b4 1 = not used ; ; b3 1 = not used ; b2 1 = not used ; b1 1 = HOT TEMPERATURE THRESHOLD ; b0 1 = COLD TEMPERATURE THRESHOLD L1A34 BRCLR L0083,#$02,L1A3A ;Status word, bra if b1==0, hot temp thresh. not set ; ORAA #$0040 ;Set b6, hot temp threshold set. ; L1A3A LDAB L0246 ;Error 32 timer BEQ L1A41 ;Bra if ==0 ; ORAA #$0080 ;Set b7, error 32 pending ; L1A41 STAA L040F ;Save it, HU status word L003A EQU $003A ;Error word ; b7= ; b6=Bad RAM checksum ; b5=Loop overran ; b4= ; b3= ; b2= ; b1=EPROM failure ; b0=A/D failure BRSET L003A,#$20,L1A50 ;Status word, bra if b5==1, loop overran ; BRSET L003A,#$08,L1A50 ;(???) ; BRCLR L003A,#$10,L1A69 ;(???) ; ;- ; L1A50 LDAB L041F ;Counter BEQ L1A58 ;Bra if ==0 ; CLRA ; BRA L1A5C ;Bra to clear HU status words ; L1A58 LDAA #$00FF ;1111 1111 LDAB #$0002 ;2 counts ; L1A5C STAA L040F ;HU status word STAA L0410 ;HU status word STAA L0411 ;HU status word DECB ;-1 STAB L041F ;Save it, counter ; ;-Scale and save timing ; L1A69 LDD L0219 ;Commanded SA BPL L1A7D ;Bra if SA >=0 ; ;-Here if SA <0 ; NEGB ;Get absolute value of SA LDAA #0231 ;Multipler for negative SA MUL ;231 x comm. SA ADCA #$0000 ;Round if needed NEGA ;Negate, make negative again ADDA #0051 ;Add 20 degree SA bias in BCS L1A88 ;Bra if timing still negative ; LDAA #$0000 ;Clear SA BRA L1A88 ;Bra to save ; ;-Here if SA >=0 ; L1A7D LDAA #0231 ;Multiplier for SA MUL ;231 x comm. SA ADCA #$0000 ;Round if needed ADDA #0051 ;Add in bias BCC L1A88 ;Bra if no overflow ; LDAA #$00FF ;Clear overflow ; ;-Timing = .9 x commanded SA + SA bias ; L1A88 STAA L041E ;Save it, HU total timing term LDAA L0292 ;(???) BMI L1A94 ; ADDA #$0080 ; BRA L1A96 ; ; L1A94 SUBA #$0080 ; ; L1A96 STAA L0417 ; LDD L026F ;Sync BPW STD L0419 ;Save it, HU BPW LDX #$0292 ; FDIV ; XGDX ; STAA L0418 ; LDAA L029D ; STAA L041B ; LDX #$3000 ; SEI ; LDAA #$0005 ; JSR LEF12 ; ; LDAA #$0001 ; JSR LEEFC ; ; CLI ; LDAA $0034,X ; ADDA #$000B ; BCC L1AC4 ; ; LDAA #$00FF ; ; L1AC4 STAA L041C ; LDAA L0401 ; ANDA #$0080 ; BEQ L1AD4 ; ; JSR LEFD0 ; ; JSR LF01D ; ; L1AD4 BRSET L004F,#$80,L1AF9 ; ; LDAA L0444 ; BNE L1AE4 ; ; LDAA L0401 ; ANDA #$0040 ; BEQ L1AF9 ; ; L1AE4 LDX #$3000 ; BCLR $0022,X,#$20 ; ; L1AEA JSR L1870 ; ; LDAA #$0055 ; STAA L303A ; LDAA #$00AA ; STAA L303A ; BRA L1AEA ; ; L1AF9 LDAB L00D3 ; LDX #$1B3F ; ABX ; LDAA $0000,X ; BRCLR L0085,#$20,L1B07 ; ; ORAA #$0080 ; ; L1B07 STAA L0481 ; CLRA ; BRCLR L0099,#$01,L1B11 ; ; ORAA #$0001 ; ; L1B11 BRCLR L0099,#$02,L1B17 ; ; ORAA #$0002 ; L1B17 BRCLR L0099,#$04,L1B1D ; ; ORAA #$0004 ; L1B1D BRCLR L0099,#$08,L1B23 ; ; ORAA #$0008 ; ; L1B23 BRCLR L0096,#$04,L1B29 ; ; ORAA #$0010 ; ; L1B29 BRCLR L0096,#$10,L1B2F ; ; ORAA #$0020 ; L1B2F BRCLR L0096,#$02,L1B35 ; ; ORAA #$0040 ; L1B35 BRCLR L0096,#$01,L1B3B ; ; ORAA #$0080 ; ; L1B3B STAA L0483 ; RTS ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1B3F: 01 NOP 1B40: 02 IDIV 1B41: 04 LSRD 1B42: 08 INX 1B43: 39 L1B43 RTS ; ----------------------------------------------------------- 1B44: 96 82 L1B44 LDAA L0082 1B46: 85 40 BITA #$0040 1B48: 26 0F BNE L1B59 ; 1B4A: 8A 40 ORAA #$0040 1B4C: 97 82 STAA L0082 1B4E: CE 04 00 LDX #$0400 1B51: 86 84 LDAA #$0084 1B53: 6F 00 L1B53 CLR $0000,X 1B55: 08 INX 1B56: 4A DECA 1B57: 26 FA BNE L1B53 ; 1B59: 39 L1B59 RTS ; ;~~~~~~~~~~~~~~~~~~~~~ ; ; Governor HU routine ; ;~~~~~~~~~~~~~~~~~~~~~ ; L1B5A LDAB L0400 ;HU status word ANDB #$0004 ;Clear all but b2, BEQ L1B6F ;Bra if ==0 ; LDD L040B ; BMI L1B6F ;Bra if b7==1 ; TSTA ;Test RPM error BEQ L1B6B ;Bra if ==0 ; LDAB #$00FF ; ; L1B6B TBA ; SEC ;Set carry BRA L1B70 ;Bra to return ; L1B6F CLC ;Clear carry ; L1B70 RTS ;Return ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1B71: F6 40 0F L1B71 LDAB L400F 1B74: C5 01 BITB #$0001 1B76: 26 35 BNE L1BAD ; 1B78: F6 04 00 LDAB L0400 1B7B: C4 0C ANDB #$000C 1B7D: 27 2E BEQ L1BAD 1B7F: C5 08 BITB #$0008 1B81: 27 19 BEQ L1B9C 1B83: FC 04 0B LDD L040B 1B86: 2A 0A BPL L1B92 1B88: 50 NEGB 1B89: B6 01 D1 LDAA L01D1 1B8C: 10 SBA 1B8D: 24 1B BCC L1BAA 1B8F: 4F CLRA 1B90: 20 18 BRA L1BAA ; 1B92: B6 01 D1 L1B92 LDAA L01D1 1B95: 1B ABA 1B96: 24 12 BCC L1BAA 1B98: 86 FF LDAA #$00FF 1B9A: 20 0E BRA L1BAA ; 1B9C: FC 04 0B L1B9C LDD L040B 1B9F: 2B 07 BMI L1BA8 1BA1: 4D TSTA 1BA2: 27 05 BEQ L1BA9 1BA4: C6 FF LDAB #$00FF 1BA6: 20 01 BRA L1BA9 ; 1BA8: 5F L1BA8 CLRB 1BA9: 17 L1BA9 TBA 1BAA: B7 01 D1 L1BAA STAA L01D1 1BAD: 39 L1BAD RTS ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;-Routine to update commanded SA ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L1BAE PSHA ;Push SA to stack LDAB L004F ;Load status word BITB #$0001 ;Test b0, sign of SA BEQ L1BBB ;Bra if SA positive ; ;-SA negative here ; NEGA ;Get abs. value of SA TAB ;To B LDAA #$00FF ;Make negative 16 bit val. BRA L1BBE ;Bra to continue ; ;-Here if SA positive ; L1BBB TAB ;Sa to B LDAA #$0000 ;Clear A, positive 16 bit val. ; L1BBE ADDB L4133 ;Add base timing back in to get commanded SA ADCA #$0000 ;Perform carry if needed STD L0219 ;Save it, commanded SA PULA ;Get SA back into A RTS ;Return ; ;~~~~~~~~~~~~~~~~~~~ ; ; (???) ; ;~~~~~~~~~~~~~~~~~~~ ; L1BC8 LDAA L0400 ;Status word ANDA #$C0 ;Clear all but b7=, b6= (???) BEQ L1C09 ;Bra if b7,b6==0 ; BITA #$80 ;Test b7, (???) BEQ L1BF0 ;Bra if ==0 ; LDD L0403 ;SA BPL L1BE6 ; ; NEGB ; ; STAB L0414 ; LDD L0220 ;Final SA SUBB L0414 ; SBCA #$0000 ;Round if needed BRA L1C06 ;Bra to save and return ; L1BE6 LDD L0220 ; ADDB L0404 ; ADCA #$0000 ;Perform carry if needed BRA L1C06 ;Bra to save and return ; L1BF0 LDD L0403 ; BPL L1C02 ; ; NEGB ; STAB L0414 ; CLRA ; CLRB ; SUBB L0414 ; SBCA #$0000 ; BRA L1C06 ;Bra to save and return ; L1C02 CLRA ; LDAB L0404 ; ; L1C06 STD L0220 ;Save final SA ; L1C09 LDD L0220 ;Load final SA RTS ;Return ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1C0D: 36 PSHA 1C0E: 37 PSHB 1C0F: 07 TPA 1C10: 0F SEI 1C11: F6 0F 0F LDAB L0F0F 1C14: F6 0F 0A LDAB L0F0A 1C17: F6 0F 05 LDAB L0F05 1C1A: F6 0F 0A LDAB L0F0A 1C1D: F6 0F 05 LDAB L0F05 1C20: F6 0F 05 LDAB L0F05 1C23: F6 0F 05 LDAB L0F05 1C26: F6 0F 0A LDAB L0F0A 1C29: F6 0F 0A LDAB L0F0A 1C2C: F6 0F 05 LDAB L0F05 1C2F: F6 0F 0A LDAB L0F0A 1C32: F6 0F 05 LDAB L0F05 1C35: F6 0F 0A LDAB L0F0A 1C38: F6 0F 0A LDAB L0F0A 1C3B: F6 0F 02 LDAB L0F02 1C3E: F6 0F 0D LDAB L0F0D 1C41: F6 0F 05 LDAB L0F05 1C44: 06 TAP 1C45: 33 PULB 1C46: 32 PULA 1C47: CE 06 06 LDX #$0606 1C4A: FF 06 3C STX L063C 1C4D: FE 06 3C L1C4D LDX L063C 1C50: E6 00 LDAB $0000,X 1C52: FE 06 03 LDX L0603 1C55: 07 TPA 1C56: 36 PSHA 1C57: 0F SEI 1C58: B6 06 3F LDAA L063F 1C5B: B7 0E 00 STAA L0E00 1C5E: E7 00 STAB $0000,X 1C60: E6 00 LDAB $0000,X 1C62: B6 06 80 LDAA L0680 1C65: B7 0E 00 STAA L0E00 1C68: 32 PULA 1C69: 06 TAP 1C6A: 08 INX 1C6B: FF 06 03 STX L0603 1C6E: FE 06 3C LDX L063C 1C71: E7 00 STAB $0000,X 1C73: 08 INX 1C74: FF 06 3C STX L063C 1C77: 7A 06 05 DEC L0605 1C7A: 26 D1 BNE L1C4D ; 1C7C: 36 PSHA 1C7D: 37 PSHB 1C7E: 07 TPA 1C7F: 0F SEI 1C80: F6 0F 0F LDAB L0F0F 1C83: F6 0F 0A LDAB L0F0A 1C86: F6 0F 05 LDAB L0F05 1C89: F6 0F 0A LDAB L0F0A 1C8C: F6 0F 05 LDAB L0F05 1C8F: F6 0F 05 LDAB L0F05 1C92: F6 0F 05 LDAB L0F05 1C95: F6 0F 0A LDAB L0F0A 1C98: F6 0F 0A LDAB L0F0A 1C9B: F6 0F 05 LDAB L0F05 1C9E: F6 0F 0A LDAB L0F0A 1CA1: F6 0F 05 LDAB L0F05 1CA4: F6 0F 02 LDAB L0F02 1CA7: F6 0F 0A LDAB L0F0A 1CAA: F6 0F 02 LDAB L0F02 1CAD: F6 0F 0D LDAB L0F0D 1CB0: F6 0F 05 LDAB L0F05 1CB3: 06 TAP 1CB4: 33 PULB 1CB5: 32 PULA 1CB6: 39 RTS ; ----------------------------------------------------------- 1CB7: CE 06 06 LDX #$0606 1CBA: FF 06 3C STX L063C 1CBD: FE 06 03 L1CBD LDX L0603 1CC0: 07 TPA 1CC1: 36 PSHA 1CC2: 0F SEI 1CC3: B6 06 3F LDAA L063F 1CC6: B7 0E 00 STAA L0E00 1CC9: E6 00 LDAB $0000,X 1CCB: B6 06 80 LDAA L0680 1CCE: B7 0E 00 STAA L0E00 1CD1: 32 PULA 1CD2: 06 TAP 1CD3: 08 INX 1CD4: FF 06 03 STX L0603 1CD7: FE 06 3C LDX L063C 1CDA: E7 00 STAB $0000,X 1CDC: 08 INX 1CDD: FF 06 3C STX L063C 1CE0: 7A 06 05 DEC L0605 1CE3: 26 D8 BNE L1CBD ; 1CE5: 39 RTS ; ----------------------------------------------------------- 1CE6: 8C 60 00 CPX #$6000 1CE9: 25 08 BCS L1CF3 1CEB: 8C 6F FF CPX #$6FFF 1CEE: 22 03 BHI L1CF3 1CF0: 0D SEC 1CF1: 20 01 BRA L1CF4 ; 1CF3: 0C L1CF3 CLC 1CF4: 39 L1CF4 RTS ; ----------------------------------------------------------- ORG $4000 ;Start of calibration L4000: FDB $23AF ; ID BYTE, 9135d ; L4002 FDB $FFFF ; Platform ID L4004 FDB $FFFF ; Platform ID ; L4006 FDB $0000 ;Check sum L4008 FCB $0D ;Mask ID byte ; L4009 FDB 0481 ;6 secs. delay till shutdown ; ;-AIR FUEL MODE WORDS ; L400B FCB $0C ;0000 1100, option byte ; b7, 1 = de-latch ; b6, 1 = MAT sensor ; b5, 1 = 180 deg offset ; b4, 1 = ASDF CRANK (???) ; b3, 1 = ACCEL ENRICH LMT OPTION ; b2, 1 = SYNC FUEL AT IDLE (TBI) ; b1, 1 = AIR MANANGE ; b0, 1 = CPI/PFI MODE ; L400C FCB $93 ;1001 0011, option byte ; b7, 1 = CCP purge ; b6, 1 = Contitional INT reset on BLM cell change ; b5, 1 = INT reset on AE ; b4, 1 = INT reset in BLM cell change ; b3, 1 = ASDF (???) ; b2, 1 = CRANK FUEL ALL INJ'S EACH DRP ; b1, 1 = ERR 44/45 BLM LMT ; b0, 1 = SYNC MAP SENSOR READS ; ;--------------------------------- L400D: FCB $A4 ; 1010 0100, Option byte ; b7 1 = SINGLE PASS EGR TEST ; b6 1 = VATS ; b5 1 = USE L4780 TBL FOR %EGR ; b4 1 = EGR = 0 AT IDLE ; ; b3 1 = OPN LP FUEL DISABLE EGR ; b2 1 = BACK PRESS EGR ; b1, 1=linear EGR, 0=Electrinic Vacuum Regulator Valve EGR ; b0 1 = USE OPN LP AFR IF TEMP L.T. L48C7 IN CLOSED LP : (b0 = 1 FOR TIER 1, USE AFR TBL L4BB0 IF COOL LT 65c) ;--------------------------------- L400E FCB $00 ; MODE WD, AFR 4 0000 0000 ; b7 1 = not used ; b6 1 = not used ; b5 1 = LATCH ERR 45 ; b4 1 = USE L496F WITH ASYNC FUEL DELIVERY ; ; b3 1 = VAR TUNE CNT'L ; b2 1 = SHIFT LIGHT ENABLE ; b1 1 = USE ALT CMAP Vs. MAP LD FOR FUEL CUR HYST PAIR ; b0 1 = USE ALT CMAP Vs. MAP LD & AD MAP FOR BLM ENABLE ;--------------------------------- L400F FCB $18 ;Option byte, 0001 1000 ; b7=TCC option (1 = MAN, 0 = TCC) ; b6=TCC only (Non-CC transmission) ; b5= ; b4=Converter overheat ; b3=Use knock retard ; b2=1, A/C clutch cont., 0 = Var tune ; b1= ; b0, 1=Rev limiter ; ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Adaptive A/C clutch control params ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; All timer values are seconds x 10 ; L4010 FCB 0 ;Upper TPS threshold for A/C to come on L4011 FCB 0 ;Upper TPS threshold for A/C to remain on ; L4012 FCB 1 ;.1 sec, min time to enable A/C after A/C requested L4013 FCB 0 ;0 sec, min time to re-enable A/C L4014 FCB 0 ;0 sec, time delay for A/C to come back on after launch mode L4015 FCB 0 ;0 sec. time delay for A/C to be disabled if high RPMs L4016 FCB 0 ;0 sec, min time to re-enable A/C after high rpms ; L4017 FCB 255 ;6375 RPM, upper rpm limit for A/C to come on L4018 FCB 254 ;6350 RPM, upper rpm limit for A/C to remain on ; L4019 FCB 254 ;6350 RPM, upper RPM threshold to disable A/C ; L401A FCB 254 ;150 deg C, upper cool temp limit for A/C to come on L401B FCB 253 ;150 deg C, upper cool temp limit for A/C to remain on ; L401C FCB 0 ;0 MPH, Lower MPH limit for launch mode if A/C on L401D FCB 0 ;0 MPH, Lower MPH limit for launch mode for A/C to come on ; L401E FCB 254 ;99.2% TPS, lower TPS limit for launch mode for A/C to come on L401F FCB 255 ;99.2% TPS, lower TPS limit for launch mode for A/C on ; L4020 FDB 0000 ;0 sec, min time to re-enable A/C after high TPS L4022 FDB 0000 ;0 sec, min run time for compressor to come on ; ;============================================= ; CAN PURGE PARAMS (CCP) ; ;============================================= L4024 FCB 240 ; IF VAC L.T. 5 Kpa N UPDATE OF PURGE MULT L4025 FCB 1 ; 0.2 SEC'S DELAY BETWEEN UPDATEDS OF PURGE MULT L4026 FCB 123 ; IF INTEGRATOR G.T or E.Q. 123 CTS INCREASE PURGE MULT BY L4029 ; L4027 FCB 115 ; IF INTEGRATOR L.T 115 Counts, DECREASE PURGE MULT BY L402A L4028 FCB 0 ; 0 FACTOR, PURGE D.C. * L4043 TABLE IF IN P L4029 FCB 13 ; 0.05 FACTOR DECREMENT TO PURGE MULT L402A FCB 26 ; 0.10 PURGE MULT DECREMENT FOR LOW INT VALUES ; L402B FCB 120 ; ENABLE CCP IF COOL G.T. 50 DEG c L402C FCB 160 ; 80c COOL ; L402D FDB 0004 ; SEC'S ENG RUN TIME L402F FCB 10 ; 10 MPH ;--------------------------------------------- ;---------------------- ; CCP OFF TO ON PARAMS ;---------------------- L4030 FCB 4 ; 4 MPH, IF G.T. or E.Q thresh ENABLE PURGE L4031 FCB 35 ; 35 Kpa, IF G.T. or E.Q thresh ENABLE PURGE L4031 FCB 8 ; 3% TPS, IF G.T. or E.Q thresh ENABLE PURGE ;---------------------- ;---------------------- ; CCP ON TO OFF PARAMS ;---------------------- L4033 FCB 3 ; 3 MPH, IF L.T. thresh MPH DISABLE PURGE L4034 FCB 32 ; 32 Kpa, IF L.T. thresh Kpa DISABLE PURGE L4035 FCB 6 ; 2.3% tps, IF L.T. thresh TPS DISABLE PURGE ;--------------------------------------------- ;--------------------------------------------- ; CCP DUTY CYCLE Vs. AIR FLOW (CLSD LOOP) ; ; Dissassemby of BDWM LINES = 17 ; ; TBL = 2.56 * %D.C. ;--------------------------------------------- ORG $4036 ; %D.C. Gms/Sec AIR FLOW ;--------------------------------- L4036 FCB 180 ; 70.3 0 L4037 FCB 255 ; 99.6 16 L4038 FCB 255 ; 99.6 32 L4039 FCB 255 ; 99.6 48 L403A FCB 255 ; 99.6 64 L403B FCB 255 ; 99.6 80 L403C FCB 255 ; 99.6 96 L403D FCB 255 ; 99.6 112 L403E FCB 255 ; 99.6 128 L403F FCB 255 ; 99.6 144 L4040 FCB 255 ; 99.6 160 L4041 FCB 255 ; 99.6 176 L4042 FCB 255 ; 99.6 192 L4043 FCB 255 ; 99.6 208 L4044 FCB 255 ; 99.6 224 L4045 FCB 255 ; 99.6 240 L4046 FCB 255 ; 99.6 256 ;------------------------------------------------- ;------------------------------------------------- ; CCP DUTY CYCLE MINIMUM Vs. AIR FLOW (CLSD LOOP) ; ; Dissassemby of BDWM LINES = 17 ; ; TBL = 2.56 * %D.C. ;------------------------------------------------- ORG $4047 ; %D.C. Gms/Sec AIR FLOW ;--------------------------------- L4047 FCB 90 ; 35.2 0 L4048 FCB 128 ; 50.0 16 L4049 FCB 166 ; 64.8 32 L404A FCB 179 ; 69.9 48 L404B FCB 192 ; 75.0 64 L404C FCB 205 ; 80.1 80 L404D FCB 218 ; 85.2 96 L404E FCB 255 ; 99.6 112 L404F FCB 255 ; 99.6 128 L4050 FCB 255 ; 99.6 144 L4051 FCB 255 ; 99.6 160 L4052 FCB 255 ; 99.6 176 L4053 FCB 255 ; 99.6 192 L4054 FCB 255 ; 99.6 208 L4055 FCB 255 ; 99.6 224 L4056 FCB 255 ; 99.6 240 L4057 FCB 255 ; 99.6 256 ;--------------------------------------------- ;--------------------------------------------- ; PURGE ALLOWED Vs. BLM CELL 0 - 20 ; ; DETERMINE IF PURGE ALLOWED IN EACH CELL ; ; 0 = FALSE ; 1 = TRUE ;--------------------------------------------- ORG $4058 ; T/F BLM CELL NUMBER ;--------------------------------- L4058 FCB 0 ; 0 0 L4059 FCB 0 ; 0 1 L405A FCB 0 ; 0 2 L405B FCB 0 ; 0 3 L405C FCB 0 ; 0 4 L405D FCB 1 ; 1 5 L405E FCB 1 ; 1 6 L405F FCB 1 ; 1 7 L4060 FCB 1 ; 1 8 L4061 FCB 1 ; 1 9 L4062 FCB 1 ; 1 10 L4063 FCB 1 ; 1 11 L4064 FCB 1 ; 1 12 L4065 FCB 1 ; 1 13 L4066 FCB 1 ; 1 14 L4067 FCB 1 ; 1 15 L4068 FCB 0 ; 0 16 L4069 FCB 0 ; 0 17 L406A FCB 0 ; 0 18 L406B FCB 0 ; 0 19 L406C FCB 0 ; 0 20 ;--------------------------------------------- ;============================================= ; CAT CONVERTER PROTECTION ; ;============================================= L406D FCB 255 ; 1065c CAT OVER TEMP UPPER 1ST HYST PR L406E FCB 255 ; 1065c CAT OVER TEMP LOWER 1ST HYST PR ; CAL = (Deg -300)/3 ; L406F FCB 255 ; 1065c CAT OVER TEMP UPPER 2ND HYST PR L4070 FCB 255 ; 1065c CAT OVER TEMP LOWER 2ND HYST PR ; CAL = (Deg -300)/3 ; L4071 FCB 167 ;85 deg C, threshold to init cat temp to default value L4072 FCB 33 ;399 deg C, default cat temp when cool > L4071, temp = val x 3 + 300 ; L4073 FCB 10 ; 10 Sec, IF CONV TMR G.T. or E.Q. thresh USE AFR FM TBL L4088 L4074 FCB 255 ; 99.6% TPS, IF TPS G.T. thresh, CONV PROT CAN BE DISABLED L4075 FCB 0 ; 0 RPM, IF RPM L.T. thresh, CONV PROT CAN BE DISABLED L4076 FCB 255 ; 255 Sec's DISABLE CONV PROT IH HI TPS & LO RPM PERIOD ;--------------------------------------------- ;--------------------------------------------- ; CAT CONVERTER TEMPERATURE FILT COEF Vs. AIR FLOW ; ; Dissassemby of BDWM ; ; USED W/LAG FILTER & TBL'S L4088, L408F ; ; TABLE = COEF *256 ;--------------------------------------------- ORG $4077 ; % COEF GM/SEC AIR FLOW ;------------------------------ L4077 FCB 1 ; 0.4 0 L4078 FCB 4 ; 1.6 16 L4079 FCB 5 ; 2.0 32 L407A FCB 6 ; 2.3 48 L407B FCB 6 ; 2.3 64 L407C FCB 6 ; 2.3 80 L407D FCB 7 ; 2.7 96 L407E FCB 18 ; 7.0 112 L407F FCB 20 ; 7.8 128 L4080 FCB 22 ; 8.6 144 L4081 FCB 22 ; 8.6 160 L4082 FCB 22 ; 8.6 176 L4083 FCB 22 ; 8.6 192 L4084 FCB 22 ; 8.6 208 L4085 FCB 22 ; 8.6 224 L4086 FCB 22 ; 8.6 240 L4087 FCB 22 ; 8.6 256 ;--------------------------------------------- ;--------------------------------------------- ; ENDO/EXOTHERMIC REACTION TEMPERATURE ; COMPONENT Vs. AFR ; ; Dissassemby of BDWM ; ; TBL = (DEG C/3) +128 ;--------------------------------------------- ORG $4088 ; Deg c A/F Ratio ;------------------------------ L4088 FCB 101 ; 10.7 L4089 FCB 105 ; 11.5 L408A FCB 115 ; 12.3 L408B FCB 121 ; 13.1 L408C FCB 112 ; 13.9 L408D FCB 128 ; 14.7 L408E FCB 112 ; 15.5 ;--------------------------------------------- ;--------------------------------------------- ; RPM REACTION TEMP COMPONENT Vs. RPM & AIR FLOW ; ; ; Dissassemby of BDWM ; ; TBL = ( DEG C - 300)/3 ;--------------------------------------------- ORG $408F ; L408F FCB 0 ; Min RPM Val L4090 FCB 0 ; Min FLOW Value L4091 FCB 17 ; COL'S/ROW ;--------------------------------------------- ; 0 RPM ; Deg c GM/SEC AIR FLOW ;--------------------------------------------- L4092 FCB 27 ; 327 0 L4093 FCB 75 ; 375 16 L4094 FCB 99 ; 399 32 L4095 FCB 120 ; 420 48 L4096 FCB 145 ; 445 64 L4097 FCB 170 ; 470 80 L4098 FCB 174 ; 474 96 L4099 FCB 193 ; 493 112 L409A FCB 185 ; 485 128 L409B FCB 185 ; 485 144 L409C FCB 185 ; 485 160 L409D FCB 185 ; 485 176 L409E FCB 185 ; 485 192 L409F FCB 185 ; 485 208 L40A0 FCB 185 ; 485 224 L40A1 FCB 185 ; 485 240 L40A2 FCB 185 ; 485 256 ;--------------------------------------------- ; 800 RPM ; DEG C CAT AIR FLOW ;--------------------------------------------- L40A3 FCB 27 ; 327.0 0 L40A4 FCB 75 ; 375.0 16 L40A5 FCB 99 ; 399.0 32 L40A6 FCB 120 ; 420.0 48 L40A7 FCB 145 ; 445.0 64 L40A8 FCB 170 ; 470.0 80 L40A9 FCB 174 ; 474.0 96 L40AA FCB 193 ; 493.0 112 L40AB FCB 185 ; 485.0 128 L40AC FCB 185 ; 485.0 144 L40AD FCB 185 ; 485.0 160 L40AE FCB 185 ; 485.0 176 L40AF FCB 185 ; 485.0 192 L40B0 FCB 185 ; 485.0 208 L40B1 FCB 185 ; 485.0 224 L40B2 FCB 185 ; 485.0 240 L40B3 FCB 185 ; 485.0 256 ;--------------------------------------------- ; 1600 RPM ; DEG C CAT AIR FLOW ;--------------------------------------------- L40B4 FCB 27 ; 327.0 0 L40B5 FCB 90 ; 390.0 16 L40B6 FCB 110 ; 410.0 32 L40B7 FCB 169 ; 469.0 48 L40B8 FCB 149 ; 449.0 64 L40B9 FCB 174 ; 474.0 80 L40BA FCB 178 ; 478.0 96 L40BB FCB 197 ; 497.0 112 L40BC FCB 189 ; 489.0 128 L40BD FCB 195 ; 495.0 144 L40BE FCB 195 ; 495.0 160 L40BF FCB 195 ; 495.0 176 L40C0 FCB 195 ; 495.0 192 L40C1 FCB 195 ; 495.0 208 L40C2 FCB 195 ; 495.0 224 L40C3 FCB 195 ; 495.0 240 L40C4 FCB 195 ; 495.0 256 ;--------------------------------------------- ; 2400 RPM ; DEG C CAT AIR FLOW ;--------------------------------------------- L40C5 FCB 27 ; 327.0 0 L40C6 FCB 105 ; 405.0 16 L40C7 FCB 122 ; 422.0 32 L40C8 FCB 135 ; 435.0 48 L40C9 FCB 182 ; 482.0 64 L40CA FCB 207 ; 507.0 80 L40CB FCB 211 ; 511.0 96 L40CC FCB 230 ; 530.0 112 L40CD FCB 222 ; 522.0 128 L40CE FCB 227 ; 527.0 144 L40CF FCB 227 ; 527.0 160 L40D0 FCB 227 ; 527.0 176 L40D1 FCB 227 ; 527.0 192 L40D2 FCB 227 ; 527.0 208 L40D3 FCB 227 ; 527.0 224 L40D4 FCB 227 ; 527.0 240 L40D5 FCB 227 ; 527.0 256 ;--------------------------------------------- ; 3200 RPM ; DEG C CAT AIR FLOW ;--------------------------------------------- L40D6 FCB 27 ; 327.0 0 L40D7 FCB 105 ; 405.0 16 L40D8 FCB 146 ; 446.0 32 L40D9 FCB 163 ; 463.0 48 L40DA FCB 171 ; 471.0 64 L40DB FCB 196 ; 496.0 80 L40DC FCB 200 ; 500.0 96 L40DD FCB 219 ; 519.0 112 L40DE FCB 211 ; 511.0 128 L40DF FCB 219 ; 519.0 144 L40E0 FCB 219 ; 519.0 160 L40E1 FCB 219 ; 519.0 176 L40E2 FCB 219 ; 519.0 192 L40E3 FCB 219 ; 519.0 208 L40E4 FCB 219 ; 519.0 224 L40E5 FCB 219 ; 519.0 240 L40E6 FCB 219 ; 519.0 256 ;--------------------------------------------- ; 4000 RPM ; DEG C CAT AIR FLOW ;--------------------------------------------- L40E7 FCB 102 ; 402.0 0 L40E8 FCB 85 ; 385.0 16 L40E9 FCB 150 ; 450.0 32 L40EA FCB 176 ; 476.0 48 L40EB FCB 181 ; 481.0 64 L40EC FCB 187 ; 487.0 80 L40ED FCB 187 ; 487.0 96 L40EE FCB 187 ; 487.0 112 L40EF FCB 187 ; 487.0 128 L40F0 FCB 187 ; 487.0 144 L40F1 FCB 187 ; 487.0 160 L40F2 FCB 187 ; 487.0 176 L40F3 FCB 187 ; 487.0 192 L40F4 FCB 187 ; 487.0 208 L40F5 FCB 187 ; 487.0 224 L40F6 FCB 187 ; 487.0 240 L40F7 FCB 187 ; 487.0 256 ;--------------------------------------------- ; 4800 RPM ; DEG C CAT AIR FLOW ;--------------------------------------------- L40F8 FCB 102 ; 402 0 L40F9 FCB 85 ; 385 16 L40FA FCB 150 ; 450 32 L40FB FCB 176 ; 476 48 L40FC FCB 181 ; 481 64 L40FD FCB 187 ; 487 80 L40FE FCB 187 ; 487 96 L40FF FCB 187 ; 487 112 L4100 FCB 187 ; 487 128 L4101 FCB 187 ; 487 144 L4102 FCB 187 ; 487 160 L4103 FCB 187 ; 487 176 L4104 FCB 187 ; 487 192 L4105 FCB 187 ; 487 208 L4106 FCB 187 ; 487 224 L4107 FCB 187 ; 487 240 L4108 FCB 255 ; 555 256 ;--------------------------------------------- ; 5600 RPM ; DEG C CAT AIR FLOW ;--------------------------------------------- L4109 FCB 255 ; 555 0 L410A FCB 255 ; 555 16 L410B FCB 255 ; 555 32 L410C FCB 255 ; 555 48 L410D FCB 255 ; 555 64 L410E FCB 255 ; 555 80 L410F FCB 255 ; 555 96 L4110 FCB 255 ; 555 112 L4111 FCB 255 ; 555 128 L4112 FCB 255 ; 555 144 L4113 FCB 255 ; 555 160 L4114 FCB 255 ; 555 176 L4115 FCB 255 ; 555 192 L4116 FCB 255 ; 555 208 L4117 FCB 255 ; 555 224 L4118 FCB 255 ; 555 240 L4119 FCB 255 ; 555 256 ;--------------------------------------------- ; 6400 RPM ; DEG C CAT AIR FLOW ;--------------------------------------------- L411A FCB 255 ; 555 0 L411B FCB 255 ; 555 16 L411C FCB 255 ; 555 32 L411D FCB 255 ; 555 48 L411E FCB 255 ; 555 64 L411F FCB 255 ; 555 80 L4120 FCB 255 ; 555 96 L4121 FCB 255 ; 555 112 L4122 FCB 255 ; 555 128 L4123 FCB 255 ; 555 144 L4124 FCB 255 ; 555 160 L4125 FCB 255 ; 555 176 L4126 FCB 255 ; 555 192 L4127 FCB 255 ; 555 208 L4128 FCB 255 ; 555 224 L4129 FCB 255 ; 555 240 L412A FCB 255 ; 555 256 ;--------------------------------------------- ;--------------------------------------------- ; CPI MANIFOLD TUNING CONTROL CALIB ; ;--------------------------------------------- ORG $412B ; L412B FCB 0 ; 0 RPM, LOWER HYST L412C FCB 0 ; 0 RPM, UPPER HYST L412D FCB 0 ; 0 RPM, UPPER HYST L412E FCB 0 ; 0 RPM, LOWER HYST L412F FCB 0 ; 0 % TPS, LOWER HYST L4130 FCB 0 ; 0 % TPS, UPPER HYST L4131 FCB 0 ; -40 c COOL, CUT OFF ;--------------------------------------------- L4132 FCB 2 ; Vss ; ;~~~~~~~~~~~~~~~~~~ ;-Spark/DRP params ;~~~~~~~~~~~~~~~~~~ ; L4133 FCB 0 ;Base SA L4134 FDB 2458 ;400 RPM, DRP threshold for engine to be running L4136 FDB 3574 ;275 RPM, DRP threshold to transition from crank to run ; ;~~~~~~~~~~~~~~~~~~~ ;-MAP filter params ;~~~~~~~~~~~~~~~~~~~ ; L4138 FCB 200 ;Standard MAP filter coeff. L4139 FCB 250 ;Transient MAP filter coeff. L413A: FCB 240 ;3 secs, transient MAP apply timer val L413B: FCB 1 ;12.5 rpm, delta for transient MAP ; ;~~~~~~~~~ ;-SA bias ;~~~~~~~~~ ; L413C FCB 28 ;10 deg, main SA bias L413D FCB 57 ;20 deg, cool temp corr. SA bias L413E: FCB 29 ;10 deg, L413F FCB 0 ;0 Deg, EGR bias L4140 FCB 0 ;0 Deg, bias for MAT SA corr. ;--------------------------------------------- L4141: FCB 167 ; 85c COOL, COLD THRESH FOR NEG SPK not used, L4142: FCB 8 ;8, number of cylinders L4143: FCB 6 ; 6 NUM CNT'S SPK RUN FLAG SET IF RPM GT L4134 (400) L4144 FCB 2 ;#DRPs to transition from crank to run ; ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-SA advance and retard limits ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L4145 FDB 0119 ;42 deg, max SA; L4147 FDB 65508 ;-10.0 deg, max allowable retard L4149: FDB 65514 ;-7.4 deg, max allowable retard when in DFCO L414B FDB 65514 ;-7.4 deg, max retard during torque management fuel cutoff ; L414D FCB 15 ;Filter coeff. for SA ramping multiplier, used when transitioning from crank to run ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Decel Fuel Cut Off SA corection parameters ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L414E FCB 10 ;Low %TPS SA ramping mult. filter coeff. L414F FCB 20 ;High %TPS SA ramping mult. filter coeff. L4150 FCB 25 ;9.8%, TPS threshold to use high %TPS filter coeff. L4151 FCB 28 ;10 deg, DFCO SA ; L4152 FCB 240 ;Filter coeff for RPM/12.5 ; ;~~~~~~~~~~~~~~~~~~~ ;-Pseudo-Baro quals ;~~~~~~~~~~~~~~~~~~~ ; L4153 FCB 224 ;4000 RPM, upper scaled rpm limit for pseudo-baro L4154 FCB 64 ;1200 RPM, lower scaled rpm limit for pseudo-baro L4155 FCB 140 ;54.7% TPS, min *TPS for pseudo-baro L4156 FCB 5 ;2.0% TPS, Min delta %TPS for pseudo-baro L4157 FCB 128 ;Baro filter coeff. L4158 FCB 160 ;Min cool temp for pseudo-baro update ; ;--------------------------------------------- ; IDLE SPARK ADVANCE PARMS ; Dissassemby of BDWM, MY95 L05 ;--------------------------------------------- L4159 FCB 1 ; 1 MPH MAX FOR IDLE SPK L415A FCB 4 ; 1.6% TPS TO RETURN TO IDLE SPK L415B FCB 6 ; 3.2% TPS MAX FOR IDLE SPK ; L415C FCB 100 ; 35 Deg c MIN FOR IDLE SPK L415D FDB 0030 ; 30 sec MIN RUN TIME FOR IDLE SPK L415F FCB 0 ; 0 RPM OFF SET TO DESIRED RPM IF NOT AT IDLE ;--------------------------------------------- ;--------------------------------------------- ; PWR STEER SA ;--------------------------------------------- L4160 FCB 255 ; 151c, COOL THRESH FOR PWR STEER SPK L4161 FDB 0000 ; 0 Deg PWR STEER FORCED SPK ADV L4163 FCB 0 ; 0% TPS, THRESH FOR SETTING PWR STEER SPK ADV L4164 FCB 0 ; 0% TPS, THRESH FOR EXITING PWR STEER SPK ;--------------------------------------------- ; ;~~~~~~~~~~~~~~~ ;-Main SA table ;~~~~~~~~~~~~~~~ ; ; SA = (val - bias) * .351 ; L4165 FCB 0 ;0 RPM, row offset FCB 0 ;0 kPa, col offset FCB 17 ;# cols./row ; ; kPa: 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 ;RPM ; FCB 85, 85, 85, 85, 85, 80, 77, 63, 60, 54, 46, 40, 37, 34, 31, 28, 26 ; 400 FCB 85, 85, 85, 85, 85, 80, 77, 63, 60, 54, 46, 40, 37, 34, 31, 28, 28 ; 600 FCB 85, 85, 85, 85, 85, 85, 85, 74, 68, 57, 54, 43, 40, 34, 31, 28, 28 ; 800 FCB 85, 85, 85, 85, 85, 85, 85, 80, 71, 65, 57, 48, 43, 37, 31, 28, 28 ;1000 FCB 85, 85, 85, 85, 85, 85, 85, 80, 74, 68, 60, 54, 48, 43, 37, 34, 31 ;1200 FCB 88, 88, 88, 88, 88, 88, 88, 82, 80, 71, 65, 60, 54, 48, 43, 40, 40 ;1600 FCB 91, 91, 91, 91, 91, 91, 91, 85, 82, 74, 68, 63, 57, 54, 48, 46, 46 ;2000 FCB 94, 94, 94, 94, 94, 94, 94, 91, 88, 80, 74, 68, 63, 60, 54, 54, 51 ;2400 FCB 100, 100, 100, 100, 100, 100, 100, 94, 91, 82, 77, 71, 65, 63, 60, 57, 54 ;2800 FCB 102, 102, 102, 102, 102, 102, 102, 97, 94, 91, 80, 77, 74, 68, 65, 63, 60 ;3200 FCB 105, 105, 105, 105, 105, 105, 105, 102, 97, 91, 85, 80, 77, 71, 68, 65, 63 ;3600 FCB 114, 114, 114, 114, 114, 114, 114, 114, 100, 94, 88, 85, 82, 77, 77, 74, 71 ;4000 FCB 114, 114, 114, 114, 114, 114, 114, 114, 102, 97, 91, 88, 85, 80, 80, 80, 77 ;4400 FCB 114, 114, 114, 114, 114, 114, 114, 114, 102, 97, 91, 88, 85, 80, 77, 74, 71 ;4800 FCB 114, 114, 114, 114, 114, 114, 114, 114, 102, 97, 94, 91, 88, 82, 80, 77, 74 ;5200 FCB 114, 114, 114, 114, 114, 114, 114, 114, 102, 97, 94, 91, 88, 82, 80, 77, 74 ;5600 FCB 114, 114, 114, 114, 114, 114, 114, 114, 102, 97, 94, 91, 88, 82, 80, 77, 74 ;6000 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Closed throttle SA table ;~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; SA = (val - bias) * .351 ; L4289 FCB 0 ;0 RPM, row offset FCB 0 ;0 kPa, col offset FCB 17 ;# of cols. per row ; ; kPa: 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 ;RPM ; FCB 85, 85, 85, 85, 85, 80, 77, 63, 60, 54, 46, 40, 37, 34, 31, 28, 26 ; 400 FCB 71, 71, 71, 71, 77, 80, 77, 63, 60, 54, 46, 40, 37, 34, 31, 28, 28 ; 600 FCB 71, 71, 71, 71, 77, 85, 85, 74, 68, 57, 54, 43, 40, 34, 31, 28, 28 ; 800 FCB 85, 85, 85, 85, 85, 85, 85, 80, 71, 65, 57, 48, 43, 37, 31, 28, 28 ;1000 FCB 85, 85, 85, 85, 85, 85, 85, 80, 74, 68, 60, 54, 48, 43, 37, 34, 31 ;1200 FCB 88, 88, 88, 88, 88, 88, 88, 82, 80, 71, 65, 60, 54, 48, 43, 40, 40 ;1600 FCB 91, 91, 91, 91, 91, 91, 91, 88, 85, 80, 71, 68, 60, 57, 48, 46, 46 ;2000 FCB 94, 94, 94, 94, 94, 94, 94, 91, 88, 80, 74, 68, 63, 60, 54, 54, 51 ;2400 FCB 100, 100, 100, 100, 100, 100, 100, 94, 91, 82, 77, 71, 65, 63, 60, 57, 54 ;2800 FCB 102, 102, 102, 102, 102, 102, 102, 97, 94, 91, 80, 77, 74, 68, 65, 63, 60 ;3200 FCB 105, 105, 105, 105, 105, 105, 105, 102, 97, 91, 85, 80, 77, 71, 68, 65, 63 ;3600 FCB 114, 114, 114, 114, 114, 114, 114, 114, 100, 94, 88, 85, 82, 77, 74, 71, 68 ;4000 FCB 114, 114, 114, 114, 114, 114, 114, 114, 102, 97, 91, 88, 85, 80, 77, 74, 71 ;4400 FCB 114, 114, 114, 114, 114, 114, 114, 114, 102, 97, 91, 88, 85, 80, 77, 74, 71 ;4800 FCB 114, 114, 114, 114, 114, 114, 114, 114, 102, 97, 94, 91, 88, 82, 80, 77, 74 ;5200 FCB 114, 114, 114, 114, 114, 114, 114, 114, 102, 97, 94, 91, 88, 82, 80, 77, 74 ;5600 FCB 114, 114, 114, 114, 114, 114, 114, 114, 102, 97, 94, 91, 88, 82, 80, 77, 74 ;6000 ; ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Look up cool temp SA correction ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; SA = (val - bias) * .351 ; L43AD FCB 0 ;zero val=use vac, non-zero val=use SD MAP ; FCB 16 ;12 deg C, cool temp offset FCB 0 ;0 kPa, vac offset FCB 9 ;# cols. per row ; ; kPa: 80 70 60 50 40 30 20 10 0 ;Deg C ; FCB 91, 91, 91, 91, 91, 91, 100, 100, 100 ;-28 FCB 91, 91, 91, 91, 91, 91, 97, 97, 97 ;-16 FCB 85, 85, 85, 85, 85, 85, 94, 94, 94 ; -4 FCB 82, 82, 82, 82, 82, 82, 85, 85, 85 ; 8 FCB 54, 54, 54, 54, 54, 57, 60, 63, 63 ; 20 FCB 48, 48, 48, 48, 48, 51, 54, 57, 57 ; 32 FCB 46, 46, 46, 46, 46, 48, 51, 51, 51 ; 44 FCB 46, 46, 46, 46, 46, 48, 51, 51, 51 ; 56 FCB 48, 48, 48, 48, 48, 57, 57, 57, 57 ; 68 FCB 57, 57, 57, 57, 57, 57, 57, 57, 57 ; 80 FCB 57, 57, 57, 57, 57, 57, 57, 57, 57 ; 92 FCB 54, 54, 54, 51, 51, 48, 46, 46, 46 ;103 FCB 51, 48, 48, 43, 43, 43, 40, 40, 40 ;116 FCB 43, 43, 37, 34, 34, 34, 31, 31, 31 ;128 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-SA correction mult. vs MAT ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; SA corr. = (val - bias) x .351 ; L442F FCB 0 ;Col. select, 0 = use vac, 1 = use RPM ; FCB 80 ;20 deg C, min MAT FCB 0 ;Min vac. FCB 12 ;# of cols. ; ; ; kPa 55, 50, 45, 40, 35, 30, 25, 20, 15, 10, 5, 0 ;Deg C ; FCB 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; 20 FCB 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; 32 FCB 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; 44 FCB 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; 55 FCB 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; 68 FCB 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; 80 FCB 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; 92 FCB 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ;104 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-MAT SA mult. for negative SA correction ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Mult. ;kPa ; L4493 FCB 0 ; 20 FCB 0 ; 25 FCB 0 ; 30 FCB 0 ; 35 FCB 0 ; 40 FCB 0 ; 45 FCB 0 ; 50 FCB 0 ; 55 FCB 0 ; 60 FCB 0 ; 65 FCB 0 ; 70 FCB 0 ; 75 FCB 0 ; 80 FCB 0 ; 85 FCB 0 ; 90 FCB 0 ; 95 FCB 0 ;100 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-MAT SA mult. for positive SA correction ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Mult. ;kPa ; L44A4 FCB 0 ; 20 FCB 0 ; 25 FCB 0 ; 30 FCB 0 ; 35 FCB 0 ; 40 FCB 0 ; 45 FCB 0 ; 50 FCB 0 ; 55 FCB 0 ; 60 FCB 0 ; 65 FCB 0 ; 70 FCB 0 ; 75 FCB 0 ; 80 FCB 0 ; 85 FCB 0 ; 90 FCB 0 ; 95 FCB 0 ;100 ; ;~~~~~~~~~~~~~~~~~~~~~~~ ;-PE spark corr. vs rpm ;~~~~~~~~~~~~~~~~~~~~~~~ ; ; Deg SA ;RPM ; L44B5 FCB 0 ; 0 FCB 0 ; 400 FCB 0 ; 800 FCB 3 ;1200 FCB 6 ;1600 FCB 6 ;2000 FCB 6 ;2400 FCB 6 ;2800 FCB 6 ;3200 FCB 6 ;3600 FCB 6 ;4000 FCB 6 ;4400 FCB 6 ;4800 FCB 6 ;5200 FCB 6 ;5600 FCB 6 ;6000 FCB 6 ;6400 ; ;---------------------------------------------- ; SPK TIME OUT REDUCTION RATE VS FLOW ; ; TBL = SEC 5 -1 ;---------------------------------------------- ORG $44C6 ; msec's gms/sec air flow ;--------------------------------- L44C6 FCB 19 ; 3600 0 FCB 14 ; 2600 16 FCB 8 ; 1400 32 FCB 6 ; 1000 48 FCB 4 ; 600 64 ;--------------------------------------------- ;--------------------------------------------- ; ALTITUDE SPK ADV CORR Vs. BARO & VAC ; ; Dissassemby of BDWM ; ; TBL = (SPK + BAIS) * 256/90 ;--------------------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Alt. SA correction vs. baro and vac ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; SA corr. = (val - bias) x .351 ; L44CB FCB 96 ;75 kPa, baro row offset for lookup FCB 176 ;25 kPa, vacuum col. offset for lookup FCB 6 ;# cols. per row ; ; kPa vac: 25 20 15 10 5 0 ;kPa baro ; FCB 28, 28, 25, 25, 25, 28 ; 75 FCB 28, 28, 28, 28, 28, 28 ; 85 FCB 28, 28, 28, 28, 28, 28 ; 95 FCB 28, 28, 28, 28, 28, 28 ;105 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Engine idle overspeed SA adj. vs RPM ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;-Subtracted from SA to lower engine speed ; L44E6 FCB 96 ;250 RPM, UL for table lookup ; ; SA corr.= ; val x .351 ; RPM ; FCB 0 ; 0.0 FCB 6 ; 12.5 FCB 9 ; 25.0 FCB 11 ; 37.5 FCB 14 ; 50.0 FCB 14 ;150.0 FCB 17 ;250.0 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Engine idle overspeed SA multiplier vs. SD MAP ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L44EE FCB 128 ;60 kPa, UL for lookup ; ; % SA corr. = ; val x .391 ;kPa ; FCB 255 ; 0.996 20 FCB 255 ; 0.996 25 FCB 255 ; 0.996 30 FCB 255 ; 0.996 35 FCB 244 ; 0.953 40 FCB 244 ; 0.953 45 FCB 232 ; 0.906 50 FCB 175 ; 0.684 55 FCB 128 ; 0.500 60 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Engine idle underspeed SA adj. vs RPM ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;-Added SA to raise engine speed ; L44F8 FCB 96 ;250 rpm, UL for lookup ; ; SA corr.= ; val x .351 ; RPM ; FCB 0 ; 0.0 FCB 3 ; 12.5 FCB 6 ; 25.0 FCB 9 ; 37.5 FCB 11 ; 50.0 FCB 9 ;150.0 FCB 9 ;250.0 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Engine idle underspeed SA multiplier vs S/D MAP ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L4500 FCB 128 ;60 kPa, UL for lookup ; ; % SA corr. = ; val x .391 ;kPa ; FCB 244 ; 20 FCB 232 ; 25 FCB 232 ; 30 FCB 232 ; 35 FCB 205 ; 40 FCB 166 ; 45 FCB 102 ; 50 FCB 32 ; 55 FCB 0 ; 60 ; ;============================================= ; RPM DERIVITIVE SPK/FUEL CALIB'S ; SPARK CALIB'S, BDWM, MY 94 L05 ; type $0D ;============================================= L450A FCB 57 ;20 deg, SA bias for transient RPM idle SA corr. L450B FCB 11 ; 3.9 Deg, MAX IDLE SPK L450C FCB 64 ; 1600 RPM ; L450D FCB 221 ;Filter coeff, RPM/6.25 L450E FCB 101 ; FILT RPM COEF LIMIT ; L450F FCB 116 ; MIM ADJ FM DRIVITIVE RPM/SPK/FUEL L4510 FCB 141 ; LIMIT ADJ FM DRIVITIVE RPM/SPK/FUEL ;--------------------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Transient RPM idle SA corr. vs. rpm ratio ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; SA = ; (val - bias) x .351 ;RPM ratio ; L4511 FCB 50 ;0.75000 FCB 51 ;0.78125 FCB 52 ;0.81250 FCB 53 ;0.84375 FCB 54 ;0.87500 FCB 55 ;0.90625 FCB 56 ;0.93750 FCB 57 ;0.96875 FCB 57 ;1.00000 FCB 57 ;1.03125 FCB 58 ;1.06250 FCB 59 ;1.09375 FCB 60 ;1.12500 FCB 61 ;1.15625 FCB 62 ;1.18750 FCB 63 ;1.21875 FCB 64 ;1.25000 ; ;--------------------------------------------- ; SPK TIME OUT VS COOL ; (START UP SPK ADDER) ; ; Dissassemby of BDWM, LINES = 9 ; 11-11-1994, 10:34:28 ; ; TBL = SPK * (256/90) ;--------------------------------------------- ORG $4522 ; L4522: FCB 8 ; 9 LINE TABLE TABLE ; Deg SA Cool deg c ;--------------------------------- L4523 FCB 28 ; 9.8 -40 L4524 FCB 28 ; 9.8 -16 L4525 FCB 28 ; 9.8 8 L4526 FCB 28 ; 9.8 32 L4527 FCB 20 ; 7.0 56 L4528 FCB 14 ; 4.9 80 L4529 FCB 14 ; 4.9 104 L452A FCB 14 ; 4.9 128 L452B FCB 14 ; 4.9 152 ;--------------------------------------------- ;--------------------------------------------- ; SPK TIME OUT DECAY DELAY Vs. COOL ; ; Dissassemby of BDWM, LINES = 9 ; ; TBL = 1 * Sec's ;--------------------------------------------- ORG $452C ; L452C: FCB 8 ; 9 LINES ; sec's Cool deg c ;--------------------------------- L452D FCB 40 ; 40 -40 L452E FCB 40 ; 40 -16 L452F FCB 25 ; 25 8 L4530 FCB 15 ; 15 32 L4531 FCB 20 ; 20 56 L4532 FCB 10 ; 10 80 L4533 FCB 5 ; 5 104 L4534 FCB 5 ; 5 128 L4535 FCB 5 ; 5 152 ;--------------------------------------------- ;--------------------------------------------- ; SPK TIME OUT DECAY MULTIPLIER Vs. COOL ; ; TBL = MULT * 256 ;--------------------------------------------- ORG $4536 ; L4536 FCB 8 ; 9 LINES ; %MULT COOL Deg c ;--------------------------------- L4537 FCB 251 ; 0.980 -40 L4538 FCB 251 ; 0.980 -16 L4539 FCB 248 ; 0.970 8 L453A FCB 248 ; 0.970 32 L453B FCB 243 ; 0.949 56 L453C FCB 235 ; 0.918 80 L453D FCB 205 ; 0.800 104 L453E FCB 205 ; 0.800 128 L453F FCB 205 ; 0.800 152 ;--------------------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Spark latency correction vs. RPMs ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L4540 FCB 192 ;4800 rpm, UL for lookup ; ; usecs = val x 15.26 ;RPM ; L4541 FCB 0 ; 0 FCB 0 ; 400 FCB 0 ; 800 FCB 3 ;1200 FCB 7 ;1600 FCB 9 ;2000 FCB 9 ;2400 FCB 12 ;2800 FCB 11 ;3200 FCB 9 ;3600 FCB 10 ;4000 FCB 10 ;4400 FCB 9 ;4800 ; ;~~~~~~~~~~~~~~~~~~~~~~~ ;-Baro correction table ;~~~~~~~~~~~~~~~~~~~~~~~ ; L454E FCB 32 ; Min RPM Value, (1200) FCB 48 ; Min TPS Value, (37.5%) FCB 6 ; # columns/row ; ;-Added Baro counts ; ; %TPS 37.5, 50.0, 62.5, 75.0, 87.5, 100 ;RPM ; FCB 18, 10, 6, 5, 4, 3 ;1200 FCB 35, 17, 13, 9, 8, 6 ;1800 FCB 54, 27, 22, 16, 14, 11 ;2400 FCB 75, 44, 29, 20, 16, 13 ;3000 FCB 97, 45 38, 26, 21, 16 ;3600 FCB 115, 62, 46, 32, 27, 21 ;4200 FCB 130, 70, 48, 33, 25, 20 ;4800 ;============================================= ; KNOCK CALIB'S ; BDWM, 5.7 L V8, TYPE $0D ECM ;============================================= ;--------------------------------------------- ; MAX KNOCK RETARD IN WOT Vs. RPM ; 8 LINE TABLE ; ; TBL = SPK ADV * (256/45) ;--------------------------------------------- ORG $457B ; Deg SA RPM ;--------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~ ;-Max PE knock retard ;~~~~~~~~~~~~~~~~~~~~~ ; ; Max pulled SA ;RPM ; L457B FCB 46 ; 800 FCB 46 ;1600 FCB 46 ;2400 FCB 57 ;3200 FCB 57 ;4000 FCB 57 ;4800 FCB 57 ;5600 FCB 57 ;6400 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Max Non-PE retard vs Vac ;~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Max pulled SA ;kPa ; L4583 FCB 0 ; 60 FCB 23 ; 50 FCB 46 ; 40 FCB 46 ; 30 FCB 46 ; 20 FCB 46 ; 10 FCB 46 ; 0 ; ;--------------------------------------------- ; KNOCK ATTACK RATE Vs. RPM ; ; Dissassemby of BDWM ; 17 BYTES ; ; TBL = (DEG/msec) / .0225 ;--------------------------------------------- ORG $458A ; DEG/msec RPM ;--------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Knock attack rate vs. rpm ;~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; deg/msec = val. x ; .0225 ; ; RPM ; L458A FCB 2 ; 0 FCB 2 ; 400 FCB 10 ; 800 FCB 15 ;1200 FCB 15 ;1600 FCB 15 ;2000 FCB 15 ;2400 FCB 15 ;2800 FCB 21 ;3200 FCB 21 ;3600 FCB 21 ;4000 FCB 21 ;4400 FCB 21 ;4800 FCB 21 ;5200 FCB 21 ;5600 FCB 21 ;6000 FCB 21 ;6400 ; ;--------------------------------------------- ; KNOCK RECOVERY RATE Vs. RPM ; ; Dissassemby of BDWM LINES = 17 ; ; TBL = .512 * %/msec ; TBL = %/msec * (256/500) ;--------------------------------------------- ORG $459B ; %/msec RPM ;--------------------------------- L459B FCB 220 ; 429.7 0 L459C FCB 220 ; 429.7 400 L459D FCB 48 ; 93.7 800 L459E FCB 19 ; 37.1 1200 L459F FCB 19 ; 37.1 1600 L45A0 FCB 19 ; 37.1 2000 L45A1 FCB 18 ; 35.2 2400 L45A2 FCB 18 ; 35.2 2800 L45A3 FCB 16 ; 31.2 3200 L45A4 FCB 16 ; 31.2 3600 L45A5 FCB 16 ; 31.2 4000 L45A6 FCB 16 ; 31.2 4400 L45A7 FCB 16 ; 31.2 4800 L45A8 FCB 16 ; 31.2 5200 L45A9 FCB 16 ; 31.2 5600 L45AA FCB 16 ; 31.2 6000 L45AB FCB 16 ; 31.2 6400 ;--------------------------------------------- ;============================================= ; LOW OCTAINE ; ; BDWM, 5.7l V8, TYPE $0D ECM ;============================================= L45AC FCB 160 ; 80 Deg c, MIN FOR LOW OCTANE L45AD FCB 96 ; 48.5 kpa MAP, MIN FOR LOW OCTANE L45AE FCB 64 ; L.T. or E.Q 34 Kpa DIFF MAP ; INCREASE FOR LOW OCTANE ; L45AF FCB 14 ; 2.5 deg HI KNOCK ACTIVITY L45B0 FCB 11 ; 1.9 deg LO OCTANE KNOCK ; L45B1 FCB 25 ; 25 CNT'S LO OCT CNTR, INCR CNTS IF ; HI KNOCK > KNK RETARD G.T. L45AA ; L45B2 FCB 25 ; 25 CNT'S LO OCT CNTR, INCR CNTS IF ; HI KNOCK (= KNK RETARD G.T. L45AB ; L45B3 FCB 14 ; 5 Deg LO OCT BASE SPK RETARD MAX ; BASE SPK RETART = L45AE * LOW OCT CNTR ;--------------------------------------------- ;--------------------------------------------- ; LOW OCTAINE SPK RETARD MULT Vs. RPM ; ; APPLIED TO BASE SPARK RETARD ; ; Dissassemby of BDWM ; 12-01-1993, 14:33:08 ; ; TBL = MULT * 2.56 ;--------------------------------------------- ORG $45B4 ; % MULT RPM ;------------------------------ ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Low octane spark retard mult. vs RPM ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Mult = val/2.56 ; RPM ; L45B4 FCB 0 ; 0 FCB 0 ; 800 FCB 204 ;1600 FCB 204 ;2400 FCB 204 ;3200 FCB 230 ;4000 FCB 255 ;4800 FCB 255 ;5600 FCB 255 ;6400 ; ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Low octane SA mult. vs SD MAP ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Mult. ;kPa ; L45BD FCB 0 ; 20 FCB 0 ; 25 FCB 0 ; 30 FCB 0 ; 35 FCB 0 ; 40 FCB 0 ; 45 FCB 128 ; 55 FCB 204 ; 55 FCB 255 ; 60 FCB 255 ; 65 FCB 255 ; 70 FCB 255 ; 75 FCB 255 ; 80 FCB 255 ; 85 FCB 255 ; 90 FCB 255 ; 95 FCB 255 ;100 ; ;============================================= ; KNOCK PARAMS ; ;============================================= L45CE: FCB 2 ; 2 MPH MIN VSS FOR SPK RETARD L45CF FCB 56 ; 700 RPM MIN FOR SPK RETARD L45D0 FCB 153 ; 75c COOL, MIN FOR SPK RETARD ;--------------------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Min knock counts vs. RPM ;~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Subtracted out from knock ; counts before store ; ; knock counts ;RPM ; L45D1 FCB 48 ; 0 FCB 48 ; 100 FCB 48 ; 200 FCB 48 ; 300 FCB 48 ; 400 FCB 48 ; 500 FCB 48 ; 600 FCB 48 ; 700 FCB 19 ; 800 FCB 19 ; 900 FCB 19 ;1000 FCB 16 ;1100 FCB 16 ;1200 FCB 16 ;1300 FCB 16 ;1400 FCB 16 ;1500 FCB 16 ;1600 FCB 16 ;1700 FCB 16 ;1800 FCB 16 ;1900 FCB 21 ;2000 FCB 21 ;2100 FCB 21 ;2200 FCB 21 ;2300 FCB 21 ;2400 FCB 21 ;2500 FCB 21 ;2600 FCB 21 ;2700 FCB 41 ;2800 FCB 41 ;2900 FCB 41 ;3000 FCB 41 ;3100 FCB 41 ;3200 FCB 41 ;3300 FCB 41 ;3400 FCB 41 ;3500 FCB 41 ;3600 FCB 32 ;3700 FCB 28 ;3800 FCB 25 ;3900 FCB 21 ;4000 FCB 16 ;4100 FCB 16 ;4200 FCB 16 ;4300 FCB 16 ;4400 FCB 16 ;4500 FCB 16 ;4600 FCB 16 ;4700 FCB 16 ;4800 FCB 16 ;4900 FCB 16 ;5000 FCB 16 ;5100 FCB 16 ;5200 FCB 16 ;5300 FCB 16 ;5400 FCB 16 ;5500 FCB 16 ;5600 FCB 16 ;5700 FCB 16 ;5800 FCB 16 ;5900 FCB 16 ;6000 FCB 16 ;6100 FCB 16 ;6200 FCB 16 ;6300 FCB 16 ;6400 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Added knock count bias vs. RPM ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Knock count bias ;RPM ; L4612 FCB 0 ; 0 FCB 0 ; 100 FCB 0 ; 200 FCB 0 ; 300 FCB 0 ; 400 FCB 0 ; 500 FCB 0 ; 600 FCB 0 ; 700 FCB 48 ; 800 FCB 48 ; 900 FCB 48 ;1000 FCB 48 ;1100 FCB 48 ;1200 FCB 48 ;1300 FCB 48 ;1400 FCB 48 ;1500 FCB 48 ;1600 FCB 48 ;1700 FCB 48 ;1800 FCB 48 ;1900 FCB 48 ;2000 FCB 48 ;2100 FCB 48 ;2200 FCB 48 ;2300 FCB 48 ;2400 FCB 48 ;2500 FCB 48 ;2600 FCB 48 ;2700 FCB 48 ;2800 FCB 48 ;2900 FCB 48 ;3000 FCB 48 ;3100 FCB 48 ;3200 FCB 48 ;3300 FCB 48 ;3400 FCB 64 ;3500 FCB 64 ;3600 FCB 64 ;3700 FCB 64 ;3800 FCB 64 ;3900 FCB 64 ;4000 FCB 64 ;4100 FCB 64 ;4200 FCB 64 ;4300 FCB 64 ;4400 FCB 64 ;4500 FCB 64 ;4600 FCB 64 ;4700 FCB 64 ;4800 FCB 64 ;4900 FCB 64 ;5000 FCB 64 ;5100 FCB 64 ;5200 FCB 64 ;5300 FCB 64 ;5400 FCB 64 ;5500 FCB 64 ;5600 FCB 64 ;5700 FCB 64 ;5800 FCB 64 ;5900 FCB 64 ;6000 FCB 64 ;6100 FCB 64 ;6200 FCB 64 ;6300 FCB 64 ;6400 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Knock window delay time vs. RPM ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; msec = Table val/131.072 ; L4653 FDB 0426 ; 0 FDB 0426 ; 100 FDB 0426 ; 200 FDB 0426 ; 300 FDB 0426 ; 400 FDB 0426 ; 500 FDB 0426 ; 600 FDB 0426 ; 700 FDB 0426 ; 800 FDB 0426 ; 900 FDB 0426 ;1000 FDB 0426 ;1100 FDB 0426 ;1200 FDB 0426 ;1300 FDB 0426 ;1400 FDB 0426 ;1500 FDB 0426 ;1600 FDB 0361 ;1700 FDB 0361 ;1800 FDB 0361 ;1900 FDB 0361 ;2000 FDB 0361 ;2100 FDB 0361 ;2200 FDB 0328 ;2300 FDB 0238 ;2400 FDB 0328 ;2500 FDB 0238 ;2600 FDB 0328 ;2700 FDB 0238 ;2800 FDB 0328 ;2900 FDB 0238 ;3000 FDB 0328 ;3100 FDB 0262 ;3200 FDB 0262 ;3300 FDB 0262 ;3400 FDB 0262 ;3500 FDB 0262 ;3600 FDB 0262 ;3700 FDB 0262 ;3800 FDB 0262 ;3900 FDB 0262 ;4000 FDB 0262 ;4100 FDB 0262 ;4200 FDB 0262 ;4300 FDB 0219 ;4400 FDB 0219 ;4500 FDB 0219 ;4600 FDB 0219 ;4700 FDB 0219 ;4800 FDB 0219 ;4900 FDB 0219 ;5000 FDB 0219 ;5100 FDB 0219 ;5200 FDB 0219 ;5300 FDB 0219 ;5400 FDB 0219 ;5500 FDB 0219 ;5600 FDB 0219 ;5700 FDB 0219 ;5800 FDB 0219 ;5900 FDB 0219 ;6000 FDB 0219 ;6100 FDB 0219 ;6200 FDB 0219 ;6300 FDB 0219 ;6400 ; ;--------------------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Knock prevention params. ;~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L46D5 FCB 96 ;50 kPa, upper limit for knock prevention L46D6 FCB 128 ;50% TPS, upper limit for knock prevention L46D7 FCB 12 ;4.7% delta TPS, min delta TPS for knock prevention L46D8 FCB 40 ;500 msec, time for burst retard to be in effect ; ;--------------------------------------------- ; DEGREES BURST KNK RETARD Vs. COOLANT ; ; TBL = SPK RETARD * (256/90) ;--------------------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Degrees SA of burst knock retard vs. cool temp ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L46D9 FCB 112 ;110 deg C, UL for lookup ; ; deg SA = ; val x .351 ;Deg C ; FCB 0 ; 75 FCB 3 ; 80 FCB 6 ; 85 FCB 6 ; 90 FCB 6 ; 95 FCB 9 ;100 FCB 14 ;105 FCB 17 ;110 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Engine SA control params, used with manual trans. ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;-RPMs rising ; L46E2 FCB 0 ;SA derivative gain L46E3 FCB 0 ;SA derivative term bias L46E4 FCB 0 ;Max allowable SA derivative term to be subtracted ; ;-RPMs falling ; L46E5 FCB 0 ;SA derivative gain L46E6 FCB 0 ;SA derivative term bias L46E7 FCB 0 ;Max allowable SA derivative term to be added L46E8 FCB 255 ;151 deg C, lower temp. limit for der. control L46E9 FCB 0 ;-40 deg C, upper temp. limit for der. control ; ;-Filter coeff for RPMs/12.5, used in calc. delta RPMs ; ; Filt. coeff. ;% TPS ; L46EA FCB 0 ; 0 FCB 0 ; 25 FCB 0 ; 50 FCB 0 ; 75 FCB 0 ;100 ; ;============================================= ; EGR PARAM'S ; TYPE $0D PCM ;============================================= ;--------------------------------------------- ; EGR ENABLE PARAMS ; ; Dissassemby of BDWM, TYPE 0D ECM ; L05, M30 ;--------------------------------------------- L46EF FCB 73 ; 15c COOL, START UP COOL THRESH TO ENABLE EGR ; L46F0 FCB 153 ; 75c COOL, THRESH FOR EGR OFF TO ON L46F1 FCB 113 ; 45c COOL, THRESH FOR EGR TO STAY ON ; L46F2 FCB 0 ; -50c MAT THRESH TO ENABLE EGR L46F3 FCB 0 ; -50c MAT THRESH FOR EGR TO STAY ON ; L46F4 FCB 0 ; 0 MPH Vss THRESH TO ENABLE EGR ; L46F5 FCB 32 ; 800 RPM THRESH FOR EGR OFF TO ON L46F6 FCB 30 ; 750 RPM THRESH FOR EGR TO STAY ON ; L46F7 FCB 8 ; 3% TPS THRESH FOR EGR OFF TO ON L46F8 FCB 5 ; 2% TPS THRESH FOR EGR TO STAY ON ; L46F9 FCB 45 ; 27.0 Kpa MAP THRESH FOR EGR OFF TO ON L46FA FCB 38 ; 24.4 Kpa MAP THRESH FOR EGR STAY ON ; L46FB FCB 240 ; 5.5 Kpa VAC THRESH TO TURN EGR OFF L46FC FCB 233 ; 8.1 Kpa VAC THRESH TO KEEP EGR OFF ; L46FD FCB 166 ; 65% TPS, MAX FOR EGR ON L46FE FCB 140 ; EGR OFF WHEN L.T. 14:1 AFR ;--------------------------------------------- ;--------------------------------------------- ; EGR SCHEDULING ; ; Dissassemby of BDWM, TYPE 0D ECM ; L05, MD8 ; ; LINEAR EGR DESIRED PINTEL POSIT ; EVRV D.C. ; BACK PRESSURE W/SOLONOID D.C. ; ;--------------------------------------------- ORG $46FF ; L46FF FCB 51 ; 20% MIN DESIRED EGR ; 0 EGR IF REQUEST L.T. 20% ; ;--------------------------------------------- ; DESIRED EGR Vs. RPM & LOAD, (VAC or MAP) ; ; 05-24-1999 Dissassemby of BDWM ; 9 COL x 9 BLOCKS = 81 BYTES ; ; 1. DIGITAL VALVE ALL VALS = 255 ; 2. LINEAR EGR DESIRED PINTEL POSIT TABLE ; 3. EVRV D.C. ; ; TBL = 2.56 * EGR% ;--------------------------------------------- ORG $4700 ; 0 = VAC L4700 FCB 0 ; SEL LOAD MODE 1 = MAP ; 2 = ALT MAP ORG $4701 ; L4701 FCB 32 ; Min RPM, (800) Val FCB 0 ; Min Kpa Value FCB 9 ; COL'S/ROW ;--------------------------------------------- ; 800 RPM ; PCT KPA Vac ;--------------------------------------------- L4704 FCB 255 ; 99.6 80 L4705 FCB 255 ; 99.6 70 L4706 FCB 255 ; 99.6 60 L4707 FCB 255 ; 99.6 50 L4708 FCB 255 ; 99.6 40 L4709 FCB 255 ; 99.6 30 L470A FCB 255 ; 99.6 20 L470B FCB 255 ; 99.6 10 L470C FCB 255 ; 99.6 0 ;--------------------------------------------- ; 1200 RPM ; PCT KPA vac ;--------------------------------------------- L470D FCB 255 ; 99.6 80 L470E FCB 255 ; 99.6 70 L470F FCB 255 ; 99.6 60 L4710 FCB 255 ; 99.6 50 L4711 FCB 255 ; 99.6 40 L4712 FCB 255 ; 99.6 30 L4713 FCB 255 ; 99.6 20 L4714 FCB 255 ; 99.6 10 L4715 FCB 255 ; 99.6 0 ;--------------------------------------------- ; 1600 RPM ; PCT KPA vac ;--------------------------------------------- L4716 FCB 255 ; 99.6 80 L4717 FCB 255 ; 99.6 70 L4718 FCB 255 ; 99.6 60 L4719 FCB 255 ; 99.6 50 L471A FCB 255 ; 99.6 40 L471B FCB 255 ; 99.6 30 L471C FCB 255 ; 99.6 20 L471D FCB 255 ; 99.6 10 L471E FCB 255 ; 99.6 0 ;--------------------------------------------- ; 2000 RPM ; PCT KPA vac ;--------------------------------------------- L471F FCB 255 ; 99.6 80 L4720 FCB 255 ; 99.6 70 L4721 FCB 255 ; 99.6 60 L4722 FCB 255 ; 99.6 50 L4723 FCB 255 ; 99.6 40 L4724 FCB 255 ; 99.6 30 L4725 FCB 255 ; 99.6 20 L4726 FCB 255 ; 99.6 10 L4727 FCB 255 ; 99.6 0 ;--------------------------------------------- ; 2400 RPM ; PCT KPA vac ;--------------------------------------------- L4728 FCB 255 ; 99.6 80 L4729 FCB 255 ; 99.6 70 L472A FCB 255 ; 99.6 60 L472B FCB 255 ; 99.6 50 L472C FCB 255 ; 99.6 40 L472D FCB 255 ; 99.6 30 L472E FCB 255 ; 99.6 20 L472F FCB 255 ; 99.6 10 L4730 FCB 255 ; 99.6 0 ;--------------------------------------------- ; 2800 RPM ; PCT KPA vac ;--------------------------------------------- L4731 FCB 255 ; 99.6 80 L4732 FCB 255 ; 99.6 70 L4733 FCB 255 ; 99.6 60 L4734 FCB 255 ; 99.6 50 L4735 FCB 255 ; 99.6 40 L4736 FCB 255 ; 99.6 30 L4737 FCB 255 ; 99.6 20 L4738 FCB 255 ; 99.6 10 L4739 FCB 255 ; 99.6 0 ;--------------------------------------------- ; 3200 RPM ; PCT KPA vac ;--------------------------------------------- L473A FCB 255 ; 99.6 80 L473B FCB 255 ; 99.6 70 L473C FCB 255 ; 99.6 60 L473D FCB 255 ; 99.6 50 L473E FCB 255 ; 99.6 40 L473F FCB 255 ; 99.6 30 L4740 FCB 255 ; 99.6 20 L4741 FCB 255 ; 99.6 10 L4742 FCB 255 ; 99.6 0 ;--------------------------------------------- ; 3600 RPM ; PCT KPA vac ;--------------------------------------------- L4743 FCB 255 ; 99.6 80 L4744 FCB 255 ; 99.6 70 L4745 FCB 255 ; 99.6 60 L4746 FCB 255 ; 99.6 50 L4747 FCB 255 ; 99.6 40 L4748 FCB 255 ; 99.6 30 L4749 FCB 255 ; 99.6 20 L474A FCB 255 ; 99.6 10 L474B FCB 255 ; 99.6 0 ;--------------------------------------------- ; 4000 RPM ; PCT KPA vac ;--------------------------------------------- L474C FCB 255 ; 99.6 80 L474D FCB 255 ; 99.6 70 L474E FCB 255 ; 99.6 60 L474F FCB 255 ; 99.6 50 L4750 FCB 255 ; 99.6 40 L4751 FCB 255 ; 99.6 30 L4752 FCB 255 ; 99.6 20 L4753 FCB 255 ; 99.6 10 L4754 FCB 255 ; 99.6 0 ;--------------------------------------------- ;--------------------------------------------- ; DESIRED EGR GAIN FACTOR Vs. COOL ; ; 05-24-1999 Dissassemby of BJDR ; 7 BYTES ; ; TBL = 128 * MULT ;--------------------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Desired EGR gain factor vs. cool temp ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L4755 FCB 176 ;92 deg C, upper limit for lookup ; ; gain ;Deg C ; FCB 128 ; 20 FCB 128 ; 32 FCB 128 ; 48 FCB 128 ; 56 FCB 128 ; 68 FCB 128 ; 80 FCB 128 ; 92 ; ;--------------------------------------------- ; EGR GAIN FACTOR Vs. BARO & MAP ; ; Type OD ECM ; ; 05-24-1999 Dissassemby of BDWM ; 4 COL x 8 BLOCKS = 32 BYTES ; ; TBL = 128 * MULT ;--------------------------------------------- ORG $475D ; L475D FCB 16 ; Min MAP Val L475E FCB 96 ; Min VAC Value L475F FCB 4 ; COL'S/ROW ;--------------------------------------------- ; 30 Kpa MAP ; FACTOR Kpa BARO ;--------------------------------------------- L4760 FCB 128 ; 1.0 75 L4761 FCB 128 ; 1.0 85 L4762 FCB 128 ; 1.0 95 L4763 FCB 128 ; 1.0 105 ;--------------------------------------------- ; 40 Kpa MAP ; FACTOR Kpa BARO ;--------------------------------------------- L4764 FCB 128 ; 1.0 75 L4765 FCB 128 ; 1.0 85 L4766 FCB 128 ; 1.0 95 L4767 FCB 128 ; 1.0 105 ;--------------------------------------------- ; 50 Kpa MAP ; FACTOR Kpa BARO ;--------------------------------------------- L4768 FCB 128 ; 1.0 75 L4769 FCB 128 ; 1.0 85 L476A FCB 128 ; 1.0 95 L476B FCB 128 ; 1.0 105 ;--------------------------------------------- ; 60 Kpa MAP ; FACTOR Kpa BARO ;--------------------------------------------- L476C FCB 128 ; 1.0 75 L476D FCB 128 ; 1.0 85 L476E FCB 128 ; 1.0 95 L476F FCB 128 ; 1.0 105 ;--------------------------------------------- ; 70 Kpa MAP ; FACTOR Kpa BARO ;--------------------------------------------- L4770 FCB 128 ; 1.0 75 L4771 FCB 128 ; 1.0 85 L4772 FCB 128 ; 1.0 95 L4773 FCB 128 ; 1.0 105 ;--------------------------------------------- ; 80 Kpa MAP ; FACTOR Kpa BARO ;--------------------------------------------- L4774 FCB 128 ; 1.0 75 L4775 FCB 128 ; 1.0 85 L4776 FCB 128 ; 1.0 95 L4777 FCB 128 ; 1.0 105 ;--------------------------------------------- ; 90 Kpa MAP ; FACTOR Kpa BARO ;--------------------------------------------- L4778 FCB 128 ; 1.0 75 L4779 FCB 128 ; 1.0 85 L477A FCB 128 ; 1.0 95 L477B FCB 128 ; 1.0 105 ;--------------------------------------------- ; 100 Kpa MAP ; FACTOR Kpa BARO ;--------------------------------------------- L477C FCB 128 ; 1.0 75 L477D FCB 128 ; 1.0 85 L477E FCB 128 ; 1.0 95 L477F FCB 128 ; 1.0 105 ;--------------------------------------------- ;--------------------------------------------- ; FUEL REDUCTION PCT WITH EGR ON Vs. RPM & VAC ; (BP EGR) ; ; Dissassemby of BDWM ; 13 COL x 5 BLOCKS = 65 BYTES ; ; TBL = 00 = NO FUEL REDUCTION ; = FF = 25% FUEL REDUCTION ; ; FUEL REMOVED PCT ; ; TBL = EGR% * 10.24 ;--------------------------------------------- ORG $4780 ; L4780: FCB 16 ; Min RPM, (800 RPM) FCB 0 ; Min LD Value FCB 13 ; COL'S/ROW ;--------------------------------------------- ; 800 RPM ; %EGR Kpa VAC ;--------------------------------------------- FCB 0 ; 0.0 0.0 FCB 0 ; 0.0 2.5 FCB 15 ; 1.5 5.0 FCB 46 ; 4.5 7.5 FCB 100 ; 9.8 10.0 FCB 100 ; 9.8 12.5 FCB 100 ; 9.8 15.0 FCB 100 ; 9.8 17.5 FCB 100 ; 9.8 20.0 FCB 100 ; 9.8 30.0 FCB 100 ; 9.8 40.0 FCB 100 ; 9.8 50.0 FCB 100 ; 9.8 60.0 ;--------------------------------------------- ; 1600 RPM ; %EGR Kpa VAC ;--------------------------------------------- FCB 0 ; 0.0 0.0 FCB 0 ; 0.0 2.5 FCB 15 ; 1.5 5.0 FCB 46 ; 4.5 7.5 FCB 100 ; 9.8 10.0 FCB 100 ; 9.8 12.5 FCB 100 ; 9.8 15.0 FCB 100 ; 9.8 17.5 FCB 100 ; 9.8 20.0 FCB 100 ; 9.8 30.0 FCB 100 ; 9.8 40.0 FCB 100 ; 9.8 50.0 FCB 100 ; 9.8 60.0 ;--------------------------------------------- ; 2400 RPM ; %EGR Kpa VAC ;--------------------------------------------- FCB 0 ; 0.0 0.0 FCB 0 ; 0.0 2.5 FCB 15 ; 1.5 5.0 FCB 46 ; 4.5 7.5 FCB 100 ; 9.8 10.0 FCB 100 ; 9.8 12.5 FCB 100 ; 9.8 15.0 FCB 100 ; 9.8 17.5 FCB 100 ; 9.8 20.0 FCB 100 ; 9.8 30.0 FCB 100 ; 9.8 40.0 FCB 100 ; 9.8 50.0 FCB 100 ; 9.8 60.0 ;--------------------------------------------- ; 3200 RPM ; %EGR Kpa VAC ;--------------------------------------------- FCB 0 ; 0.0 0.0 FCB 0 ; 0.0 2.5 FCB 15 ; 1.5 5.0 FCB 46 ; 4.5 7.5 FCB 100 ; 9.8 10.0 FCB 100 ; 9.8 12.5 FCB 100 ; 9.8 15.0 FCB 100 ; 9.8 17.5 FCB 100 ; 9.8 20.0 FCB 100 ; 9.8 30.5 FCB 100 ; 9.8 40.0 FCB 100 ; 9.8 50.0 FCB 100 ; 9.8 60.0 ;--------------------------------------------- ; 3600 RPM ; %EGR Kpa VAC ;--------------------------------------------- FCB 0 ; 0.0 0.0 FCB 0 ; 0.0 2.5 FCB 15 ; 1.5 5.0 FCB 46 ; 4.5 7.5 FCB 100 ; 9.8 10.0 FCB 100 ; 9.8 12.5 FCB 100 ; 9.8 15.0 FCB 100 ; 9.8 17.5 FCB 100 ; 9.8 20.0 FCB 100 ; 9.8 30.0 FCB 100 ; 9.8 40.0 FCB 100 ; 9.8 50.0 FCB 100 ; 9.8 60.0 ;--------------------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-%EGR flow filter coeff. vs airflow ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ORG $47C4 ; FILT COEF Gms/Sec ;--------------------------------- L47C4 FCB 230 ; 0.898 0 L47C5 FCB 230 ; 0.898 16 L47C6 FCB 230 ; 0.898 32 L47C7 FCB 230 ; 0.898 48 L47C8 FCB 230 ; 0.898 64 ;--------------------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-EGR exhaust back pressure vs. airflow ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; kPa = va lx .3125 ; L47C9 FCB 0 ; 0 FCB 0 ; 16 FCB 0 ; 32 FCB 0 ; 48 FCB 0 ; 64 FCB 0 ; 80 FCB 0 ; 96 FCB 0 ;112 FCB 0 ;128 FCB 0 ;144 FCB 0 ;160 FCB 0 ;176 FCB 0 ;192 FCB 0 ;208 FCB 0 ;224 FCB 0 ;240 FCB 0 ;256 ; L47DA FCB 0 ; Gms/Sec SCALAR ; LINEAR & EVRV EGR ONLY = gms/sec * 8 ; ;~~~~~~~~~~~ ;-%EGR flow ;~~~~~~~~~~~ ; L47DB FCB 0 ;0 kPa, delta Kpa row offset FCB 0 ;0%, %EGR col. offset FCB 10 ;# cols. per row ; ; kPa: 0 5 10 15 20 30 40 50 60 70 ;%EGR ; FCB 0 0 0 0 0 0 0 0 0 0 ; 0 FCB 0 0 0 0 0 0 0 0 0 0 ; 10 FCB 0 0 0 0 0 0 0 0 0 0 ; 20 FCB 0 0 0 0 0 0 0 0 0 0 ; 30 FCB 0 0 0 0 0 0 0 0 0 0 ; 40 FCB 0 0 0 0 0 0 0 0 0 0 ; 50 FCB 0 0 0 0 0 0 0 0 0 0 ; 60 FCB 0 0 0 0 0 0 0 0 0 0 ; 70 FCB 0 0 0 0 0 0 0 0 0 0 ; 80 FCB 0 0 0 0 0 0 0 0 0 0 ; 90 FCB 0 0 0 0 0 0 0 0 0 0 ;100 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-%EGR flow baro corr. factor vs baro ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; mult. ;kPa ; L484C FCB 255 ; 75 FCB 255 ; 85 FCB 255 ; 95 FCB 255 ;105 ; L4850 FCB 0 ; Pct EGR PINTEL POSIT CLOSED L4851 FDB 0003 ; Pct EGR PINTEL POSIT CLOSED ; L4853 FCB 51 ; MIN EVRC D.C. THRESH FOR FLOW L4854 FCB 5 ; EGR ON SPARK FILTER COEF ;--------------------------------------------- ; EGR SPARK CORRECTION Vs. RPM & LOAD ; ; 05-24-1999 Dissassemby of BDWM ; 13 X 5 LINES ; ; TABLE = SPK * 256/90 ;--------------------------------------------- ORG $4855 ; L4855 FCB 1 ; SEL VAC, (0 = %EGR) ; L4856 FCB 16 ; Min Val FCB 0 ; Min Val FCB 13 ; row's/block ;--------------------------------------------- ; 800 RPM ; SPK ADV Kpa VAC ;--------------------------------------------- FCB 0 ; 0.0 0.0 FCB 0 ; 0.0 2.5 FCB 0 ; 0.0 5.0 FCB 3 ; 1.1 7.5 FCB 3 ; 1.1 10.0 FCB 6 ; 2.1 12.5 FCB 9 ; 3.2 15.0 FCB 9 ; 3.2 17.5 FCB 9 ; 3.2 20.0 FCB 9 ; 3.2 30.0 FCB 9 ; 3.2 40.0 FCB 9 ; 3.2 50.0 FCB 9 ; 3.2 60.0 ;--------------------------------------------- ; 1600 RPM ; SPK ADV Kpa VAC ;--------------------------------------------- FCB 0 ; 0.0 0.0 FCB 0 ; 0.0 2.5 FCB 0 ; 0.0 5.0 FCB 0 ; 0.0 7.5 FCB 0 ; 0.0 10.0 FCB 0 ; 0.0 12.5 FCB 0 ; 0.0 15.0 FCB 9 ; 3.2 17.5 FCB 9 ; 3.2 20.0 FCB 9 ; 3.2 30.0 FCB 9 ; 3.2 45.0 FCB 9 ; 3.2 50.0 FCB 9 ; 3.2 60.0 ;--------------------------------------------- ; 2400 RPM ; SPK ADV Kpa VAC ;--------------------------------------------- FCB 0 ; 0.0 0.0 FCB 0 ; 0.0 2.5 FCB 0 ; 0.0 5.0 FCB 0 ; 0.0 7.5 FCB 0 ; 0.0 10.0 FCB 0 ; 0.0 12.5 FCB 0 ; 0.0 15.0 FCB 9 ; 3.2 17.5 FCB 9 ; 3.2 20.0 FCB 9 ; 3.2 30.0 FCB 9 ; 3.2 40.0 FCB 9 ; 3.2 50.0 FCB 9 ; 3.2 60.0 ;--------------------------------------------- ; 3200 RPM ; SPK ADV Kpa VAC ;--------------------------------------------- FCB 0 ; 0.0 0.0 FCB 0 ; 0.0 2.5 FCB 0 ; 0.0 5.0 FCB 3 ; 1.1 7.5 FCB 3 ; 1.1 10.0 FCB 6 ; 2.1 12.5 FCB 9 ; 3.2 15.0 FCB 11 ; 3.9 17.5 FCB 11 ; 3.9 20.0 FCB 11 ; 3.9 30.0 FCB 11 ; 3.9 40.0 FCB 11 ; 3.9 50.0 FCB 11 ; 3.9 60.0 ;--------------------------------------------- ; 4000 RPM ; SPK ADV Kpa VAC ;--------------------------------------------- FCB 0 ; 0.0 0.0 FCB 0 ; 0.0 2.5 FCB 0 ; 0.0 5.0 FCB 3 ; 1.1 7.5 FCB 3 ; 1.1 10.0 FCB 6 ; 2.1 12.5 FCB 9 ; 3.2 15.0 FCB 11 ; 3.9 17.5 FCB 11 ; 3.9 20.0 FCB 11 ; 3.9 30.0 FCB 11 ; 3.9 40.0 FCB 11 ; 3.9 50.0 FCB 11 ; 3.9 60.0 ;--------------------------------------------- ;---------------------------------------------- ; DIGITAL EGR PINTLE POSIT CNT'L CALIB ; not used FOR BP EGR SYSTEMS ;---------------------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Digital linear EGR pintle position control calib. ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L489A FCB 0 ;0, A/D val for EGR pintle pos. scalar L489B FCB 0 ;Max allowed closed EGR pintle pos. L489C FCB 0 ;Min allowed closed EGR pintle pos. L489D FCB 0 ;Filter coeff. for EGR pinle position, EGR closing/closed L489E FCB 0 ;0, filter coeff. for %EGR ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-EGR init vs. % desired EGR ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L489F FCB 0 ;# lines/table ; ; Init val for EGR int. ;% desired EGR ; FCB 0 ; 0 FCB 0 ; 25 FCB 0 ; 50 FCB 0 ; 75 FCB 0 ;100 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-EGR proportional gain vs EGR error ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L48A5 FCB 0 ;# lines/table ; ; gain = val/256 ;%EGR error ; FCB 0 ; 0 FCB 0 ; 25 FCB 0 ; 50 FCB 0 ; 75 FCB 0 ;100 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Coarse EGR proportional gain vs. EGR error ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L48AB FCB 0 ;# lines/table ; ; gain = val/128 ;%EGR error ; FCB 0 ; 0 FCB 0 ; 25 FCB 0 ; 50 FCB 0 ; 75 FCB 0 ;100 ; ;============================================= ; AFR PARAMS ; BDWM, L05, MD8 , ($0D) ;============================================= L48B1 FCB 15 ;65 mV, lower limit for slow filtered O2 L48B2 FCB 208 ;903 mV, upper limit for slow filtered O2 ; (230.4 * mvdc) ; L48B3 FCB 3 ;Slow O2 filter coeff for idle L48B4 FCB 104 ; 450 mvdc, o2 INITIAL VALUE ; ;~~~~~~~~~~~~~~~~~~~~~~~~~ ;-MAP Accel Enrich params ;~~~~~~~~~~~~~~~~~~~~~~~~~ ; L48B5 FCB 16 ;5 kPa, delta MAP threshold for AE L48B6 FCB 4 ;1.3 kPa, delta MAP threshold for AE if idling L48B7 FCB 204 ;80% TPS, TPS treshold to double delta MAE AE threshold L48B8 FCB 255 ;TPS threshold to double MAP AE ; ;~~~~~~~~~~~~~~~~~~~~~~~~~ ;-TPS Accel Enrich params ;~~~~~~~~~~~~~~~~~~~~~~~~~ ; L48B9 FCB 5 ; IF DIFF TPS G.T. 2% DIFF MAP ACECH IS X2 ; L48BA FCB 147 ;1.15, TPS AE off-idle multiplier L48BB FCB 5 ;MPH threshold to apply off-idle TPS AE mult. ; L48BC FCB 100 ; 6.104 msec, Acell Enr PW IF DECEL ; OFF'ED BY TPS INCREASE msec * 16.384 ; L48BD FCB 20 ; 1.2 msec AE PW IF A/C OFF -> ON ON L48BE FCB 1 ; 0.1 SEC XISITION CALC INTERVAL L48BF FCB 26 ; 10% TPS FILTER COEF L48C0 FCB 10 ; HOLD INT HI 0.1 SEC AFTER ACCEL PW ; VAL = SEC * 80 ;============================================== ;============================================== ; CLSD LP QUALIFIERS ; BDWM, 5.7l V8, TYPE $0D ;============================================== L48C1 FCB 120 ; 50c, CLS LOOP TIMER START THRESH L48C2 FCB 203 ; 112c, HOT START THRESH ; L48C3 FCB 15 ; 30 Sec, MIN FOR CLSD LOOP IF TEMP UP L48C1 L48C4 FCB 60 ; 120 Sec, CLSD LOOP MIN IF COOL LT L48C1 L48C5 FCB 15 ; 30 Sec, CLS LP MIN IF START UP COOL GT L48C2 ; L48C6 FCB 56 ; 2c COOL, MIN FOR CLSD LP ;---------------------------------- ; SEE OPT WD AT L400D ; ; AFR MD BYTE 3, ($A4 1010 0100) ; b0 1 = USE OPN LP AFR IF TEMP LT L48C7 IN CLOSED LP ;---------------------------------- L48C7 FCB 253 ; 150c, IF COOL L.T. THRESH USE TBL L4BB0 ; DURING CLS LP IF b0 SET, L400D ; (Only valid if 400D, b0) ;============================================== ;============================================== ; O2 SENSOR READY PARAM ;============================================== L48C8 FCB 50 ; 10 Sec MIN FOR INSIDE WINDOW FOR NOT-READY ;============================================== ;============================================== ; BLM LEARN QUALIFIERS ; BDWM, L05, MD8, ($0D) ; ;============================================== L48C9 FCB 250 ; 2 Kpa VAC MIN for BLM LEARN ; L48CA FCB 21 ; 18.9 Kpa MIN for BLM LEARN L48CB FCB 240 ; 98.9 Kpa MAX for BLM LEARN ; L48CC FCB 107 ; 40c COOL, MIN for BLM ENABLE L48CD FCB 140 ; 3500 RPM/25, MAX for BLM ENABLE ;============================================== ;============================================== ; IDLE PARAMS ; BDWM, L05, MD8, ($0D) ; (QUALS FOR FL1/FL1), L49CB/L4A7E ;============================================== L48CE FCB 3 ;3 MPH, upper limit for idle VE L48CF FCB 4 ; 4 MPH, MAX FOR IDLE SPK TBL L48D0 FCB 7 ;2.7% TPS, threshold for idling ; L48D1 FCB 5 ; 2%, TPS MAX FOR DERIVATIVE RPM CALC L48D2 FCB 2 ; 2 MPH MAX FOR DERIVATIVE RPM CALC L48D3 FCB 153 ; 75c MIN FOR DERIVATIVE RPM CALC ;============================================== ;============================================== ; OPN LOOP IDLE PARAMS ; BDWM, L05, MD8, ($0D) ; ;============================================== L48D4 FCB 255 ; IF IDLE TIME => 255 Sec, SET IDLE FOR AIR MANAGMENT L48D5 FCB 0 ; 0 SEC'S AFTER OPN LP AIR MANAGEMENT SET USE OPN LP L48D6 FDB 0015 ; 15 sec RUN TIME, 1st IDLE TO OFF IDLE THRESH L48D8 FCB 100 ; 35c, OPEN LP IDLE TEMP THRESH ;============================================== ;============================================== ; AFR PARAMS ; BDWM, L05, MD8, ($0D) ;============================================== L48D9 FCB 173 ; 90c COOL, OPEN LP, RICH IDLE COOL THRESH L48DA FCB 0 ; -40c COOL, OPEN LP, RICH IDLE PK/NEUT or DRIVE LO THRESH L48DB FCB 254 ; 151c COOL, OPEN LP, RICH IDLE PK/NEUT or DRIVE HI THRESH ; L48DC FCB 200 ; 10 Sec's MAX TIME FOR RICH IDLE IF IN DRIVE ; sec * 20 ; L48DD FCB 147 ;14.7:1 AFRx10 ; Used when cool G.T. L48C6 TEMP, (0c) ; L48DE FCB 10 ;1.0:1 AFR bias for open loop idle ; Used prior to TPS action after start up ; L48DF FCB 147 ; 14.7:1 AFR FOR QUSI-CLSD LP L48E0 FCB 10 ; 1.0:1 AFR RICH BIAS FOR OPN LP DRIVE L48E1 FCB 5 ; 0.5:1 AFR RICH BIAS FOR OPN LP PK/NEUT L48E2 FCB 6 ; 23% FILT CONST FOR AFR FILTERING ; FOR IDLE TO LEANER OFF IDLE XISITION ;============================================== ;============================================= ; BLM PARAMS ; BDWM, L05, MD8, ($0D) ;============================================= L48E3 FCB 8 ; 450 msec FREQ BLM UPDATE ; 50 msec/BIT ; ; ; _______|______|_______|______ ; | | | ; 12 | 13 | 14 | 15 ; _______|______|_______|______ 80 Kpa MAP ; | | | ; 8 | 9 | 10 | 11 ; _______|______|_______|______ 50 Kpa MAP ; | | | ; 4 | 5 | 6 | 7 ; _______|______|_______|______ 31 Kpa MAP ; | | | ; 0 | 1 | 2 | 3 ; _______|______|_______|______ ; | | | ; 900 RPM ______| | | ; | | ; 1600 RPM _____________| | ; | ; 2200 RPM _____________________| ; ;--------------------------- ; BLM CELL BOUNDRIES ; BDWM, L05, MD8, ($0D) ;--------------------------- L48E4: FCB 36 ; 900 RPM L48E5: FCB 64 ; 1600 RPM L48E6: FCB 88 ; 2200 RPM ; L48E7: FCB 36 ; 23.6 Kpa MAP L48E8: FCB 96 ; 45.8 Kpa MAP L48E9: FCB 192 ; 81.2 Kpa MAP ;--------------------------- ;--------------------------- L48EA: FCB 3 ; WINDOW HYST 75 RPM L48EB: FCB 8 ; HYST KPA, 2 Kpa ; L48EC: FCB $07 ; FLAG WD, ; ; b7 1 = not used ; b6 1 = not used ; b5 1 = not used ; b4 1 = not used ; ; b3 1 = not used ; b2 1 = SEPARATE BLM PK/NEUT CELLS ; b1 1 = SEPARATE BLM A/C IDLE CELLS ; b0 1 = SEPARATE BLM IDLE CELLS ;--------------------------- ;---------------------------- L48ED: FCB 4 ; CLS LP INT WINDOW L48EE: FCB 3 ; IDLE CLS LP INT WINDOW ; L48EF: FCB 105 ; MIN BLM L48F0: FCB 90 ; MIN IDLE BLM L48F1: FCB 1 ; BLM UPDATE VALUE L48F2: FCB 165 ; MAX BLM ; ; ; 20 BLM Cell forced to these vals ; by routine at LF320 ; ; ;~~~~~~~~~~~~~~~~~ ;-BLM init limits ;~~~~~~~~~~~~~~~~~ ; L48F3 FCB 135 ;Upper limit on BLM at init L48F4 FCB 126 ;Lower limit on BLM at init ; ;--------------------------------------------- ; o2 LIMITS ; o2 AMP GAIN = 4.6 ; o2 VOLTAGE = TBL * 4.33974 ; ; TYPE $0D ;--------------------------------------------- ;------------------------ ; NOT IDLE ; CLOSED TO OPEN, CLOSED ;------------------------ L48F5: FCB 156 ; 677 mvdc, o2, (upper) L48F6: FCB 64 ; 277 mvdc, o2, (lower) ;------------------------ ; CLOSED TO OPEN, CLOSED ;------------------------ L48F7: FCB 166 ; 720 mvdc, o2, (upper) L48F8: FCB 64 ; 277 mvdc, o2, (lower) ;------------------------ ; OPEN to CLOSED ;----------------------- L48F9: FCB 161 ; 720 mvdc, o2, (upper) L48FA: FCB 81 ; 352 mvdc, o2, (lower) ;------------------------ ; CLOSED to OPEN, CLOSED LP ;------------------------ L48FB: FCB 169 ; 733 mvdc, o2, (upper) L48FC FCB 81 ; 352 mvdc, o2, (lower ;--------------------------------------------- ; L48FD FCB 120 ; 120 INT MIN TO RESET INT IF BLM R -> L L48FE FCB 133 ; 133 INT TO RESET INT IF BLM L -> R ; L48FF FCB 3 ; RICH TO LEAN BLM L4900 FCB 5 ; LEAN to RICH DIFF BLM THRSH ; IF BLM CELL CHANGE, R/S INT ; ************************************ * DECEL ENLEAN * BDWM, L05, MD8, ($0D) * ************************************ L4901 FCB 48 ; 28.1 Kpa CLSD LP LEAN DECEL MAP THRESH ; L4902 FCB 48 ; 1200 RPM, CLSD LP LEAN DECEL LO RPM THRESH L4903 FCB 100 ; 2500 RPM, CLSD LP LEAN DECEL HI RPM THRESH ; L4904 FCB 15 ; 15 MPH, CLSD LP LEAN DECEL LO Vss THRESH L4905 FCB 124 ;124, INT threshold to reset INT on VE table change ; L4906: FCB 40 ; 40 CL MIN INT VALUE L4907 FCB 158 ; 158 CL MAX INT VALUE ; L4908 FCB 10 ; PORP CNT'L LIMIT IF ACELL LMT IN EFFECT ; L4909: FCB 160 ; MAX AFR ****************************************** * PWR ENRICH PARM'S * ****************************************** L490A: FCB 250 ; 3125 RPM, POS RPM DIFF TO BYPASS PWR ENR DELAY ; L490B FCB 120 ; IF COOL E.Q. or L.T. 50c COOL, BYPASS PE DELAY ; CAL = (DEG +40) *256/192 ; L490C FCB 193 ; IF COOL G.T. 105c COOL, BYPASS PE DELAY ; CAL = (DEG +40) *256/192 ; L490D FCB 13 ; L490E FCB 170 ; 4259 RPM, IF RPM E.Q. or G.T THRESH, BYPASS PE DELAY L490F FCB 15 ; 15 Sec's, TIME DELAY FOR PWR ENRICH, ; L4910 FCB 3 ; 150 msec DLY, PWR ENRICH SLEW RATE L4911 FCB 150 ; 58.5% ADJ TO PWR ENR AFR SLEW MULT L4912 FCB 153 ; 74c COOL, COLD PWR ENR THRESH ; CAL = (Deg +40) *256/192 ; L4913 FCB 50 ; IF IN PWR ENRICH 50 sec, DISABLE PWR ENRT RAMP L4914 FCB 195 ; 106c COOL, DISABLE PWR ENRT RAMP IF COOL G.T. THRESH ; CAL = (DEG +40) *256/192 ; L4915: FCB 70 ; 1750 RPM, COLD PWR ENRICH L4916: FCB 25 ; 25 MPH, COLD PWR ENRICH ; L4917 FCB 12 ; 12 MPH, IF L.T. THRESH & TPS L.T. L4911 THEN BYPASS PE DLY L4918 FCB 255 ; 99.6% TPS DELAY THERSH L4919 FCB 0 ; 0 sec AFTER MPH/TPS DELAY FAILED EXIT PE SAYS BY PASSED ; L491A FCB 7 ; 0.7 AFR COLD PWR ENRICH L491B FCB 15 ; 1.5 AFR ADJ IF IN PWR ENR RAMP MODE L491C FDB 0000 ; 0 MPH, DO NOT ALLOW PWR ENRICH IF L.T. ; ;--------------------------------------------- ; AFR STARTUP DELAY PARAMS ; ;--------------------------------------------- L491E FCB 243 ; 95% MULT, AFR TIME OUT L491F FCB 10 ; 2 Sec ENG RUN TIME PRIOR TO AFR DECAY ;--------------------------------------------- ;--------------------------------------------- ; BPW PARAMS ; ;--------------------------------------------- L4920 FDB 0046 ; 702 usec, threshold for asnyc to sync BPW ;Also threshold for double to single fire if CPI L4922 FDB 0033 ; 500 usec, SYNC to ASYNC IF BPL L.T. or E.Q THRESH. ; L4924 FCB 96 ; 45.8 Kpa, ASYNC to SYNC IF MAP L.T. or E.Q. THRESH, (TBI) L4925 FCB 48 ; 1200 RPM, ASYNC to SYNC IF RPM L.T. or E.Q. THRESH. ; L4926 FCB 112 ; 51.7 Kpa, SYNC to ASYNC IF MAP G.T. THRESH. L4927 FCB 52 ; 1300 RPM, SYNCH to ASYNC IF RPM G.T. THRESH. ; L4928 FDB 0786 ; 12000 usec MAX ASYNC BPW L492A FDB 0033 ; 500 usec MIN ASYNC ; ;============================================== ; DECEL ENLEANMENT ; BDWM, L05, MD8, ($0D) ;============================================== L492C FCB 12 ; 4.7%, NEG DIFF TPS NEG ENABLE DECEL ENLEAN L492D FCB 12 ; 14.8 Kpa, NEG DIFF MAP ENABLE DECEL ENLEAN ; L492E FCB 128 ; FILT FACTOR DECELL L492F FCB 6 ; 6 MPH ; ;============================================== ; DECEL ENLEANMENT ; BDWM, L05, MD8, ($0D) ;============================================== L4930 FCB 8 ; 200 RPM DECEL FUEL CUT OFF HYST ; L4931 FCB 15 ; 15 MPH MIN FOR DECEL FUEL CUT OFF L4932 FCB 10 ; 10 MPH TO DISABLE DECEL FUEL CUT OFF ; L4933 FCB 8 ; 13.3 Kpa MAX FOR DECEL FUEL CUT OFF L4934 FCB 56 ; 31.0 Kpa TO DISABLE DECEL FUEL CUT OFF ;---------------------------------- L4935 FDB 0506 ; 7.72 msec, ASYNC BPW if ; 1. DISABLING FOR STALL ; 2. PK/NEUT TRANSITION ; 3. RPM DECREASE ; 4. MPH DECREASE ; ; msec PW * 65.536 ;---------------------------------- L4937 FCB 65 ; 6.5 Sec's QUALIFICATION FOR CUT OFF L4938 FCB 32 ; 400 msec, MAX TIME AFTER EXIT TO DO L4935 BPW L4939 FCB 2 ; 0.8%, CUT OFF MULT, (Decrement % per 12.5 msec LP) ; L493A FCB 127 ; 55c Cool, MIN TEMP FOR DECEL FUEL CUT OFF L493B FCB 254 ; DROP 3175 RPM TO DISABLE DECEL FUEL CUT OFF L493C FCB 254 ; 79.4 Kpa INCR TO DISABLE DECEL FUEL CUT OFF ;============================================== ;============================================== ; EEC FUEL PARAMS ; BDWM, L05, MD8, (L05, $0D) ;============================================== L493D FCB 30 ; 130 mvdc, DIFF o2 WINDOW FAST R/L TEST L493E FCB 6 ; 6 COUNTS ERR MIN TO DO INTEGRATOR L493F FCB 230 ; 3.59 AIR FLOW MULT (Air Flow * 64) ;-------------------------------------------------- ;============================================== ; THREE RICH/LEAN THRESH o2 TABLES (L05, $0D) ; 1. MEAN R/L ; 2. RICH ; 3. LEAN ; ; type $31 ; ; (V * 230.4) ;============================================== L4940 FCB 110 ; 478 mvdc Rich o2 at IDLE L4941 FCB 110 ; 478 mvdc Lean o2 at IDLE L4942 FCB 110 ; 478 mvdc Mean o2 at IDLE ;---------------------------------------------- ; L4943 FCB 3 ; 75 msec PROP DURATION OFFSET AT IDLE ; (INSTEAD OF TBL L4D1E) ; L4944 FCB 20 ; 500 msec's PC CNT USE TRIGGER OFF SET ;---------------------------------------------- ;============================================== ; PROPORTIONAL FUEL CORRECTION & INTEGRATOR DELAYS ; INDEXED AT L88B6 ; ; TYPE $0D, $0D_HAC, L05 ;============================================== ; ; PROPORTIONAL FUEL CORRECTION ; L4945 FCB 4 ; 0.016 MULT, HI GAIN PORP WHEN RICH L4946 FCB 5 ; 0.020 MULT, HI GAIN PORP WHEN LEAN L4947 FCB 16 ; 0.063 FACTOR, Porp count applied to tbl L4D04 ; AT IDLE if RPM is with in limits, (See L494A) ; ; INTEGRATOR DELAYS ; TYPE $0D ; L4948 FCB 20 ; 500 msec INTEGRATOR DELAY IS INCREASED ; AT IDLE IF RPM ERR G.T. L494A, (25 RPM Diff) ; L4949 FCB 20 ; 500 msec INTEGRATOR DELAY TBL L4D7B ; IS INCREASED IF RPM IN LIMITS, SEE L4948 ; L494A FCB 2 ; 25 RPM/12.5 DIFF IDLE THRESH, SEE L4945 & L4948 ; L494B FCB 255 ; 0.996 FACTOR APPLIED TO ERR FOR RICH COND. L494C FCB 255 ; 0.996 FACTOR APPLIED TO ERR ATR IDLE ;---------------------------------------------- ;============================================== ; COLD PARK to DRIVE AFR DECAY CALIB ; ;============================================== L494D FCB 40 ; -10c COOL, UPPER LMT FOR COLD PK -> DRIVE L494E FCB 25 ; 2.5 AFR LIMIT FOR COLD PK -> DRIVE L494F FCB 25 ; 5 SEC'S DELAY PRIOR TO DECAY OF AFR .. ; IN COLD PK -> DRIVE ;---------------------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~ ;-Hot restart params ;~~~~~~~~~~~~~~~~~~~~ ; L4950 FCB 180 ;95 deg C, min previous shutdown temp for hot restard L4951 FCB 200 ;110 deg C, min temp for hot restart L4952 FCB 10 ;1:1 AFR OPN LP AFR RICH BIAS FOR A HOT RESTART BIAS L4953 FDB 0015 ;15 secs, min time to clear hot restart status ;--------------------------------------------- ;============================================== ; FAST CRANK TO RUN AFR XISSITION CAL'S ; ;============================================== L4955 FCB 0 ; 0 DRP'S Run prior to CRANK to RUN Xisition AFR L4956 FCB 0 ; 0 MULT, CRANK BPW FOR 2nd INJ ON ; MULT * 128 ; L4957 FCB 0 ; -40c, CRANK TO RUN AFR DECAY COOL ADD OR SUB ; (DEG c +40) * (256/192) ; L4958 FDB 0800 ;10 sec., max time to run pump with no DRPs L495A FCB 3 ; 3 COUNTS AFR TRANS DEC VALUE (???) ;--------------------------------------------- ;============================================== ; HIGH RPM Fuel Cut Off Params ; ; BDWM, L05, MD8, ($0D) ;============================================== L495B: FCB 40 ; 40 MPH HI & RPM HI 0.5 SEC FOR FUEL CO L495C: FCB 40 ; RPM LT 1000 RPM FOR FUEL ON ; L495D: FCB 192 ; 4800 RPM FUEL ON to OFF L495E: FCB 164 ; 4100 RPM ; ; XMISH IN DEFAULT FUEL C/O L495F: FCB 172 ; 4300 RPM FUEL OFF to ON L4960: FCB 154 ; 3850 RPM ; L4961: FCB 98 ; 99 MPH, FUEL OFF L4962: FCB 96 ; 96 MPH, FUEL ON ;------------------------------------------------- ;------------------------------------------------- ; PULSE WIDTHS BDWM, TYPE $0D ; BDWM, L05, MD8, ($0D) ; TBL = msec * 65.536 ;------------------------------------------------- L4963: FDB 0026 ; .397 msec, MIN SYNC BPW L4965: FDB 0026 ; .397 msec, SYNC BPW IF FINAL BPW LT CAL L4967 FDB 0026 ;.397 usec, BPW offset ; (See TBL L496F IF L400E b4) ;------------------------------------------------- L4969 FCB 0 ;Deg = val/128, degree delay from DRP to inj. firing ; L496A: FCB 0 ; MIN PERIOD IN DBL FIRE ;------------------------------------------------- ;------------------------------------------------- ; PWR ENRICH QUALIFICATION Vs. BARO ; ; TBL = RPM/25 ;------------------------------------------------- ORG $496B ; RPM BARO Kpa ;--------------------------------- L496B FCB 0 ; 0 75 L496C FCB 0 ; 0 85 L496D FCB 0 ; 0 95 L496E FCB 0 ; 0 105 ;------------------------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~ ; Added BPW bias vs. BPW ;~~~~~~~~~~~~~~~~~~~~~~~~ ; ; L400E, b4=1 selects use of table ; ; usecs = val x 15.26 ;usec PW ; L496F FCB 26 ; 488 FCB 26 ; 732 FCB 26 ; 976 FCB 26 ;1220 FCB 26 ;1460 FCB 26 ;1708 FCB 26 ;1950 FCB 26 ;2197 FCB 26 ;2440 FCB 26 ;2685 FCB 26 ;2929 FCB 26 ;3170 FCB 26 ;3410 FCB 26 ;3660 FCB 26 ;3900 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-BPW mult. vs. fuel pump volts ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; mult. = val/128 ; L497E FCB 128 ; 0.0 FCB 128 ; 1.6 FCB 160 ; 3.2 FCB 160 ; 4.8 FCB 160 ; 6.4 FCB 147 ; 8.0 FCB 147 ; 9.6 FCB 141 ;11.2 FCB 137 ;12.8 FCB 128 ;14.4 FCB 126 ;16.0 FCB 122 ;17.6 FCB 120 ;19.2 FCB 118 ;20.8 FCB 116 ;22.4 FCB 114 ;24.0 FCB 112 ;25.6 ; ;---------------------------------------------- ; AFR USED IF CAT OVER TEMP Vs. AIRFLOW ; ; BDWM, L05, MD8, ($0D) ; AFR * 10 ;---------------------------------------------- ORG $498F ; AFR gms/sec ;---------------------------------- L498F FCB 145 ; 14.5 0 L4990 FCB 130 ; 13.0 16 L4991 FCB 130 ; 13.0 32 L4992 FCB 128 ; 12.8 48 L4993 FCB 128 ; 12.8 64 L4994 FCB 128 ; 12.8 80 L4995 FCB 128 ; 12.8 96 L4996 FCB 128 ; 12.8 112 L4997 FCB 128 ; 12.8 128 L4998 FCB 128 ; 12.8 144 L4999 FCB 128 ; 12.8 160 L499A FCB 128 ; 12.8 176 L499B FCB 128 ; 12.8 192 L499C FCB 128 ; 12.8 208 L499D FCB 128 ; 12.8 224 L499E FCB 128 ; 12.8 240 L499F FCB 128 ; 12.8 256 ;--------------------------------------------- ;--------------------------------------------- ; BPW ALTITUDE FACTOR Vs. BARO & MAP ; ; BDWM, L05, MD8, ($0D) ; ; FACTOR * 128 ;--------------------------------------------- ORG $49A0 ; FCB 0 ; Min MAP Val FCB 96 ; Min BARO Value FCB 4 ; COL'S/ROW ;--------------------------------------------- ; 10 Kpa MAP ; FACTOR Kpa Baro ;--------------------------------------------- FCB 155 ;1.210 75 FCB 137 ;1.070 85 FCB 128 ;1.000 95 FCB 128 ;1.000 105 ;--------------------------------------------- ; 20 Kpa MAP ; FACTOR Kpa Baro ;--------------------------------------------- FCB 155 ;1.2109 75 FCB 136 ;1.0625 85 FCB 128 ;1.0000 95 FCB 128 ;1.0000 105 ;--------------------------------------------- ; 30 Kpa MAP ; FACTOR Kpa Baro ;--------------------------------------------- FCB 148 ;1.1563 75 FCB 135 ;1.0547 85 FCB 128 ;1.0000 95 FCB 128 ;1.0000 105 ;--------------------------------------------- ; 40 Kpa MAP ; FACTOR Kpa Baro ;--------------------------------------------- FCB 146 ;1.1406 75 FCB 134 ;1.0469 85 FCB 128 ;1.0000 95 FCB 128 ;1.0000 105 ;--------------------------------------------- ; 50 Kpa MAP ; FACTOR Kpa Baro ;--------------------------------------------- FCB 145 ;1.1328 75 FCB 130 ;1.0156 85 FCB 128 ;1.0000 95 FCB 128 ;1.0000 105 ;--------------------------------------------- ; 60 Kpa MAP ; FACTOR Kpa Baro ;--------------------------------------------- FCB 138 ;1.078.1 75 FCB 128 ;1.000.0 85 FCB 128 ;1.000.0 95 FCB 128 ;1.000.0 105 ;--------------------------------------------- ; 70 Kpa MAP ; FACTOR Kpa Baro ;--------------------------------------------- FCB 135 ;1.0547 75 FCB 128 ;1.0000 85 FCB 128 ;1.0000 95 FCB 128 ;1.0000 105 ;--------------------------------------------- ; 80 Kpa MAP ; FACTOR Kpa Baro ;--------------------------------------------- FCB 135 ;1.0547 75 FCB 128 ;1.0000 85 FCB 128 ;1.0000 95 FCB 128 ;1.0000 105 ;--------------------------------------------- ; 90 Kpa MAP ; FACTOR Kpa Baro ;--------------------------------------------- L49C3 FCB 135 ;1.0547 75 L49C4 FCB 128 ;1.0000 85 L49C5 FCB 128 ;1.0000 95 L49C6 FCB 128 ;1.0000 105 ;--------------------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Alt. comp. value for MAP ;~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; kPa = .625 x val + 5 ; ; ;baro kPa ; L49C7 FCB 120 ; 79.2 FCB 136 ; 89.2 FCB 152 ; 99.6 FCB 168 ;110.4 ; ;~~~~~~~~~~~~~~~~~~~~~~~~ ;-Open throttle VE table ;~~~~~~~~~~~~~~~~~~~~~~~~ ; L49CB FCB 16 ;400 RPM, min row val. for lookup FCB 0 ;0 kPa, min MAP val. for lookup FCB 11 ;# cols per row ; ; VE = val. x .390 ; ; kPa: 20 25 30 35 40 50 60 70 80 90 100 ; RPM ; FCB 80, 105, 118, 130, 135, 159, 161, 167, 173, 180, 200 ; 400 FCB 95, 116, 144, 163, 173, 177, 183, 186, 190, 197, 210 ; 800 FCB 122, 151, 175, 188, 190, 197, 207, 206, 210, 212, 214 ;1200 FCB 143, 183, 193, 197, 212, 219, 225, 225, 225, 226, 220 ;1600 FCB 150, 199, 204, 208, 210, 218, 224, 232, 232, 232, 235 ;2000 FCB 150, 205, 210, 212, 214, 225, 232, 242, 242, 242, 240 ;2400 FCB 150, 207, 210, 214, 215, 225, 235, 237, 238, 238, 235 ;2800 FCB 153, 190, 205, 211, 212, 224, 242, 240, 240, 242, 242 ;3200 FCB 150, 185, 190, 197, 207, 224, 230, 236, 240, 240, 245 ;3600 FCB 125, 185, 190, 195, 207, 222, 235, 233, 231, 233, 220 ;4000 FCB 125, 185, 190, 190, 203, 215, 220, 225, 230, 230, 230 ;4400 FCB 125, 185, 190, 190, 193, 205, 210, 215, 220, 222, 222 ;4800 FCB 125, 166, 190, 192, 193, 205, 210, 225, 230, 236, 236 ;5200 FCB 125, 166, 190, 192, 193, 205, 210, 225, 230, 236, 236 ;5600 FCB 125, 166, 190, 192, 193, 205, 210, 225, 230, 236, 236 ;6000 FCB 125, 166, 190, 192, 193, 205, 210, 225, 230, 236, 236 ;6400 ; ;~~~~~~~~~~~~~~~ ;-Idle VE table ;~~~~~~~~~~~~~~~ ; L4A7E FCB 32 ;400 RPM, min row val. for lookup FCB 0 ;20 kPa, min MAP val. for lookup FCB 11 ;# cols. per row ; ; VE = val. x .390 ; ; kPa: 20 25 30 35 40 50 60 70 80 90 100 ; RPM ; FCB 85, 113, 128, 132, 135, 156, 161, 167, 173, 180, 200 ; 400 FCB 95, 115, 137, 149, 153, 166, 175, 185, 186, 195, 205 ; 600 FCB 105, 127, 156, 165, 168, 172, 189, 195, 200, 210, 210 ; 800 FCB 115, 148, 177, 180, 179, 185, 199, 203, 208, 217, 212 ;1000 FCB 128, 166, 195, 197, 198, 203, 209, 212, 217, 224, 214 ;1200 FCB 138, 177, 197, 200, 201, 210, 214, 218, 223, 226, 218 ;1400 FCB 146, 192, 202, 206, 207, 218, 219, 224, 230, 229, 222 ;1600 FCB 151, 195, 205, 207, 210, 219, 223, 227, 233, 231, 227 ;1800 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-MAT/CTS blend multiplier vs. airflow ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Larger multiplier = more CTS blended into MAT ; ; Mult = val/128 ;g/sec ; L4AD9 FCB 0 ; 0 FCB 0 ; 16 FCB 0 ; 32 FCB 0 ; 48 FCB 0 ; 64 FCB 0 ; 80 FCB 0 ; 96 FCB 0 ;112 FCB 0 ;128 FCB 0 ;144 FCB 0 ;160 FCB 0 ;176 FCB 0 ;192 FCB 0 ;208 FCB 0 ;224 FCB 0 ;240 FCB 0 ;256 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Inverse air density @ sea level vs. blended intake temp ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; l/g = (value x 128 + 29824) / 45064 ; ; val. ;Deg C ; L4AEA FCB 0 ;-40 FCB 12 ;-28 FCB 24 ;-16 FCB 36 ;- 4 FCB 48 ; 8 FCB 60 ; 20 FCB 72 ; 32 FCB 84 ; 44 FCB 96 ; 56 FCB 108 ; 68 FCB 120 ; 80 FCB 132 ; 92 FCB 144 ;104 FCB 156 ;116 FCB 168 ;128 FCB 180 ;140 FCB 192 ;152 ; ;-------------------------------------------------- ; INJ OFFSET VS BATTERY VOLTAGE ; ; Dissassemby of BDWM LINES = 17 ; 03-08-1994, 10:45:29 ; ; TBL = .065536 * usec ;-------------------------------------------------- ORG $4AFB ; usec VDC ;-------------------------------------- L4AFB FCB 26 ; 397 0.0 L4AFC FCB 26 ; 397 1.6 L4AFD FCB 50 ; 763 3.2 L4AFE FCB 50 ; 763 4.8 L4AFF FCB 48 ; 732 6.4 L4B00 FCB 37 ; 565 8.0 L4B01 FCB 31 ; 473 9.6 L4B02 FCB 26 ; 397 11.2 L4B03 FCB 26 ; 397 12.8 L4B04 FCB 26 ; 397 14.4 L4B05 FCB 22 ; 337 16.0 L4B06 FCB 19 ; 290 17.6 L4B07 FCB 19 ; 290 19.2 L4B08 FCB 19 ; 290 20.8 L4B09 FCB 19 ; 290 22.4 L4B0A FCB 19 ; 290 24.0 L4B0B FCB 19 ; 290 25.6 ;-------------------------------------------------- *************************************************** * DECEL CALIBRATIONS * MY 94 L05 * TYPE $0D *************************************************** ;-------------------------------------------------- ; DECEL COOLANT FACTOR Vs. COOLANT ; ; Dissassemby of BDWM, LINES = 9 ; ; TBL = FACTOR * 32 ;-------------------------------------------------- L4B0C FCB 8 ; 9 LINE TABLE ; ; FACTOR DEG c COOL ;-------------------------------------- L4B0D FCB 96 ; 3.0 -40 L4B0E FCB 80 ; 2.5 -16 L4B0F FCB 64 ; 2.0 8 L4B10 FCB 48 ; 1.5 32 L4B11 FCB 32 ; 1.0 56 L4B12 FCB 32 ; 1.0 80 L4B13 FCB 32 ; 1.0 104 L4B14 FCB 30 ; 0.9 128 L4B15 FCB 28 ; 0.9 152 ;-------------------------------------------------- ;-------------------------------------------------- ; DECEL ENLEAN REDUCTION Vs. DIFF MAP ; ; (SET AMT OF FUEL REDUCTION AS PER DIFF MAP) ; ; Dissassemby of BDWM, LINES = 11 ; ; TBL = %REDUCTION * 2.56 ;-------------------------------------------------- ORG $4B16 ; %REDUCTION Kpa MAP ;-------------------------------------- L4B16 FCB 0 ; 0.0 0 L4B17 FCB 16 ; 6.3 5 L4B18 FCB 32 ; 12.5 10 L4B19 FCB 36 ; 14.1 15 L4B1A FCB 40 ; 15.6 20 L4B1B FCB 48 ; 18.8 25 L4B1C FCB 56 ; 21.9 30 L4B1D FCB 64 ; 25.0 35 L4B1E FCB 72 ; 28.1 40 L4B1F FCB 80 ; 31.3 45 L4B20 FCB 88 ; 34.4 50 ;----------------------------------------------- ;----------------------------------------------- ; DECEL ENLEAN REDUCTION Vs. DIFF TPS ; (SET AMT OF FUEL REDUCTION AS PER DIFF TPS) ; ; Dissassemby of BDWM, LINES = 17 ; ; TBL = %REDUCTION * 2.56 ;----------------------------------------------- ORG $4B21 ; %REDUCTION %TPS ;---------------------------------- L4B21 FCB 0 ; 0.0 0.0 L4B22 FCB 13 ; 5.1 6.3 L4B23 FCB 26 ; 10.2 12.5 L4B24 FCB 38 ; 14.8 18.8 L4B25 FCB 51 ; 19.9 25.0 L4B26 FCB 77 ; 30.1 31.3 L4B27 FCB 102 ; 39.8 37.5 L4B28 FCB 102 ; 39.8 43.8 L4B29 FCB 102 ; 39.8 50.0 L4B2A FCB 102 ; 39.8 56.3 L4B2B FCB 102 ; 39.8 62.5 L4B2C FCB 102 ; 39.8 68.8 L4B2D FCB 102 ; 39.8 75.0 L4B2E FCB 102 ; 39.8 81.3 L4B2F FCB 102 ; 39.8 87.5 L4B30 FCB 102 ; 39.8 93.8 L4B31 FCB 102 ; 39.8 100.0 ;---------------------------------------------- *********************************************** ;---------------------------------------------- ; MAP FILTER COEF Vs. COOLANT ; ; Dissassemby of BDWM ; MY95, L05 ; ; TBL = COEF * 256 ;---------------------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-MAP filter coeff. vs cool temp ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Filter coeff. ;Deg C ; L4B32 FCB 18 ;-28 FCB 22 ;-16 FCB 24 ; -4 FCB 28 ; 8 FCB 35 ; 20 FCB 40 ; 32 FCB 45 ; 44 FCB 49 ; 56 FCB 52 ; 68 FCB 55 ; 80 FCB 57 ; 92 FCB 59 ;104 FCB 63 ;116 ; *********************************************** * ACELL DIFF MAP Vs. DIFF MAP * STRECH'S ASYNC PULSE FOR DIFF MAP * * *** PUMP SHOT ********* * * Dissassemby of BDWM * * TABLE = 16.384 * MSEC *********************************************** ORG $4B3F ; ; L4B3F FCB 4 ; 5 LINE TABLE ; ; usec Kpa MAP ;------------------------------ FCB 5 ; 300 0 FCB 10 ; 600 20 FCB 12 ; 730 40 FCB 17 ; 1040 60 FCB 20 ; 1200 80 ; *********************************************** * STRETCH ASYNC BPW FOR DIFF TPS ENRICH * * *** PUMP SHOT ********* 17 LINES * * (L4921 12 MSEC MAX ASYNC BPW, SO MAX IS 196d) * Dissassemby of BDWM * * TABLE = 16.384 * msec *********************************************** ORG $4B45 ; msec %TPS DIF ;---------------------------------- L4B45 FCB 1 ; 0.06 0.0 L4B46 FCB 8 ; 0.50 3.1 L4B47 FCB 15 ; 0.90 6.3 L4B48 FCB 30 ; 1.83 9.4 L4B49 FCB 35 ; 2.14 12.5 L4B4A FCB 38 ; 2.30 15.6 L4B4B FCB 41 ; 2.50 18.8 L4B4C FCB 44 ; 2.70 21.9 L4B4D FCB 47 ; 2.87 25.0 L4B4E FCB 49 ; 3.00 28.1 L4B4F FCB 51 ; 3.10 31.3 L4B50 FCB 53 ; 3.23 34.4 L4B51 FCB 55 ; 3.36 37.5 L4B52 FCB 57 ; 3.50 40.6 L4B53 FCB 62 ; 3.78 43.8 L4B54 FCB 66 ; 4.02 46.9 L4B55 FCB 69 ; 4.21 50.0 ;---------------------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Delta TPS AE mult. factor vs. Baro ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Factor=val/128 ;kPa ; L4B56 FCB 99 ; 80 FCB 121 ; 90 FCB 128 ;100 FCB 128 ;110 ; ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-AE TPS filter coeff. vs cool temp ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; corr. = val/256 ;Deg C ; L4B5A FCB 38 ;-28 FCB 40 ;-16 FCB 42 ; -4 FCB 44 ; 8 FCB 46 ; 20 FCB 56 ; 32 FCB 64 ; 44 FCB 76 ; 56 FCB 102 ; 68 FCB 128 ; 80 FCB 150 ; 92 FCB 160 ;104 FCB 165 ;116 ; ;-------------------------------------------------- ; ACCEL ENRICH TEMP CORRECTION Vs. COOL ; ; Dissassemby of BDWM ; ; TBL = FACTOR * 32 ;-------------------------------------------------- ORG $4B67 ; FACTOR Deg c cool ;------------------------------ L4B67 FCB 192 ; 6.0 -40 L4B68 FCB 172 ; 5.4 -28 L4B69 FCB 163 ; 5.1 -16 L4B6A FCB 153 ; 4.8 -4 L4B6B FCB 132 ; 4.1 8 L4B6C FCB 110 ; 3.4 20 L4B6D FCB 93 ; 2.9 32 L4B6E FCB 70 ; 2.2 44 L4B6F FCB 54 ; 1.7 56 L4B70 FCB 43 ; 1.3 68 L4B71 FCB 33 ; 1.0 80 L4B72 FCB 32 ; 1.0 92 L4B73 FCB 32 ; 1.0 104 L4B74 FCB 24 ; 0.8 116 L4B75 FCB 24 ; 0.8 128 L4B76 FCB 24 ; 0.8 140 L4B77 FCB 24 ; 0.8 152 ;-------------------------------------------------- ;-------------------------------------------------- ; ACELL TPS TEMP CORRECTION MULT Vs. MAT ; ; Dissassemby of BDWM ; ; TBL = MULT * 128 ;-------------------------------------------------- ORG $4B78 ; MULT Deg c MAT ;------------------------------ L4B78 FCB 128 ; 1.0 -40 L4B79 FCB 128 ; 1.0 -28 L4B7A FCB 128 ; 1.0 -16 L4B7B FCB 128 ; 1.0 -4 L4B7C FCB 128 ; 1.0 8 L4B7D FCB 128 ; 1.0 20 L4B7E FCB 128 ; 1.0 32 L4B7F FCB 128 ; 1.0 44 L4B80 FCB 128 ; 1.0 56 L4B81 FCB 128 ; 1.0 68 L4B82 FCB 128 ; 1.0 80 L4B83 FCB 128 ; 1.0 92 L4B84 FCB 128 ; 1.0 104 L4B85 FCB 128 ; 1.0 116 L4B86 FCB 128 ; 1.0 128 L4B87 FCB 128 ; 1.0 140 L4B88 FCB 128 ; 1.0 152 ;---------------------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Accel enrich temp correction vs cool temp ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; mult. = val/32 ;Cool temp ; L4B89 FCB 160 ;-40 FCB 144 ;-28 FCB 128 ;-16 FCB 112 ;- 4 FCB 96 ; 8 FCB 88 ; 20 FCB 72 ; 32 FCB 56 ; 44 FCB 48 ; 55 FCB 40 ; 67 FCB 34 ; 80 FCB 32 ; 91 FCB 32 ;103 FCB 28 ;115 FCB 24 ;127 FCB 24 ;139 FCB 24 ;150 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Delta MAP AE RPM mult. vs RPM ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L4B9A FCB 128 ;3200 RPM, upper lim for lookup ; ; mult = val/128 ;RPM ; L4B9B FCB 215 ; 400 FCB 144 ; 800 FCB 107 ;1200 FCB 78 ;1600 FCB 62 ;2000 FCB 50 ;2400 FCB 45 ;2800 FCB 38 ;3200 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Lean open loop AFR limit vs cool temp ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; AFR x 10 ;Deg C ; L4BA3 FCB 120 ;-40 FCB 123 ;-28 FCB 125 ;-16 FCB 126 ; -4 FCB 128 ; 8 FCB 132 ; 20 FCB 135 ; 32 FCB 146 ; 44 FCB 146 ; 56 FCB 146 ; 68 FCB 146 ; 80 FCB 146 ; 92 FCB 146 ;104 ; ;---------------------------------------------- ; OPEN LOOP AFR Vs. Vac or MAP ; ; Dissassemby of BDWM ; (not used this calib) ; ; SEE OPT WD AT 400D, (MODE WD, AFR 3) ; (1010 0100 this calib.) ; ; IF b0 1 = USE THIS OPN LP AFR IF TEMP L.T. L48C7, (150c) ; IN CLOSED LP ; ; TABLE = 10 * AFR ;---------------------------------------------- ORG $4BB0 ; ; L4BB0 FCB 0 ; 0 = VAC ; 1 = MAP ; L4BB1 FCB 0 ; Min DEG C, (-40) Val FCB 0 ; Min Kpa Value FCB 9 ; COL'S/ROW ; ;---------------------------------------------- ; -40c COOL ; -40f ; AFR Kpa VAC ;---------------------------------------------- L4BB4 FCB 125 ; 12.5 80 L4BB5 FCB 125 ; 12.5 70 L4BB6 FCB 125 ; 12.5 60 L4BB7 FCB 125 ; 12.5 50 L4BB8 FCB 125 ; 12.5 40 L4BB9 FCB 120 ; 12.0 30 L4BBA FCB 115 ; 11.5 20 L4BBB FCB 105 ; 10.5 10 L4BBC FCB 95 ; 9.5 0 ;---------------------------------------------- ; -28c COOL ; -18f ; AFR Kpa VAC ;---------------------------------------------- L4BBD FCB 130 ; 13.0 80 L4BBE FCB 130 ; 13.0 70 L4BBF FCB 130 ; 13.0 60 L4BC0 FCB 130 ; 13.0 50 L4BC1 FCB 130 ; 13.0 40 L4BC2 FCB 125 ; 12.5 30 L4BC3 FCB 120 ; 12.0 20 L4BC4 FCB 110 ; 11.0 10 L4BC5 FCB 100 ; 10.0 0 ;---------------------------------------------- ; -16 DEG c COOL ; 3.2f ; AFR Kpa VAC ;---------------------------------------------- L4BC6 FCB 132 ; 13.2 80 L4BC7 FCB 132 ; 13.2 70 L4BC8 FCB 132 ; 13.2 60 L4BC9 FCB 132 ; 13.2 50 L4BCA FCB 132 ; 13.2 40 L4BCB FCB 127 ; 12.7 30 L4BCC FCB 122 ; 12.2 20 L4BCD FCB 112 ; 11.2 10 L4BCE FCB 102 ; 10.2 0 ;---------------------------------------------- ; -4 DEG c COOL ; 25f ; AFR Kpa VAC ;---------------------------------------------- L4BCF FCB 140 ; 14.0 80 L4BD0 FCB 140 ; 14.0 70 L4BD1 FCB 140 ; 14.0 60 L4BD2 FCB 140 ; 14.0 50 L4BD3 FCB 140 ; 14.0 40 L4BD4 FCB 135 ; 13.5 30 L4BD5 FCB 130 ; 13.0 20 L4BD6 FCB 120 ; 12.0 10 L4BD7 FCB 110 ; 11.0 0 ;---------------------------------------------- ; 8 DEG c COOL ; 46f ; AFR Kpa VAC ;---------------------------------------------- L4BD8 FCB 145 ; 14.5 80 L4BD9 FCB 145 ; 14.5 70 L4BDA FCB 145 ; 14.5 60 L4BDB FCB 145 ; 14.5 50 L4BDC FCB 145 ; 14.5 40 L4BDD FCB 140 ; 14.0 30 L4BDE FCB 135 ; 13.5 20 L4BDF FCB 125 ; 12.5 10 L4BE0 FCB 115 ; 11.5 0 ;---------------------------------------------- ; 20 DEG c COOL ; 68f ; AFR Kpa VAC ;---------------------------------------------- L4BE1 FCB 160 ; 16.0 80 L4BE2 FCB 160 ; 16.0 70 L4BE3 FCB 160 ; 16.0 60 L4BE4 FCB 150 ; 15.0 50 L4BE5 FCB 145 ; 14.5 40 L4BE6 FCB 140 ; 14.0 30 L4BE7 FCB 140 ; 14.0 20 L4BE8 FCB 135 ; 13.5 10 L4BE9 FCB 130 ; 13.0 0 ;---------------------------------------------- ; 32 DEG c COOL ; 90f ; AFR Kpa VAC ;---------------------------------------------- L4BEA FCB 160 ; 16.0 80 L4BEB FCB 160 ; 16.0 70 L4BEC FCB 160 ; 16.0 60 L4BED FCB 150 ; 15.0 50 L4BEE FCB 145 ; 14.5 40 L4BEF FCB 140 ; 14.0 30 L4BF0 FCB 140 ; 14.0 20 L4BF1 FCB 135 ; 13.5 10 L4BF2 FCB 130 ; 13.0 0 ;---------------------------------------------- ; 44 DEG c COOL ; 111f ; AFR Kpa VAC ;---------------------------------------------- L4BF3 FCB 160 ; 16.0 80 L4BF4 FCB 160 ; 16.0 70 L4BF5 FCB 160 ; 16.0 60 L4BF6 FCB 150 ; 15.0 50 L4BF7 FCB 145 ; 14.5 40 L4BF8 FCB 140 ; 14.0 30 L4BF9 FCB 140 ; 14.0 20 L4BFA FCB 135 ; 13.5 10 L4BFB FCB 130 ; 13.0 0 ;---------------------------------------------- ; 56 DEG c COOL ; 133f ; AFR Kpa VAC ;---------------------------------------------- L4BFC FCB 160 ; 16.0 80 L4BFD FCB 160 ; 16.0 70 L4BFE FCB 160 ; 16.0 60 L4BFF FCB 150 ; 15.0 50 L4C00 FCB 145 ; 14.5 40 L4C01 FCB 140 ; 14.0 30 L4C02 FCB 140 ; 14.0 20 L4C03 FCB 135 ; 13.5 10 L4C04 FCB 130 ; 13.0 0 ;---------------------------------------------- ; 68 DEG c COOL ; 154f ; AFR Kpa VAC ;---------------------------------------------- L4C05 FCB 160 ; 16.0 80 L4C06 FCB 160 ; 16.0 70 L4C07 FCB 160 ; 16.0 60 L4C08 FCB 155 ; 15.5 50 L4C09 FCB 150 ; 15.0 40 L4C0A FCB 145 ; 14.5 30 L4C0B FCB 140 ; 14.0 20 L4C0C FCB 140 ; 14.0 10 L4C0D FCB 130 ; 13.0 0 ;---------------------------------------------- ; 80 DEG c COOL ;190f ; AFR Kpa VAC ;---------------------------------------------- L4C0E FCB 160 ; 16.0 80 L4C0F FCB 160 ; 16.0 70 L4C10 FCB 160 ; 16.0 60 L4C11 FCB 155 ; 15.5 50 L4C12 FCB 150 ; 15.0 40 L4C13 FCB 145 ; 14.5 30 L4C14 FCB 140 ; 14.0 20 L4C15 FCB 140 ; 14.0 10 L4C16 FCB 130 ; 13.0 0 ;---------------------------------------------- ; 92 DEG c COOL ; 198f ; AFR Kpa VAC ;---------------------------------------------- L4C17 FCB 160 ; 16.0 80 L4C18 FCB 160 ; 16.0 70 L4C19 FCB 160 ; 16.0 60 L4C1A FCB 155 ; 15.5 50 L4C1B FCB 150 ; 15.0 40 L4C1C FCB 145 ; 14.5 30 L4C1D FCB 140 ; 14.0 20 L4C1E FCB 140 ; 14.0 10 L4C1F FCB 130 ; 13.0 0 ;---------------------------------------------- ; 104 DEG c COOL ; 220f ; AFR Kpa VAC ;---------------------------------------------- L4C20 FCB 160 ; 16.0 80 L4C21 FCB 160 ; 16.0 70 L4C22 FCB 160 ; 16.0 60 L4C23 FCB 155 ; 15.5 50 L4C24 FCB 150 ; 15.0 40 L4C25 FCB 145 ; 14.5 30 L4C26 FCB 140 ; 14.0 20 L4C27 FCB 140 ; 14.0 10 L4C28 FCB 130 ; 13.0 0 ;---------------------------------------------- *********************************************** *********************************************** * STARTUP UP FUEL * *********************************************** ;---------------------------------------------- ; TIME OUT AFR Vs. COOLANT ; ; AFTER START UP AFR INCREASES WITH TIME, SIMULATING A ; CHOKE. ; ; TIME BETWEEN INCREMENTS IS FROM TBL L4C33 * TBL L4C44 ; (Vs. COOL). ; ; L4C3A TIME OUT PERIOD Vs. COOLANT ; L4C4B MULTIPLIER Vs. COUNTS AIR FLOW ; ; Dissassemby of BDWM ; ; TBL = AFR * 10 ;---------------------------------------------- ORG $4C29 ; AFR Deg c COOL ;---------------------------------- L4C29 FCB 80 ; 8.0 -40 L4C2A FCB 75 ; 7.5 -28 L4C2B FCB 70 ; 7.0 -16 L4C2C FCB 65 ; 6.5 -4 L4C2D FCB 50 ; 5.0 8 L4C2E FCB 35 ; 3.5 20 L4C2F FCB 30 ; 3.0 32 L4C30 FCB 30 ; 3.0 44 L4C31 FCB 30 ; 3.0 56 L4C32 FCB 25 ; 2.5 68 L4C33 FCB 20 ; 2.0 80 L4C34 FCB 20 ; 2.0 92 L4C35 FCB 20 ; 2.0 104 L4C36 FCB 20 ; 2.0 116 L4C37 FCB 20 ; 2.0 128 L4C38 FCB 20 ; 2.0 140 L4C39 FCB 20 ; 2.0 152 ;---------------------------------------------- ;---------------------------------------------- ; TIME OUT PERIOD Vs. COOLANT ; ; AFTER START UP, AFR INCR'S WITH TIME, SIMULATING ; CHOKE & CHOKE PULL OFF ; ; L4C3A TIME OUT PERIOD Vs. COOLANT ; L4C4B MULTIPLIER Vs. COUNTS AIR FLOW ; ; Dissassemby of BJYA Lines= 17 ; ; TBL = 5 * Sec's ;---------------------------------------------- ORG $4C3A ; Sec's Deg c cool ;---------------------------------- L4C3A FCB 14 ; 2.8 -40 L4C3B FCB 14 ; 2.8 -28 L4C3C FCB 14 ; 2.8 -16 L4C3D FCB 12 ; 2.4 -4 L4C3E FCB 11 ; 2.2 8 L4C3F FCB 11 ; 2.2 20 L4C40 FCB 11 ; 2.2 32 L4C41 FCB 11 ; 2.2 44 L4C42 FCB 10 ; 2.0 56 L4C43 FCB 10 ; 2.0 68 L4C44 FCB 10 ; 2.0 80 L4C45 FCB 10 ; 2.0 92 L4C46 FCB 10 ; 2.0 104 L4C47 FCB 10 ; 2.0 116 L4C48 FCB 10 ; 2.0 128 L4C49 FCB 10 ; 2.0 140 L4C4A FCB 10 ; 2.0 152 ;---------------------------------------------- ;---------------------------------------------- ; MULTIPLIER Vs. COUNTS AIR FLOW ; ; Dissassemby of BDWN ; ; TBL = MULT * 128 ;---------------------------------------------- ORG $4C4B ; MULT COUNTS AIR FLOW ;------------------------------ L4C4B FCB 166 ; 1.30 0 L4C4C FCB 134 ; 1.05 16 L4C4D FCB 96 ; 0.75 32 L4C4E FCB 64 ; 0.50 48 L4C4F FCB 32 ; 0.25 64 ;---------------------------------------------- ;---------------------------------------------- ; HIGH TPS% WOT ENTRY THRESH Vs. RPM ; ; Dissassemby of BDWM, LINES = 9 ; 03-16-1994, 13:41:49 ; ; ESTABLISH A HI TPS THRES FOR FAST WOT ENTRY ; ; TBL = %TPS * 2.56 ;---------------------------------------------- ORG $4C50 ; ; L4C50 FCB 160 ; 4000 RPM UPPER LMT ; ; %TPS RPM ;---------------------------------- L4C51 FCB 128 ; 50.0 800 L4C52 FCB 192 ; 75.0 1200 L4C53 FCB 217 ; 84.8 1600 L4C54 FCB 217 ; 84.8 2000 L4C55 FCB 217 ; 84.8 2400 L4C56 FCB 217 ; 84.8 2800 L4C57 FCB 217 ; 84.8 3200 L4C58 FCB 217 ; 84.8 3600 L4C59 FCB 217 ; 84.8 4000 ;---------------------------------------------- ;---------------------------------------------- ; TPS Vs. RPM FOR WOT ENABLE ; ; Dissassemby of BDWM, LINES = 9 ; ; TBL = 2.56 * %TPS ;---------------------------------------------- ORG $4C5A ; ; L4C5A FCB 160 ; 4000 RPM MAX FOR LK UP ; ; %TPS RPM ;---------------------------------- L4C5B FCB 102 ; 39.8 800 L4C5C FCB 154 ; 60.2 1200 L4C5D FCB 141 ; 55.1 1600 L4C5E FCB 110 ; 43.0 2000 L4C5F FCB 110 ; 43.0 2400 L4C60 FCB 92 ; 35.9 2800 L4C61 FCB 92 ; 35.9 3200 L4C62 FCB 92 ; 35.9 3600 L4C63 FCB 85 ; 33.2 4000 ;---------------------------------------------- ;---------------------------------------------- ; WOT AFR Vs. RPM ; TYPE $0D ; ; Dissassemby of BDWM LINES = 17 ; ; TBL = 10 * AFR ;---------------------------------------------- ORG $4C64 ; AFR RPM ;---------------------------------- L4C64 FCB 122 ; 12.2 0 L4C65 FCB 122 ; 12.2 400 L4C66 FCB 123 ; 12.3 800 L4C67 FCB 124 ; 12.4 1200 L4C68 FCB 125 ; 12.5 1600 L4C69 FCB 126 ; 12.6 2000 L4C6A FCB 124 ; 12.4 2400 L4C6B FCB 121 ; 12.1 2800 L4C6C FCB 121 ; 12.1 3200 L4C6D FCB 124 ; 12.4 3600 L4C6E FCB 125 ; 12.5 4000 L4C6F FCB 126 ; 12.6 4400 L4C70 FCB 126 ; 12.6 4800 L4C71 FCB 126 ; 12.6 5200 L4C72 FCB 126 ; 12.6 5600 L4C73 FCB 126 ; 12.6 6000 L4C74 FCB 126 ; 12.6 6400 ;---------------------------------------------- *********************************************** * HIGH TPS% WOT ENTRY DELAY TIME Vs. RPM * * IF TPS G.T. L4C49 TBL WOT DELAY TIME IS DECRESED * AT THIS FASTER RATE, TBL VAL OF 5 WILL DECREMENT * TIMER VAL AT L4908 BY FACTOR OF 5 * * TBL = SEC'S *********************************************** ; L4C75 FCB 160 ; 4000 RPM, UPPER TBL LMT ; ; Sec's RPM ;---------------------------------- L4C76 FCB 50 ; 50 800 L4C77 FCB 25 ; 25 1200 L4C78 FCB 25 ; 25 1600 L4C79 FCB 25 ; 25 2000 L4C7A FCB 25 ; 25 2400 L4C7B FCB 25 ; 25 2800 L4C7C FCB 25 ; 25 3200 L4C7D FCB 25 ; 25 3600 L4C7E FCB 25 ; 25 4000 ;---------------------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~~ ;-TPS correction vs. baro ;~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; factor ;kPa ; L4C7F FCB 254 ; 80 FCB 254 ; 90 FCB 254 ;100 FCB 254 ;110 ; ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Min DFCO RPM vs cool temp ;~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; RPM/25 ;Deg C ; L4C83 FCB 68 ;-28 FCB 68 ; -4 FCB 62 ; 20 FCB 54 ; 44 FCB 48 ; 68 FCB 48 ; 92 FCB 48 ;116 ; ;---------------------------------------------- ; DECEL FUEL CUT OFF %TPS THRESH Vs. RPM ; ; Dissassemby of BDWM ; ; TBL = %TPS * 2.56 ;---------------------------------------------- ORG $4C8A ; ; L4C8A FCB 144 ; 3600 RPM LK UP LIMIT ; ; %TPS RPM ;---------------------------------- L4C8B FCB 3 ; 1.2 800 L4C8C FCB 4 ; 1.6 1200 L4C8D FCB 5 ; 2.0 1600 L4C8E FCB 7 ; 2.7 2000 L4C8F FCB 10 ; 3.9 2400 L4C90 FCB 13 ; 5.1 2800 L4C91 FCB 13 ; 5.1 3200 L4C92 FCB 13 ; 5.1 3600 ;---------------------------------------------- *********************************************** * CRANK TRANSITION CALIBRATIONS * * MY 94 L05,TYPE $0D *********************************************** ;---------------------------------------------- ; AFR CRANK TRANSITION Vs. COOLANT ; ; (This is transition AFR for CRANK to RUN ; ADDED or SUBTRACTED from AFR) ; ; Dissassemby of BDWM ; ; TBL = RATIO * 10 ;---------------------------------------------- ORG $4C93 ; RATIO Deg c COOL ;------------------------------ L4C93 FCB 180 ; 18.0 -40 FCB 170 ; 17.0 -28 FCB 160 ; 16.0 -16 FCB 150 ; 15.0 -4 FCB 100 ; 10.0 8 FCB 90 ; 9.0 20 FCB 85 ; 8.5 32 FCB 80 ; 8.0 44 FCB 65 ; 6.5 56 FCB 60 ; 6.0 68 FCB 50 ; 5.0 80 FCB 0 ; 0.0 92 FCB 0 ; 0.0 104 FCB 0 ; 0.0 116 FCB 0 ; 0.0 128 FCB 0 ; 0.0 140 FCB 0 ; 0.0 152 ; ;--------------------------------------------- ; AFR CRANK TRANSITION DECAY Vs. COOL ; ; Dissassemby of BDWM ; ; TBL = AFR * 10 ;--------------------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Crank to run AFR decay rate vs. cool temp ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; AFR=val./10 ;Deg C ; L4CA4 FCB 20 ;-40 FCB 20 ;-28 FCB 20 ;-16 FCB 20 ; -4 FCB 20 ; 8 FCB 20 ; 20 FCB 20 ; 32 FCB 20 ; 44 FCB 20 ; 56 FCB 20 ; 68 FCB 20 ; 80 FCB 20 ; 92 FCB 20 ;104 FCB 10 ;116 FCB 10 ;128 FCB 10 ;140 FCB 10 ;152 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Crank to run AFR decay delay DRPs vs. cool temp ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Elapsed DRPs ;Deg C ; L4CB5 FCB 12 ;-40 FCB 12 ;-28 FCB 12 ;-16 FCB 10 ; -4 FCB 8 ; 8 FCB 6 ; 20 FCB 6 ; 32 FCB 6 ; 44 FCB 6 ; 56 FCB 6 ; 68 FCB 5 ; 80 FCB 0 ; 92 FCB 0 ;104 FCB 0 ;116 FCB 0 ;128 FCB 0 ;140 FCB 0 ;152 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Crank to run AFR decay delay counts multiplier vs DRPs ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; mult. = val./256 ;Accumulated DRPs prior to run ; L4CC6 FCB 0 ; 0 FCB 128 ; 4 FCB 192 ; 8 FCB 204 ;12 FCB 255 ;16 FCB 255 ;20 FCB 255 ;24 FCB 255 ;28 FCB 255 ;32 FCB 255 ;36 FCB 255 ;40 FCB 255 ;44 FCB 255 ;48 FCB 255 ;52 FCB 255 ;56 FCB 255 ;60 FCB 255 ;64 ; *********************************************** * FUEL TRIM CALIBRATION * TYPE $0D L05 TBI *********************************************** ;---------------------------------------------- ; INTEGRATOR DELAY Vs. AIR FLOW ; ; Dissassemby of BDWM, LINES = 9 ; ; TBL = sec's * 40 ; msec's * 0.04 ;---------------------------------------------- ORG $4CD7 ; msec's AFR FLOW ;---------------------------------- L4CD7 FCB 16 ; 400 0 L4CD8 FCB 15 ; 375 16 L4CD9 FCB 14 ; 350 32 L4CDA FCB 13 ; 325 48 L4CDB FCB 12 ; 300 64 L4CDC FCB 11 ; 275 80 L4CDD FCB 10 ; 250 96 L4CDE FCB 9 ; 225 112 L4CDF FCB 8 ; 200 128 ;---------------------------------------------- ;---------------------------------------------- ; MEAN RICH/LEAN THRESH Vs. UNFILTERED o2 VOLTAGE ; ; Dissassemby of BDWM LINES = 9 ; ; TBL = 0.2304 * MV DC ;---------------------------------------------- ORG $4CE0 ; Mv DC AIR FLOW ;---------------------------------- L4CE0 FCB 102 ; 443 0 L4CE1 FCB 100 ; 434 16 L4CE2 FCB 98 ; 425 32 L4CE3 FCB 98 ; 425 48 L4CE4 FCB 98 ; 425 64 L4CE5 FCB 98 ; 425 80 L4CE6 FCB 98 ; 425 96 L4CE7 FCB 98 ; 425 112 L4CE8 FCB 98 ; 425 128 ;---------------------------------------------- ;---------------------------------------------- ; RICH o2 THRESH Vs. AIR FLOW ; ; Dissassemby of BDWM LINES = 9 ; ; TBL = MV DC * 0.2304 ;---------------------------------------------- ORG $4CE9 ; Mvdc AIR FLOW ;---------------------------------- L4CE9 FCB 102 ; 443 0 L4CEA FCB 100 ; 434 16 L4CEB FCB 98 ; 425 32 L4CEC FCB 98 ; 425 48 L4CED FCB 98 ; 425 64 L4CEE FCB 98 ; 425 80 L4CEF FCB 98 ; 425 96 L4CF0 FCB 98 ; 425 112 L4CF1 FCB 98 ; 425 128 ;---------------------------------------------- ;---------------------------------------------- ; LEAN o2 THRESH Vs. AIR FLOW ; ; Dissassemby of BDWM, LINES = 9 ; ; TBL = MV DC * 0.2304 ;---------------------------------------------- ORG $4CF2 ; Mvdc AIR FLOW ;---------------------------------- L4CF2 FCB 102 ; 502 0 L4CF3 FCB 100 ; 492 16 L4CF4 FCB 98 ; 482 32 L4CF5 FCB 98 ; 482 48 L4CF6 FCB 98 ; 482 64 L4CF7 FCB 98 ; 482 80 L4CF8 FCB 98 ; 482 96 L4CF9 FCB 98 ; 482 12 L4CFA FCB 98 ; 482 28 ;---------------------------------------------- ;---------------------------------------------- ; SLOW o2 TIME CONSTANT Vs. AIR FLOW ; (If Idle use constant at L48B3) ; ; TBL = 255 * Const. ;---------------------------------------------- ORG $4CFB ; Const. Air Flow ;---------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Slow O2 filter coeff. vs airflow ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; filter coeff. ;gms/sec ; L4CFB FCB 2 ; 0 FCB 3 ; 16 FCB 4 ; 32 FCB 5 ; 48 FCB 6 ; 64 FCB 9 ; 80 FCB 11 ; 96 FCB 13 ;112 FCB 14 ;128 ; ;---------------------------------------------- ; PROPORTIONAL COUNTS Vs. SLOW o2 ERROR ; ; (SEL NUM OF COUNTS TO CORRECT FUEL DELIVERY) ; ; Dissassemby of BDWM LINES = 13 ; ; TBL = COUNTS * 1 ;---------------------------------------------- ORG $4D04 ; COUNTS COUNTS o2 ERROR ;---------------------------------- L4D04 FCB 4 ; 4 0 L4D05 FCB 4 ; 4 8 L4D06 FCB 4 ; 4 16 L4D07 FCB 4 ; 4 24 L4D08 FCB 4 ; 4 32 L4D09 FCB 4 ; 4 40 L4D0A FCB 4 ; 4 48 L4D0B FCB 5 ; 5 56 L4D0C FCB 7 ; 7 64 L4D0D FCB 8 ; 8 72 L4D0E FCB 9 ; 9 80 L4D0F FCB 10 ; 10 88 L4D10 FCB 11 ; 11 96 ;---------------------------------------------- ;---------------------------------------------- ; PROPORTIONAL DURATION Vs. SLOW o2 ERROR ; ; Dissassemby of BDWM LINES = 13 ; ; TBL = SEC'S * 40 ; msec's * 0.04 ;---------------------------------------------- ORG $4D11 ; msec's o2 ERROR ;---------------------------------- L4D11 FCB 20 ; 500 0 L4D12 FCB 40 ; 1000 8 L4D13 FCB 60 ; 1500 16 L4D14 FCB 80 ; 2000 24 L4D15 FCB 100 ; 2500 32 L4D16 FCB 128 ; 3200 40 L4D17 FCB 255 ; 6375 48 L4D18 FCB 255 ; 6375 56 L4D19 FCB 255 ; 6375 64 L4D1A FCB 255 ; 6375 72 L4D1B FCB 255 ; 6375 80 L4D1C FCB 255 ; 6375 88 L4D1D FCB 255 ; 6375 96 ;---------------------------------------------- ;---------------------------------------------- ; PROPORTIONAL DURATION OFFSET ADDED TO L4D11 TBL ; Vs. AIR FLOW TYPE $0D ; ; SEE L4943 ; 70 msec PORP DURATION OFF SET AT IDLE ; (Instead OF TBL L4D1E) ; ; TYPE $0D ; ; TBL = sec * 40 ; msec's * 0.04 ;---------------------------------------------- ORG $4D1E ; DURATION ; msec's gms/sec ;---------------------------------- L4D1E FCB 5 ; 125 0 L4D1F FCB 10 ; 250 16 L4D20 FCB 20 ; 500 32 L4D21 FCB 255 ; 6375 48 L4D22 FCB 255 ; 6375 64 L4D23 FCB 255 ; 6375 80 L4D24 FCB 255 ; 6375 96 L4D25 FCB 255 ; 6375 112 L4D26 FCB 255 ; 6375 128 ;---------------------------------------------- ;---------------------------------------------- ; PROPORTIONAL FLOW GAIN FACTOR Vs. MAP & RPM ; ; Dissassemby of BDWM ; ; TBL = 128 * Mult ;---------------------------------------------- ORG $4D27 ; L4D27 FCB 16 ; Min Kpa MAP Val FCB 0 ; Min RPM Val FCB 9 ; LINES/BLOCK ;---------------------------------------------- ; 400 RPM ; Mult Kpa MAP ;---------------------------------------------- L4D2A FCB 12 ; 0.094 20 L4D2B FCB 48 ; 0.375 30 L4D2C FCB 64 ; 0.500 40 L4D2D FCB 128 ; 1.000 50 L4D2E FCB 128 ; 1.000 60 L4D2F FCB 128 ; 1.000 70 L4D30 FCB 128 ; 1.000 80 L4D31 FCB 128 ; 1.000 90 L4D32 FCB 128 ; 1.000 100 ;---------------------------------------------- ; 800 RPM ; Mult Kpa MAP ;---------------------------------------------- FCB 14 ; 0.109 20 FCB 56 ; 0.438 30 FCB 96 ; 0.750 40 FCB 128 ; 1.000 50 FCB 128 ; 1.000 60 FCB 128 ; 1.000 70 FCB 128 ; 1.000 80 FCB 128 ; 1.000 90 FCB 128 ; 1.000 100 ;---------------------------------------------- ; 1200 RPM ; Mult Kpa MAP ;---------------------------------------------- FCB 16 ; 0.125 20 FCB 64 ; 0.500 30 FCB 128 ; 1.000 40 FCB 128 ; 1.000 50 FCB 128 ; 1.000 60 FCB 128 ; 1.000 70 FCB 128 ; 1.000 80 FCB 128 ; 1.000 90 FCB 128 ; 1.000 100 ;---------------------------------------------- ; 1600 RPM ; Mult Kpa MAP ;---------------------------------------------- FCB 18 ; 0.141 20 FCB 64 ; 0.500 30 FCB 128 ; 1.000 40 FCB 128 ; 1.000 50 FCB 128 ; 1.000 60 FCB 128 ; 1.000 70 FCB 128 ; 1.000 80 FCB 128 ; 1.000 90 FCB 128 ; 1.000 100 ;---------------------------------------------- ; 2000 RPM ; Mult Kpa MAP ;---------------------------------------------- FCB 36 ; 0.281 20 FCB 128 ; 1.000 30 FCB 128 ; 1.000 40 FCB 128 ; 1.000 50 FCB 128 ; 1.000 60 FCB 128 ; 1.000 70 FCB 128 ; 1.000 80 FCB 128 ; 1.000 90 FCB 128 ; 1.000 100 ;---------------------------------------------- ; 2400 RPM ; Mult Kpa MAP ;---------------------------------------------- FCB 64 ; 0.500 20 FCB 128 ; 1.000 30 FCB 128 ; 1.000 40 FCB 128 ; 1.000 50 FCB 128 ; 1.000 60 FCB 128 ; 1.000 70 FCB 128 ; 1.000 80 FCB 128 ; 1.000 90 FCB 128 ; 1.000 100 ;---------------------------------------------- ; 2800 RPM ; Mult Kpa MAP ;---------------------------------------------- FCB 128 ; 1.000 20 FCB 128 ; 1.000 30 FCB 128 ; 1.000 40 FCB 128 ; 1.000 50 FCB 128 ; 1.000 60 FCB 128 ; 1.000 70 FCB 128 ; 1.000 80 FCB 128 ; 1.000 90 FCB 128 ; 1.000 100 ;---------------------------------------------- ; 3200 RPM ; Mult Kpa MAP ;---------------------------------------------- FCB 128 ; 1.000 20 FCB 128 ; 1.000 30 FCB 128 ; 1.000 40 FCB 128 ; 1.000 50 FCB 128 ; 1.000 60 FCB 128 ; 1.000 70 FCB 128 ; 1.000 80 FCB 128 ; 1.000 90 FCB 128 ; 1.000 100 ;---------------------------------------------- ; 3600 RPM ; Mult Kpa MAP ;---------------------------------------------- FCB 128 ; 1.000 20 FCB 128 ; 1.000 30 FCB 128 ; 1.000 40 FCB 128 ; 1.000 50 FCB 128 ; 1.000 60 FCB 128 ; 1.000 70 FCB 128 ; 1.000 80 FCB 128 ; 1.000 90 FCB 128 ; 1.000 100 ;---------------------------------------------- ;---------------------------------------------- ; INTEGRATOR DELAY MULT Vs. SLOW FILT o2 ; ; Dissassemby of BDWM LINES = 13 ; ; TBL = MULT * 256 ;---------------------------------------------- ORG $4D7B ; FACTOR o2 ERROR COUNT ;---------------------------------- L4D7B FCB 255 ; 0.996 0 L4D7C FCB 255 ; 0.996 8 L4D7D FCB 255 ; 0.996 16 L4D7E FCB 255 ; 0.996 24 L4D7F FCB 255 ; 0.996 32 L4D80 FCB 255 ; 0.996 40 L4D81 FCB 255 ; 0.996 48 L4D82 FCB 255 ; 0.996 56 L4D83 FCB 232 ; 0.906 64 L4D84 FCB 212 ; 0.828 72 L4D85 FCB 192 ; 0.750 80 L4D86 FCB 172 ; 0.672 88 L4D87 FCB 152 ; 0.594 96 ;--------------------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~ ;-Inj./engine constants ;~~~~~~~~~~~~~~~~~~~~~~~ ; L4D88 FDB 6300 ; 7.69 g/s, injector flowrate L4D8A FCB 159 ;.7125L, cylinder volume ;============================================= ; CRANKING CALIBRATIONS ; ;============================================= ;-------------------------------- L4D8B FCB 15 ; DRP'S MIN FOR USE OF L4D9C TRIM TBL TBL ; (L4DA3 = CRANK FUEL MULT Vs. RPM TBL) ;--------------------------------- L4D8C FCB 2 ;Init crank DRP counter to 2 on bad shutdown L4D8D FCB 2 ; 2, PULSE CNT LMT L4D8E FCB 40 ; IF PUMP VOLTS L.T. 4 VDC, LIMIT PULSE CNT ; L4D8F FCB 33 ;-15 deg C, threshold for cold cranking ; ;---------------------------------------------- ; CRANK BPW Vs. COOL ; L4D90 FOR SCALAR ; ; Dissassemby of BDWM LINES = 17 ; 03-16-1994, 15:26:25 ; ; TBL = 2.073 * Msec ;---------------------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Crank BPW vs. cool temp ;~~~~~~~~~~~~~~~~~~~~~~~~~ ; L4D90 FDB 8093 ;Scalar for table ; ; msecs = ; [(val x scalar)/256] x ;Deg C ; 15.26 x 10^-3 ; L4D92 FCB 254 ;-40 FCB 225 ;-28 FCB 195 ;-16 FCB 165 ;- 4 FCB 140 ; 8 FCB 110 ; 20 FCB 80 ; 32 FCB 53 ; 44 FCB 47 ; 56 FCB 40 ; 68 FCB 32 ; 80 FCB 28 ; 92 FCB 18 ;104 FCB 17 ;116 FCB 15 ;128 FCB 15 ;140 FCB 14 ;152 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Crank fuel mult vs. RPM ;~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; mult. = val/256 ;RPM ; L4DA3 FCB 255 ; 0 FCB 255 ;100 FCB 192 ;200 FCB 192 ;300 FCB 192 ;400 FCB 192 ;500 FCB 128 ;600 FCB 128 ;700 FCB 128 ;800 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Hot restart crank fuel mult. vs RPM ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; mult. = val/256 ;RPM ; L4DAC FCB 255 ; 0 FCB 255 ;100 FCB 166 ;200 FCB 166 ;300 FCB 128 ;400 FCB 128 ;500 FCB 128 ;600 FCB 128 ;700 FCB 128 ;800 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Crank fuel mult. vs. baro ;~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; mult. = val / 128 ;kPa ; L4DB5 FCB 96 ; 75 FCB 115 ; 85 FCB 128 ; 95 FCB 134 ;105 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Crank fuel mult. vs TPS ;~~~~~~~~~~~~~~~~~~~~~~~~~ ; L4DB9 FCB 8 ;9 line table ; ; mult. = val./64 ; L4DBA FCB 64 ; 0.0 FCB 67 ; 12.5 FCB 70 ; 25.0 FCB 80 ; 37.5 FCB 83 ; 50.0 FCB 83 ; 62.5 FCB 32 ; 75.0 FCB 3 ; 87.5 FCB 2 ;100.0 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Cranking fuel delay vs. cool temp ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Delay ;Deg C ; L4DC3 FCB 0 ;-40 FCB 0 ;-28 FCB 0 ;-16 FCB 0 ; -4 FCB 0 ; 8 FCB 0 ; 20 FCB 0 ; 32 FCB 0 ; 44 FCB 0 ; 56 FCB 0 ; 68 FCB 0 ; 80 FCB 0 ; 92 FCB 0 ;104 FCB 0 ;116 FCB 0 ;128 FCB 0 ;140 FCB 0 ;152 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Uses any one of the following tables, depending on the conditions ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Cold crank PW mult. vs DRPs ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Based on cranking fuel counter #2 ; ; Temperature < threshold in L4D8F ; ; Mult. = val./128 ;DRPs ; L4DD4 FCB 230 ; 1 L4DD5 FCB 209 ; 2 L4DD6 FCB 188 ; 3 L4DD7 FCB 166 ; 4 L4DD8 FCB 145 ; 5 L4DD9 FCB 124 ; 6 L4DDA FCB 103 ; 7 L4DDB FCB 83 ; 8 L4DDC FCB 79 ; 9 L4DDD FCB 75 ;10 L4DDE FCB 70 ;11 L4DDF FCB 64 ;12 L4DE0 FCB 60 ;13 L4DE1 FCB 56 ;14 L4DE2 FCB 53 ;15 L4DE3 FCB 51 ;16 L4DE4 FCB 51 ;17 L4DE5 FCB 51 ;18 L4DE6 FCB 51 ;19 L4DE7 FCB 51 ;20 L4DE8 FCB 51 ;21 L4DE9 FCB 51 ;22 L4DEA FCB 51 ;23 L4DEB FCB 51 ;24 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Non hot restart crank PW fuel mult. vs DRPs ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Based on cranking fuel counter #2 ; ; Temperature >= threshold in L4D8F ; ; mult. = val./128 ;DRPs ; L4DEC FCB 192 ; 1 FCB 166 ; 2 FCB 128 ; 3 FCB 83 ; 4 FCB 60 ; 5 FCB 56 ; 6 FCB 52 ; 7 FCB 44 ; 8 FCB 42 ; 9 FCB 41 ;10 FCB 39 ;11 FCB 38 ;12 FCB 38 ;13 FCB 38 ;14 FCB 38 ;15 FCB 38 ;16 FCB 38 ;17 FCB 38 ;18 FCB 38 ;19 FCB 38 ;20 FCB 44 ;21 FCB 50 ;22 FCB 57 ;23 FCB 64 ;24 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Hot restart crank PW mult. vs DRPs ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Based on cranking fuel counter #2 ; ; mult. = val./128 ;DRPs ; L4E04 FCB 128 ; 1 FCB 100 ; 2 FCB 70 ; 3 FCB 60 ; 4 FCB 50 ; 5 FCB 45 ; 6 FCB 40 ; 7 FCB 38 ; 8 FCB 38 ; 9 FCB 38 ;10 FCB 38 ;11 FCB 38 ;12 FCB 38 ;13 FCB 38 ;14 FCB 38 ;15 FCB 38 ;16 FCB 40 ;17 FCB 41 ;18 FCB 43 ;19 FCB 44 ;20 FCB 46 ;21 FCB 48 ;22 FCB 50 ;23 FCB 51 ;24 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Cycling crank PW mult. vs DRPs ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Based on DRP counter #2, use when DRPs > 23 ; ; Mult. = val./128 ;DRPs, lower 3 bits of counter ; L4E1C FCB 64 ;0 FCB 52 ;1 FCB 44 ;2 FCB 38 ;3 FCB 35 ;4 FCB 34 ;5 FCB 33 ;6 FCB 32 ;7 ; *********************************************** * END OF AIR/FUEL PARAMS * *********************************************** *********************************************** * DIAGNOSTICS * MY 94, TYPE $0D ECM *********************************************** ;---------------------------------------------- ; ECM TYPE $0D ;---------------------------------------------- L4E24: FCB 10 ; ERR LOG CNST 1, 1.0 SEC'S L4E25 FCB 20 ; ERR LOG CNST 2, 2.0 SEC'S L4E26: FCB 100 ; ERR LOG CNST 3, 10 SEC'S L4E27: FCB 120 ; ERR LOG CNST 4, 12 SEC'S ;---------------------------------------------- ;------------------------ ; ERROR 13 ; o2 SENSOR ;------------------------ L4E28 FCB 60 ; TIME SINCE RUN LIMIT, 120 Sec L4E29 FCB 10 ; 1 SEC MAX DECEL CUT OFF TIME ACCUM L4E2A FCB 1 ; 100 msec LOWER DECEL CUT OFF TIME THRESH ; L4E2B FCB 81 ; 351 MV DC, o2 SENSOR LOW LIMIT L4E2C FCB 127 ; 551 MV DC, o2 SENSOR HIGH LIMIT ; L4E2D FCB 13 ; 5%, TPS LIMIT L4E2E FCB 30 ; 60 Sec, TIME LIMIT L4E2F: FCB 147 ; 70c, WARM (COOL) ENABLE ;------------------------ ;------------------------ ; ERR 16 ; 2002 PPM Vss FAIL ;------------------------ L4E30 FCB 2 ; 2 MPH, Vss LMT ; L4E31 FCB 38 ; 950 RPM LO LMT (RPM RANGE) L4E32 FCB 176 ; 4400 RPM HI LMT ; L4E33 FCB 15 ; 16 Kpa MAP LMT L4E34 FCB 140 ; 65 DEG c, COOL LMT L4E35 FCB 3 ; 3 sec TIME LMT L4E36 FCB 5 ; 2% MAX TPS ; L4E37 FCB 0 ; L4E38 FCB 0 ; CNT'R, ERR 25/ERR 23 ;------------------------ ;-------------------------- ; ERR 24 MAN XMISSION ONLY ;-------------------------- L4E39 FCB 10 ; 1 SEC L4E3A FCB 10 ; 10 MPH MAX FOR ERR TMR INCR ;------------------------ ;------------------------ ; ERR 23/25 ;------------------------ L4E3B FDB 0000 ; 0000 SEC RUN TIME TO ENABLE ERR ; CAL = SEC'S ; L4E3D FCB 0 ; 0 MPH, MIN FOR ERR 25 ELSE ERR 23 L4E3E FCB 0 ; -40c, DEFAULT MAT IF ERR 23/25 ;---------------------------------------------- ;---------------------------------------------- ; ERR 25 ; ;---------------------------------------------- L4E3F FCB 0 ; -40c, MAT HI THRESH FOR ERR 25 L4E40 FCB 0 ; 0 Sec, THRESH FOR ERR 25 ; SEC * 10 ;---------------------------------------------- ;---------------------------------------------- ; ERR 31 ; ;---------------------------------------------- L4E41 FCB 0 ; 0% D.C. IF GOV INTEGRAL E.Q. or G.T. ;---------------------------------------------- ;---------------------------------------------- ; ERR 32 ; EGR Diag & Err calib ; TYPE $0D, 5.7l ;---------------------------------------------- ORG $4E42 : ; L4E42 FCB 30 ; 30 SEC DIAG CYCLE TIME ; L4E43 FCB 64 ; 34.0 Kpa Low Load EGR TEST disable, (68 Kpa VAC) L4E44 FCB 208 ; 87.1 Kpa Hi load EGR TEST disable, (15 Kpa VAC) ; L4E45 FCB 15 ; 6% Low TPS EGR TEST Disable L4E46 FCB 77 ; 30% Hi TPS EGR TEST Disable ; L4E47 FCB 243 ; 95% Desired required EGR TEST Err test ; L4E48 FCB 30 ; 3 sec's Err delay timer L4E49 FCB 3 ; 3 Fail counter min ; L4E4A FCB 10 ; 4% diff TPS to escape EGR test L4E4B FCB 25 ; 2.5 Sec's integrator test time L4E4C FCB 4 ; 4 integrator count for err ; L4E4D FCB 45 ; 45 MPH min for EGR test ; L4E4E FCB 12 ; 300 Msec Integrator delay if EGR ;---------------------------------------------- ;---------------------------------------------- ; ERR 32B ; LINEAR EGR POSIT FAIL ;---------------------------------------------- L4E4F FCB 0 ; 0 A/D PINTLE SETTING L4E50 FCB 0 ; 0% PINTLE POSIT ERROR L4E51 FCB 0 ; 0 SEC'S TIME THRESH ; L4E52 FCB 0 ; 0% POSIT ERR LMT L4E53 FCB 0 ; 0 Sec's TIME BETWEEN TESTS L4E54 FCB 0 ; 0 Sec's SET ERR IF A/D POSIT L.T. REQ L4E55 FCB 0 ; 0 Sec's x 2 ;------------------------ ;------------------------ ; ERR 33 ; ERR 33, MAP SENSOR HI ;------------------------ L4E56 FCB 10 ; 4% TPS limit L4E57 FCB 156 ; 67.9 Kpa MAP Lmt L4E58 FCB 50 ; 5 Sec's time Lmt L4E59 FCB 0 ; 0 RPM ;------------------------ ;------------------------ ; ERR 34 ; Low MAP Err ;------------------------ L4E5A FCB 5 ; 12.2 Kpa MAP Lmt L4E5B FCB 64 ; 1200 RPM Max Lmt L4E5C FCB 50 ; 625 Msec time Lmt L4E5D FCB 20 ; 8% TPS MAX Lmt ;------------------------ ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;-Default MAP params, use when low/high MAP error in effect ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L4E5E FCB 218 ;91 kPa, default MAP if not running/UL for default MAP value L4E5F FCB 112 ;1.75, default MAP TPS coeff. ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Default MAP bias vs. RPM ;~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L4E60 FCB 64 ;3200 RPM, UL for lookup ; ; Bias val. ;RPM ; FCB 90 ; 800 FCB 35 ;1600 FCB 7 ;2400 FCB 2 ;3200 ; ;------------------------ ; ERR 41 ; CAM PULSE ERROR ;------------------------ L4E65 FCB 0 ; DRP'S W/O CAM PULSE ;------------------------ ;--------------------- ; ERROR 42 EST FAIL ;--------------------- L4E66: FCB 4 ; RPM LIMIT, 450 RPM L4E67 FCB 0 ;0 counts, delta EST info counter value to set error L4E68: FCB 4 ; NUM EST ERR'S FR 42A L4E69: FCB 4 ; NUM EST FAULT FOR 42B ; OPEN or GROUNDED BYPASS LINE ;---------------------- ;--------------------- ; ERROR 43 ; KNOCK SYSTEM FAIL ;--------------------- L4E6A: FCB 160 ; 16 SEC'S. HI VOLTS CK PERIOD L4E6B FCB 230 ; 4.5 VDC A/D UPPER VOLTS LMT L4E6C FCB 20 ; 0.390 VDC A/D LOWER VOLT LMT L4E6D FCB 23 ; 4 DEG, KNK FAIL RETARD ;--------------------- ;--------------------- ; ERROR 44 ; o2 LEAN ;--------------------- L4E6E FCB 34 ; 148 Mv LOW o2 SENSOR LMT L4E6F FCB 20 ; 20 SEC'S ERR TIME LMT L4E70 FCB 200 ; 400 SEC'S ERR PART 2 TIME LMT L4E71 FCB 146 ; 14.6 MAX AFR IF ERROR ;------------------------ ;------------------------ ; ERR 45 ; HIGH o2 SENSOR ;------------------------ L4E72 FCB 255 ; 151 DEG c, L4E73 FCB 173 ; 750 Mv, o2 HI LMT L4E74 FDB 0060 ; 60 SEC'S ERR TIME LMT ; CAL = SECS ; L4E76 FDB 0060 ; 60 SEC'S ERR TIME LMT ; CAL = SECS ; L4E78 FCB 13 ; 5% TPS HI LMT L4E79 FCB 0 ; 0% TPS LOW LMT ;------------------------ ;------------------------ ; ERR 46 ; VATS ERROR ;------------------------ L4E7A FCB 128 ; 12.8 SEC'S VATS TMR FOR ERR ;------------------------ ;------------------------ ; ERR 54 ;------------------------ L4E7B FCB 5 ; 500 MSEC L4E7C FCB 50 ; 5.0 VDC IN L4E73 TIME, PASS TEST L4E7D FCB 80 ; 8.0 VDC MIN FOR RUNNING L4E7E FCB 20 ; IF IF N 2 VDC, SKP ERR 54 ;------------------------ *********************************************** * END OF DIAGNOSTICS * *********************************************** *********************************************** * AIR MANAGMENT *********************************************** L4E7F FCB 2 ; MJR LP o2 SENSOR FILTER COEF 0.8% L4E80 FCB 192 ; DISABLE AIR INJ IF G.T. 3200 RPM L4E81 FCB 32 ; DISABLE AIR INJ IF L.T. 22 Kpa L4E82 FCB 73 ; DISABLE AIR INJ IF L.T. 15 DEG C L4E83 FCB 0 ; DISABLE AIR INJ IF PWR ENR G.T. 0 SEC'S L4E84 FCB 135 ; 52.7% LAG FILTER COEF FOR Vss (02A5)FILT MPH *********************************************** *********************************************** * IAC CALIBRATION * TYPE $0D, MY94 L05, BDWM * *********************************************** ; L4E85 FCB $0A ;IAC opt. word #1, 0000 1010 ; b7 - 1 = Stall saver thresh are rpms ; 0 = Stall saver thresh are requested rpms ; b6 = Use MAT to establish A/C on/off transitions ; b5 = Init INT with calib const., not running ; b4 = A/C high pressure switch ; b3 = Init. A/C on INT cells to A/C off cellsINIT A/C ON INTEGRAL CELLS TO A/C OFF CELLS ; b2 = Throttle kicker enabled ; b1 = Use ETC cell in decel fuel cutoff ; b0 - 1 = Man. trans, disable closed loop idle if quals not met ; 0 = Auto trans, enable closed loop idle if rpms low ; L4E86 FCB $01 ; IAC OPT WD 1, 0000 0001 ; ; b7 = 1 = not used ; b6 = 1 = not used ; b5 = 1 = not used ; b4 = 1 = not used ; ; b3 = 1 = not used ; b2 = 1 = not used ; b1 = 1 = PWR STEER SW IN USE ; b0 = 1 = INIT 16 BIT INTEGRALS FM 8 BIT WARM CELLS ; = 0 = NORMAL INTEGRAL INIT ;---------------------------------- ; L4E87 FCB 161 ; 81c, (178f), MIN COOL FOR IAC MOVED ; PRIOR TO START ; ;--------------------------------------------- ;--------------------------------------------- ; IAC STEP POSIT Vs. %MAX AIR FLOW ; ; PROVIDES LINERIZATION OF CLSD LP IAC RPM GAINS ; (IAC STEPS Vs. DESIRED AIR FLOW) ; ; Dissassemby of BDWM LINES = 17 ; ; TBL = 1 * STP'S ;--------------------------------------------- ORG $4E88 ; %AIR FLOW %AIR FLOW ;--------------------------------- L4E88 FCB 0 ; 0.0 0.0 L4E89 FCB 9 ; 3.5 6.3 L4E8A FCB 19 ; 7.4 12.5 L4E8B FCB 27 ; 10.5 18.8 L4E8C FCB 37 ; 14.5 25.0 L4E8D FCB 46 ; 18.0 31.3 L4E8E FCB 56 ; 21.9 37.5 L4E8F FCB 64 ; 25.0 43.8 L4E90 FCB 72 ; 28.1 50.0 L4E91 FCB 79 ; 30.9 56.3 L4E92 FCB 84 ; 32.8 62.5 L4E93 FCB 89 ; 34.8 68.8 L4E94 FCB 94 ; 36.7 75.0 L4E95 FCB 100 ; 39.1 81.3 L4E96 FCB 109 ; 42.6 87.5 L4E97 FCB 125 ; 48.8 93.8 L4E98 FCB 150 ; 58.6 100.0 ;--------------------------------------------- ;--------------------------------------------- ; IAC ALTITUDE COMP ; ; Dissassemby of BDWM ; ; TABLE = FACTOR * 128 ;--------------------------------------------- ORG $4E99 ; ; L4E99 FCB 72 ; 46 Kpa STARTING BARO = 60 ; CAL = Kpa *1.229)+15 ; L4E9A FCB 72 ; 45 Kpa BARO RANGE ; L4E9B FCB 32 ; 20 Kpa BARO BK POINTS, (5 ) ; ; FACTOR Kpa BARO ;----------------------------- L4E9C FCB 166 ; 1.3 65 L4E9D FCB 160 ; 1.3 70 L4E9E FCB 155 ; 1.2 75 L4E9F FCB 151 ; 1.2 80 L4EA0 FCB 147 ; 1.1 85 L4EA1 FCB 143 ; 1.1 90 L4EA2 FCB 138 ; 1.1 95 L4EA3 FCB 130 ; 1.0 100 L4EA4 FCB 128 ; 1.0 105 L4EA5 FCB 128 ; 1.0 110 ;--------------------------------------------- ;--------------------------------------------- ; IAC CONSTANTS ; MY94 L05 TYPE $0D ;--------------------------------------------- L4EA6 FCB 150 ; 150 Steps park down ; L4EA7 FCB 46 ; 18% Flow of idle cell in park after ; non vol mem fail ; L4EA8 FCB 52 ; 20% Flow val of idle cell in drive after ; non vol mem fail ; L4EA9 FCB 51 ; 20% FLOW DIFF FOR A/C ON AFTER NON VOL MEM FAIL ; (% * 2.56) ; L4EAA FCB 31 ; 12% FLOW ADDED TO A/C ON INTEGRAL & LEARN CELLS L4EAB FCB 200 ; 110c COOL THRESH MAX FOR L4EAA ; L4EAC FCB 105 ;10.5 volts, min batt volts for IAC operation ; L4EAD FCB 40 ; 40 MPH IAC MOTOR RESET THRESH ; (If non vol mem or IAC is lost) ; L4EAE FCB 50 ; 19.5% FLOW ADDED AIR AFTER START UP ; (Replaces TPS) ; L4EAF FCB 1 ; 100 Msec, DECAY PERIOD L4EB0 FCB 240 ; 240 Sec's, RUN TIME TO START DECAY OF ; L4EB1 FCB 3 ; 300 msec, DECAY PERIOD AFTER L4EB0, ; PER 12.5 msecs INT PERIOD ; L4EB2 FCB 192 ; 150% PK/NEUT MULT, (0-200%) TO L.... DRIVE VAL TBL ;---------------------------------------------- ;---------------------------------------------- ; COLD IDLE COMP ; DELAYS & KICK DOWN ;---------------------------------------------- ORG $4EB3 ; ; L4EB3 FCB 250 ; 97.6% DECAY MULT FOR MAX COLD OFFSET L4EB4 FCB 245 ; 95.7% DECAY MULT (PARK) L4EB5 FCB 244 ; 95.3% DECAY MULT (DRIVE) ; L4EB6 FCB 10 ; 10 MPH COLD OFFSET THRESH ; 1ST TIME IF MPH G.T. 10 MPH, COLD OFF SETS ; A MULT BY L4EAF ; L4EB7 FCB 211 ; 82.4% COLD OFFSET KICK DOWN MULT ;---------------------------------------------- ;---------------------------------------------- ; IAC FLOW Vs. COOL ; (PK/NEUT) ; ; Dissassemby of BDWM LINES = 13 ; ; TBL = 2.56 * %FLOW ;---------------------------------------------- ORG $4EB8 ; ; %FLOW DEG c COOL ;---------------------------------- L4EB8 FCB 240 ; 93.8 -28 L4EB9 FCB 230 ; 89.8 -16 L4EBA FCB 197 ; 77.0 -4 L4EBB FCB 187 ; 73.0 8 L4EBC FCB 166 ; 64.8 20 L4EBD FCB 141 ; 55.1 32 L4EBE FCB 102 ; 39.8 44 L4EBF FCB 77 ; 30.1 56 L4EC0 FCB 72 ; 28.1 68 L4EC1 FCB 64 ; 25.0 80 L4EC2 FCB 64 ; 25.0 92 L4EC3 FCB 72 ; 28.1 104 L4EC4 FCB 115 ; 44.9 116 ;---------------------------------------------- ;---------------------------------------------- ; IAC FLOW Vs. COOL ; (IAC COLD 0FF SET IN DRIVE) ; ; Dissassemby of BDWM, LINES = 13 ; ; TBL = 2.56 * %FLOW ;---------------------------------------------- ORG $4EC5 ; ; %FLOW DEG c COOL ;---------------------------------- L4EC5 FCB 218 ; 85.2 -28 L4EC6 FCB 212 ; 82.8 -16 L4EC7 FCB 171 ; 66.8 -4 L4EC8 FCB 166 ; 64.8 8 L4EC9 FCB 158 ; 61.7 20 L4ECA FCB 133 ; 52.0 32 L4ECB FCB 100 ; 39.1 44 L4ECC FCB 80 ; 31.3 56 L4ECD FCB 75 ; 29.3 68 L4ECE FCB 67 ; 26.2 80 L4ECF FCB 67 ; 26.2 92 L4ED0 FCB 79 ; 30.9 104 L4ED1 FCB 128 ; 50.0 116 ;---------------------------------------------- ;---------------------------------------------- ; IAC COLD OFFSET DELAY PERIOD Vs. COOL ; ; Dissassemby of BDWM LINES = 13 ; ; TBL = 10 * SEC'S ;---------------------------------------------- ORG $4ED2 ; ; SEC'S DEG c COOL ;---------------------------------- L4ED2 FCB 210 ; 21.0 -28 L4ED3 FCB 170 ; 17.0 -16 L4ED4 FCB 160 ; 16.0 -4 L4ED5 FCB 150 ; 15.0 8 L4ED6 FCB 140 ; 14.0 20 L4ED7 FCB 120 ; 12.0 32 L4ED8 FCB 75 ; 7.5 44 L4ED9 FCB 35 ; 3.5 56 L4EDA FCB 25 ; 2.5 68 L4EDB FCB 10 ; 1.0 80 L4EDC FCB 5 ; 0.5 92 L4EDD FCB 5 ; 0.5 104 L4EDE FCB 20 ; 2.0 116 ;---------------------------------------------- ;---------------------------------------------- ; MULT Vs. FLOW ; ; TBL = MULT * 128 ;---------------------------------------------- ORG $4EDF ; ; MULT FLOW ;---------------------------------- L4EDF FCB 154 ; 1.20 0 L4EE0 FCB 128 ; 1.00 16 L4EE1 FCB 115 ; 0.90 32 L4EE2 FCB 102 ; 0.80 48 L4EE3 FCB 96 ; 0.75 64 ;---------------------------------------------- ; L4EE4 FCB 102 ; 40% MAX ALLOWABLE DIFF ; DIFF PCT * 2.56 ; L4EE5 FCB 77 ; 30% MIN ALLOWABLE DIFF ; DIFF PCT * 2.56 ; L4EE6 FCB 102 ; 40% MAX ALLOWABLE DIFF ; DIFF PCT * 2.56 ; L4EE7 FCB 77 ; 30% MIN ALLOWABLE DIFF ; ********************************************** * ENABLE IDLE (IAC) CLOSED LOOP CONDITIONS * TYPE $0D, BDWM ********************************************** ;--------------------------------------------- ; QUALS FOR IAC CLOSED TPS ;--------------------------------------------- L4EE8 FCB 4 ; 15.6 %TPS, UPPER LMT FOR CLSD TPS L4EE9 FCB 3 ; 3 MPH, UPPER LMT FOR CLSD TPS ;--------------------------------------------- L4EEA FCB 20 ; 500 msec CLS LP ENABLE DELAY AFTER QUAL ;--------------------------------------------- ;--------------------------------------------- ; IAC CLS LP ENABLE DELAY AFTER START UP Vs. COOL ; (RPM HIGH) ; ; Dissassemby of BDWM LINES = 13 ; ; TBL = 10 * RPM ;--------------------------------------------- ORG $4EEB ; Sec's DEG c COOL ;--------------------------------- L4EEB FCB 30 ; 3.0 -28 L4EEC FCB 20 ; 2.0 -16 L4EED FCB 20 ; 2.0 -4 L4EEE FCB 15 ; 1.5 8 L4EEF FCB 15 ; 1.5 20 L4EF0 FCB 15 ; 1.5 32 L4EF1 FCB 15 ; 1.5 44 L4EF2 FCB 15 ; 1.5 56 L4EF3 FCB 10 ; 1.0 68 L4EF4 FCB 10 ; 1.0 80 L4EF5 FCB 10 ; 1.0 92 L4EF6 FCB 10 ; 1.0 104 L4EF7 FCB 10 ; 1.0 116 ;---------------------------------------------- ;---------------------------------------------- ; IAC CLS LP ENABLE DELAY AFTER START UP Vs. COOL ; (RPM LOW) ; ; Dissassemby of BDWM LINES = 13 ; ; TBL = 10 * SEC'S ;---------------------------------------------- ORG $4EF8 ; Sec's DEG c COOL ;---------------------------------- L4EF8 FCB 50 ; 5.0 -28 L4EF9 FCB 40 ; 4.0 -16 L4EFA FCB 30 ; 3.0 -4 L4EFB FCB 20 ; 2.0 8 L4EFC FCB 20 ; 2.0 20 L4EFD FCB 20 ; 2.0 32 L4EFE FCB 10 ; 1.0 44 L4EFF FCB 10 ; 1.0 56 L4F00 FCB 5 ; 0.5 68 L4F01 FCB 5 ; 0.5 80 L4F02 FCB 5 ; 0.5 92 L4F03 FCB 5 ; 0.5 104 L4F04 FCB 5 ; 0.5 116 ;---------------------------------------------- ;---------------------------------------------- ; LOAD TRANSISITIONS ; ;---------------------------------------------- L4F05 FCB 5 ; -2% A/C STEP ON/OFF FLOW MULT ; L4F06 FCB 1 ; 0.4% MIN A/C FLOW STEP FOR ON/OFF XISTION L4F07 FCB 10 ; 4.0% FLOW MAX A/C FLOW STEP FOR ON/OFF XISTION ; L4F08 FCB 8 ; 200 Msec PERIOD OF A/C STEP ON/OFF XISITION L4F09 FCB 1 ; 20 Msec CLS LP IDLE DELAY, (IF RPM LOW) ;---------------------------------------------- ;---------------------------------------------- ; A/C STEP FOR OFF/ON XISITION Vs. MAT (Deg c) ; ; Dissassemby of BDWM ; ; TBL = %FLOW * 2.56 ;---------------------------------------------- L4F0A FCB 0 ; -40 Deg c ; CAL = (Deg c +40) * (256/192) ; L4F0B FCB 0 ; 0 Deg c MAT TEMP RANGE ; CAL = (Deg c +40) * (256/192) ; L4F0C FCB 0 ; 0 Deg, MAT INTRVALS, = 12 Deg C ; ; %FLOW Deg c, MAT ;---------------------------------- L4F0D FCB 0 ; 0 8 L4F0E FCB 0 ; 0 20 L4F0F FCB 0 ; 0 32 L4F10 FCB 0 ; 0 44 L4F11 FCB 0 ; 0 56 ;---------------------------------------------- ;---------------------------------------------- ; IAC CONSTANTS ; ;---------------------------------------------- L4F12 FCB 77 ; 30% FLOW STEP OFF/ON MULT ; L4F13 FCB 3 ; 1.1% FLOW MIN STEP FOR A/C OFF/ON L4F14 FCB 13 ; 5.1% FLOW MAX STEP FOR A/C OFF/ON ; L4F15 FCB 40 ; 1000 Msec, PERIOD OF A/C OFF/ON L4F16 FCB 4 ; 100 Msec, CLS LP IDLE DELAY ; L4F17 FCB 1 ; 2.6% FLOW L4F18 FCB 3 ; 300 Msec, DECAY PERIOD ; L4F19 FCB 10 ; 3.9% FLOW MOMENT EXTRA AIR FOR Pk/Neut to DRIVE SHIFT L4F1A FCB 35 ; 875 Msec, PERIOD OF Pk/Neut TO Dr SHIFT L4F1B FCB 20 ; 500 Msec, CLS LP IDLE DELAY L4F1C FCB 2 ; 0.8% MOMRNT EXTRA AIR FOR Drive to Pk Shift L4F1D FCB 60 ; 1.5 Sec's PERIOD FOR Drive to Pk Shift L4F1E FCB 60 ; 1.5 Sec's for Clsd Lp DELAY L4F1F FCB 47 ; - 5 c, COOL THRESH FOR ADDED TIME TO PERIOD & Clsd Lp DELAY L4F20 FCB 20 ; 500 Msec ADD'NL DELAY IF IN DRIVE & COOL LO L4F21 FCB 60 ; 1.5 Sec's, ADD'NL DELAY IF DRIVE & COOL LO ; L4F22 FCB 20 ; 500 msec Add'nl DELAY IF PK/NEUT & COOL LO L4F23 FCB 20 ; 500 msec Add'nl DELAY IF PK/NEUT & COOL LOW ; L4F24 FCB 0 ; 0% ADDED AIR FOR PWR STEER L4F25 FCB 0 ; 0 SEC'S FOR PWR STEER SIG = 1 L4F26 FCB 0 ; 0 Sec's, DECAY PERIOD FOR PWR STEER L4F27 FCB 0 ; 0% FLOW, PWR STEER DECAY AMT. ;--------------------------------------------- ;--------------------------------------------- ; DESIRED RPM IDLE Vs. COOLANT ; (PK.NEUT & A/C OFF) ; ; Dissassemby of BDWM, LINES = 15 ; ; TBL = RPM/12.5 ;--------------------------------------------- ORG $4F28 ; RPM DEG c COOL ;--------------------------------- L4F28 FCB 70 ; 875 -28 L4F29 FCB 70 ; 875 -16 L4F2A FCB 70 ; 875 -4 L4F2B FCB 70 ; 875 8 L4F2C FCB 66 ; 825 20 L4F2D FCB 62 ; 775 32 L4F2E FCB 58 ; 725 44 L4F2F FCB 56 ; 700 56 L4F30 FCB 54 ; 675 68 L4F31 FCB 53 ; 663 80 L4F32 FCB 52 ; 650 92 L4F33 FCB 52 ; 650 104 L4F34 FCB 52 ; 650 116 L4F35 FCB 54 ; 675 128 L4F36 FCB 58 ; 725 140 ;--------------------------------------------- ;--------------------------------------------- ; DESIRED RPM IDLE Vs. COOLANT ; (PK/NEUT & A/C ON) ; ; Dissassemby of BDWM LINES = 15 ; ; TBL = RPM/12.5 ;--------------------------------------------- ORG $4F37 ; RPM Deg c COOL ;--------------------------------- L4F37 FCB 70 ; 875.0 -28 L4F38 FCB 70 ; 875.0 -16 L4F39 FCB 70 ; 875.0 -4 L4F3A FCB 70 ; 875.0 8 L4F3B FCB 66 ; 825.0 20 L4F3C FCB 62 ; 775.0 32 L4F3D FCB 58 ; 725.0 44 L4F3E FCB 56 ; 700.0 56 L4F3F FCB 54 ; 675.0 68 L4F40 FCB 53 ; 662.5 80 L4F41 FCB 52 ; 650.0 92 L4F42 FCB 52 ; 650.0 104 L4F43 FCB 52 ; 650.0 116 L4F44 FCB 54 ; 675.0 128 L4F45 FCB 58 ; 725.0 140 ;--------------------------------------------- ;--------------------------------------------- ; DESIRED RPM IDLE VS COOLANT ; (IN DRIVE A/C ON) ; ; Dissassemby of BDWM, LINES = 15 ; ; TBL = RPM/12.5 ;--------------------------------------------- ORG $4F46 ; RPM Deg c COOL ;--------------------------------- L4F46 FCB 54 ; 675.0 -28 L4F47 FCB 54 ; 675.0 -16 L4F48 FCB 54 ; 675.0 -4 L4F49 FCB 54 ; 675.0 8 L4F4A FCB 52 ; 650.0 20 L4F4B FCB 50 ; 625.0 32 L4F4C FCB 48 ; 600.0 44 L4F4D FCB 46 ; 575.0 56 L4F4E FCB 44 ; 550.0 68 L4F4F FCB 43 ; 537.5 80 L4F50 FCB 42 ; 525.0 92 L4F51 FCB 42 ; 525.0 104 L4F52 FCB 42 ; 525.0 116 L4F53 FCB 46 ; 575.0 128 L4F54 FCB 48 ; 600.0 140 ;--------------------------------------------- ;--------------------------------------------- ; DESIRED RPM IDLE VS COOLANT ; (IN DRIVE NOT COOLING) ; ; Dissassemby of BDWM, LINES = 15 ; ; TBL = .08 * RPM ;--------------------------------------------- ORG $4F55 ; RPM Deg c COOL ;--------------------------------- L4F55 FCB 54 ; 675 -28 L4F56 FCB 54 ; 675 -16 L4F57 FCB 54 ; 675 -4 L4F58 FCB 54 ; 675 8 L4F59 FCB 52 ; 650 20 L4F5A FCB 50 ; 625 32 L4F5B FCB 48 ; 600 44 L4F5C FCB 46 ; 575 56 L4F5D FCB 44 ; 550 68 L4F5E FCB 43 ; 538 80 L4F5F FCB 42 ; 525 92 L4F60 FCB 42 ; 525 104 L4F61 FCB 42 ; 525 116 L4F62 FCB 46 ; 575 128 L4F63 FCB 48 ; 600 140 ;--------------------------------------------- ;--------------------------------------------- ; DESIRED RPM IDLE VS COOLANT ; (IN DRIVE, NOT RUNNING) ; ; Dissassemby of BDWM LINES = 15 ; ; TBL = .08 * RPM ;--------------------------------------------- ORG $4F64 ; RPM Deg c COOL ;--------------------------------- L4F64 FCB 4 ; 50.0 -28 L4F65 FCB 4 ; 50.0 -16 L4F66 FCB 4 ; 50.0 -4 L4F67 FCB 4 ; 50.0 8 L4F68 FCB 4 ; 50.0 20 L4F69 FCB 4 ; 50.0 32 L4F6A FCB 4 ; 50.0 44 L4F6B FCB 4 ; 50.0 56 L4F6C FCB 4 ; 50.0 68 L4F6D FCB 3 ; 37.5 80 L4F6E FCB 1 ; 12.5 92 L4F6F FCB 1 ; 12.5 104 L4F70 FCB 1 ; 12.5 116 L4F71 FCB 2 ; 25.0 128 L4F72 FCB 4 ; 50.0 140 ;--------------------------------------------- ;--------------------------------------------- L4F73 FCB 120 ; 0.47 GAIN (RPM/RPM) FOR UNSTABLE IDLE L4F74 FCB 20 ; 80, COEF FOR RPM VARIATIONS ;--------------------------------------------- ; DEFAULT RPM VAR'S FOR ; ; TYPE $0D ;--------------------------------------------- ORG $4F75 ; ; L4F75 FCB 0 ; 0 RPM, TPS OPN L4F76 FCB 16 ; 200 RPM, Pk/Drv Xisition L4F77 FCB 20 ; 250 RPM, A/C Xisition L4F78 FCB 20 ; 250 RPM, Pwr Steer Sw = 1 ;--------------------------------------------- ;--------------------------------------------- L4F79 FCB 2 ; 25 RPM, MAX DESIRED RPM DIFF FOR ROUGH IDLE L4F7A FCB 125 ; 12.5 VDC, THRESH FOR RAISING IDLE RPM ; (INCR RPM TO FIX BAT CHARGE) ; L4F7B FCB 51 ; -25 RPM/VOLT, ; CAL = (- RPM/VOLT) * (256/125) ; L4F7C FCB 3 ; 38 RPM, MAX IDLE OFFSET FOR LOW BATTERY ; ********************************************** * HOT IDLE PURGE COMPENSATION ********************************************** L4F7D FCB 107 ; MAX BLM THRESH FOR ADDING HOT IDLE ; PURGE COMPENSATION ; L4F7E FCB 20 ; 20 Sec's MIN WAIT AT HOT IDLE FOR ADDING ; PURGE COMPENSATION ; L4F7F FCB 173 ; 90c, THRESH FOR HOT IDLE PURGE COMPENSATION ; L4F80 FCB 6 ; 75 RPM HOT IDLE PURGE COMP, Pk/Necu, A/C OFF L4F81 FCB 4 ; 50 RPM HOT IDLE PURGE COMP, Pk/Necu, A/C ON ; L4F82 FCB 4 ; 50 RPM HOT IDLE PURGE COMP, Drive, A/C OFF L4F83 FCB 2 ; 25 RPM HOT IDLE PURGE COMP, Drive, A/C ON ; L4F84 FCB 80 ; 1000 RPM MAX REQUESTED, HI A/C HEAD PRESS, Pk/Neut L4F85 FCB 90 ; 1125 RPM MAX REQUESTED, HI A/C HEAD PRESS, Drive ; L4F86 FCB 10 ; 10 Sec's, PERIOD TO INCR RPM FOR HI PRESS IF HI LOAD L4F87 FCB 10 ; 10 Sec's, PERIOD TO INCR RPM FOR HI PRESS IF LO LOAD ;--------------------------------------------- ********************************************** * INTEGRAL IDLE CONTROL * ********************************************** ;--------------------------------------------- ; IDLE INTEGRAL GAIN Vs. RPM ERROR ; (RPM LOW & PK/NEUT) ; ; Dissassemby of BDWM LINES = 11 ; ; TBL = GAIN * 0.488 ;--------------------------------------------- ORG $4F88 ; GAIN RPM ERROR ;--------------------------------- L4F88 FCB 0 ; 0.0 0.0 L4F89 FCB 0 ; 0.0 12.5 L4F8A FCB 3 ; 6.1 25.0 L4F8B FCB 6 ; 12.3 37.5 L4F8C FCB 6 ; 12.3 50.0 L4F8D FCB 12 ; 24.6 62.5 L4F8E FCB 16 ; 32.8 75.0 L4F8F FCB 16 ; 32.8 87.5 L4F90 FCB 16 ; 32.8 100.0 L4F91 FCB 16 ; 32.8 112.5 L4F92 FCB 16 ; 32.8 125.0 ;--------------------------------------------- ;--------------------------------------------- ; IDLE INTEGRAL GAIN Vs. RPM ERROR ; (RPM HIGH & PK/NEUT) ; ; Dissassemby of BDWM LINES = 11 ; ; TBL = .488 * GAIN ;--------------------------------------------- ORG $4F93 ; GAIN RPM ERROR ;--------------------------------- L4F93 FCB 0 ; 0.0 0.0 L4F94 FCB 0 ; 0.0 12.5 L4F95 FCB 3 ; 6.1 25.0 L4F96 FCB 6 ; 12.3 37.5 L4F97 FCB 6 ; 12.3 50.0 L4F98 FCB 6 ; 12.3 62.5 L4F99 FCB 6 ; 12.3 75.0 L4F9A FCB 6 ; 12.3 87.5 L4F9B FCB 6 ; 12.3 100.0 L4F9C FCB 6 ; 12.3 112.5 L4F9D FCB 6 ; 12.3 125.0 ;--------------------------------------------- ;--------------------------------------------- ; IDLE INTEGRAL GAIN Vs. RPM ERROR ; (RPM LOW & DRIVE) ; ; Dissassemby of BDWM LINES = 11 ; ; TBL = .488 * GAIN ;--------------------------------------------- ORG $4F9E ; GAIN RPM ERROR ;--------------------------------- L4F9E FCB 0 ; 0.0 0.0 L4F9F FCB 0 ; 0.0 12.5 L4FA0 FCB 4 ; 8.2 25.0 L4FA1 FCB 6 ; 12.3 37.5 L4FA2 FCB 6 ; 12.3 50.0 L4FA3 FCB 8 ; 16.4 62.5 L4FA4 FCB 9 ; 18.4 75.0 L4FA5 FCB 10 ; 20.5 87.5 L4FA6 FCB 11 ; 22.5 100.0 L4FA7 FCB 16 ; 32.8 112.5 L4FA8 FCB 12 ; 24.6 125.0 ;--------------------------------------------- ;--------------------------------------------- ; IDLE INTEGRAL GAIN Vs. RPM ERROR ; (RPM HIGH & DRIVE) ; ; Dissassemby of BDWM LINES = 11 ; ; TBL = .488 * GAIN ;--------------------------------------------- ORG $4FA9 ; GAIN RPM ERROR ;--------------------------------- L4FA9 FCB 0 ; 0.0 0.0 L4FAA FCB 0 ; 0.0 12.5 L4FAB FCB 4 ; 8.2 25.0 L4FAC FCB 6 ; 12.3 37.5 L4FAD FCB 7 ; 14.3 50.0 L4FAE FCB 8 ; 16.4 62.5 L4FAF FCB 9 ; 18.4 75.0 L4FB0 FCB 10 ; 20.5 87.5 L4FB1 FCB 11 ; 22.5 100.0 L4FB2 FCB 16 ; 32.8 112.5 L4FB3 FCB 12 ; 24.6 125.0 ;--------------------------------------------- ;--------------------------------------------- ; ; ;--------------------------------------------- L4FB4 FCB 1 ; 12.5 RPM, DEADBAND FOR UPDATING IDLE CELLS ; L4FB5 FCB 167 ; 85c COOL, LOW THRESH FOR WARM IDLE L4FB6 FCB 193 ; 105c COOL, Hi THRESH FOR WARM IDLE ; L4FB7 FCB 7 ; 2.7% FLOW, Min Diff L4FB8 FCB 90 ; 35% FLOW, Max Diff ; L4FB9 FCB 7 ; 2.7% FLOW, Min Diff L4FBA FCB 103 ; 40.2% FLOW, Max Diff ; L4FBB FCB 38 ; 15% FLOW, Max Diff L4FBC FCB 8 ; 2.7% FLOW, Min Diff ; L4FBD FCB 255 ; 99.6% FLOW LMT IF NOT IN CLSD LP IAC L4FBE FCB 255 ; 99.6% FLOW LMT IF NOT IN CLSD LP IAC ;---------------------------------------------- ; ; CK IAC PRORP LIMITING AUTHORITY QUALS ; L4FBF FCB 5 ; 5 MPH L4FC0 FCB 3 ; 3 MPH L4FC1 FCB 128 ; 1600 RPM/12.5 ;--------------------------------------------- ********************************************** * INTEGRAL IDLE CONTROL * ********************************************** ;--------------------------------------------- ; IDLE INTEGRAL GAIN Vs. RPM ERROR ; (LOW RPM & PK/NEUT) ; ; ; TBL = GAIN * 0.488 ;--------------------------------------------- ORG $4FC2 ; GAIN RPM ERROR ;--------------------------------- L4FC2 FCB 0 ; 0.0 0.0 L4FC3 FCB 0 ; 0.0 12.5 L4FC4 FCB 0 ; 0.0 25.0 L4FC5 FCB 4 ; 8.20 37.5 L4FC6 FCB 6 ; 12.30 50.0 L4FC7 FCB 9 ; 18.44 100.0 L4FC8 FCB 12 ; 24.59 150.0 L4FC9 FCB 12 ; 24.59 200.0 L4FCA FCB 12 ; 24.59 300.0 L4FCB FCB 12 ; 24.59 400.0 L4FCC FCB 12 ; 24.59 500.0 ;--------------------------------------------- ;--------------------------------------------- ; IDLE INTEGRAL GAIN Vs. RPM ERROR ; (RPM HI & PK/NEUT) ; ; Dissassemby of BDWM ; ; TBL = GAIN * 0.488 ;--------------------------------------------- ORG $4FCD ; GAIN RPM ERROR ;--------------------------------- L4FCD FCB 0 ; 0.0 0.0 L4FCE FCB 0 ; 0.0 12.5 L4FCF FCB 0 ; 0.0 25.0 L4FD0 FCB 1 ; 2.05 37.5 L4FD1 FCB 2 ; 4.10 50.0 L4FD2 FCB 4 ; 8.20 100.0 L4FD3 FCB 5 ; 10.24 150.0 L4FD4 FCB 6 ; 12.30 200.0 L4FD5 FCB 7 ; 14.34 300.0 L4FD6 FCB 8 ; 16.39 400.0 L4FD7 FCB 9 ; 18.44 500.0 ;--------------------------------------------- ;--------------------------------------------- ; IDLE INTEGRAL GAIN Vs. RPM ERROR ; (RPM LOW & DRIVE) ; ; Dissassemby of BDWM ; ; TBL = GAIN * 0.488 ;--------------------------------------------- ORG $4F96 ; GAIN RPM ERROR ;--------------------------------- L4FD8 FCB 0 ; 0.0 0.0 L4FD9 FCB 0 ; 0.0 12.5 L4FDA FCB 0 ; 0.0 25.0 L4FDB FCB 0 ; 0.0 37.5 L4FDC FCB 1 ; 0.4 50.0 L4FDD FCB 3 ; 1.2 100.0 L4FDE FCB 5 ; 2.0 150.0 L4FDF FCB 6 ; 2.3 200.0 L4FE0 FCB 8 ; 300.0 L4FE1 FCB 12 ; 4.7 400.0 L4FE2 FCB 12 ; 4.7 500.0 ;--------------------------------------------- ;--------------------------------------------- ; IDLE INTEGRAL GAIN Vs. RPM ERROR ; (RPM HIGH & DRIVE) ; ; Dissassemby of BDWM ; ; TBL = GAIN * 0.488 ;--------------------------------------------- ORG $4FE3 ; GAIN RPM ERROR ;--------------------------------- L4FE3 FCB 0 ; 0.0 0.0 L4FE4 FCB 0 ; 0.0 12.5 L4FE5 FCB 0 ; 0.0 25.0 L4FE6 FCB 0 ; 0.0 37.5 L4FE7 FCB 0 ; 0.0 50.0 L4FE8 FCB 0 ; 0.0 100.0 L4FE9 FCB 0 ; 0.0 150.0 L4FEA FCB 0 ; 0.0 200.0 L4FEB FCB 0 ; 0.0 300.0 L4FEC FCB 0 ; 0.0 400.0 L4FED FCB 0 ; 0.0 500.0 ;--------------------------------------------- ;--------------------------------------------- ; PROPORTIONAL,(%FLOW) Vs. RPM ; (DRIVE, A/C OFF, CLSD LP, IDLE, LO RPM) ; ; Dissassemby of BDWM ; ; TBL = %FLOW * 2.56 ;--------------------------------------------- ORG $4FEE ; %FLOW RPM ERROR ;--------------------------------- L4FEE FCB 0 ; 0.0 0.0 L4FEF FCB 0 ; 0.0 12.5 L4FF0 FCB 2 ; 0.8 25.0 L4FF1 FCB 5 ; 2.0 37.5 L4FF2 FCB 7 ; 2.7 50.0 L4FF3 FCB 10 ; 3.9 100.0 L4FF4 FCB 12 ; 4.7 150.0 L4FF5 FCB 12 ; 4.7 200.0 L4FF6 FCB 12 ; 4.7 300.0 L4FF7 FCB 12 ; 4.7 400.0 L4FF8 FCB 12 ; 4.7 500.0 ;--------------------------------------------- ;--------------------------------------------- ; PROPORTIONAL,(%FLOW) Vs. RPM ; (DRIVE, A/C OFF CLSD LP IDLE HIGH RPM) ; ; Dissassemby of BDWM ; ; TBL = %FLOW * 2.56 ;--------------------------------------------- ORG $4FF9 ; %FLOW RPM ERROR ;---------------------------------- L4FF9 FCB 0 ; 0.0 0.0 L4FFA FCB 0 ; 0.0 12.5 L4FFB FCB 1 ; 0.4 25.0 L4FFC FCB 2 ; 0.8 37.5 L4FFD FCB 4 ; 1.6 50.0 L4FFE FCB 5 ; 2.0 100.0 L4FFF FCB 6 ; 2.3 150.0 L5000 FCB 7 ; 2.7 200.0 L5001 FCB 8 ; 3.1 300.0 L5002 FCB 9 ; 3.5 400.0 L5003 FCB 12 ; 4.7 500.0 ;--------------------------------------------- ;--------------------------------------------- ; PROPORTIONAL,(%FLOW) Vs. RPM ; ; Dissassemby of BDWM ; ; TBL = %FLOW * 2.56 ;--------------------------------------------- ORG $5004 ; %FLOW RPM ERROR ;--------------------------------- L5004 FCB 0 ; 0.0 0.0 L5005 FCB 0 ; 0.0 12.5 L5006 FCB 0 ; 0.0 25.5 L5007 FCB 0 ; 0.0 37.5 L5008 FCB 1 ; 0.4 50.0 L5009 FCB 3 ; 1.2 100.0 L500A FCB 5 ; 2.0 150.0 L500B FCB 6 ; 2.3 200.0 L500C FCB 8 ; 3.1 300.0 L500D FCB 12 ; 4.7 400.0 L500E FCB 12 ; 4.7 500.0 ;--------------------------------------------- ;--------------------------------------------- ; PROPORTIONAL,(%FLOW) Vs. RPM ; (DRIVE, A/C ON, OPN LP, RPM HIGH) ; ; Dissassemby of BDWM ; ; TBL = %FLOW * 2.56 ;--------------------------------------------- ORG $500F ; %FLOW RPM ERROR ;--------------------------------- L500F FCB 0 ; 0.0 00.0 L5010 FCB 0 ; 0.0 12.5 L5011 FCB 0 ; 0.0 37.5 L5012 FCB 0 ; 0.0 25.0 L5013 FCB 0 ; 0.0 50.0 L5014 FCB 0 ; 0.0 100.0 L5015 FCB 0 ; 0.0 150.0 L5016 FCB 0 ; 0.0 300.0 L5017 FCB 0 ; 0.0 400.0 L5018 FCB 0 ; 0.0 500.0 ;--------------------------------------------- ;--------------------------------------------- ; PROPORTIONAL,(%FLOW) Vs. RPM ; (DRIVE, A/C ON, CLSD LP IDLE, RPM LOW) ; ; Dissassemby of BDWM ; ; TBL = %FLOW * 2.56 ;--------------------------------------------- ORG $5019 ; %FLOW RPM ERROR ;--------------------------------- L5019 FCB 0 ; 0.0 0.0 L501A FCB 0 ; 0.0 0.0 L501B FCB 0 ; 0.0 12.5 L501C FCB 3 ; 1.2 25.0 L501D FCB 6 ; 2.3 37.5 L501E FCB 9 ; 3.5 50.0 L501F FCB 12 ; 4.7 100.0 L5020 FCB 15 ; 5.9 150.0 L5021 FCB 15 ; 5.9 200.0 L5022 FCB 15 ; 5.9 300.0 L5023 FCB 15 ; 5.9 400.0 L5024 FCB 12 ; 4.7 500.0 ;--------------------------------------------- ;--------------------------------------------- ; PROPORTIONAL,(%FLOW) Vs. RPM ; ; Dissassemby of BDWM ; ; TBL = %FLOW * 2.56 ;--------------------------------------------- ORG $5025 ; %FLOW RPM ERROR ;--------------------------------- L5025 FCB 0 ; 0.0 0.0 L5026 FCB 0 ; 0.0 12.5 L5027 FCB 1 ; 0.4 25.0 L5028 FCB 3 ; 1.2 37.5 L5029 FCB 5 ; 2.0 50.0 L502A FCB 6 ; 2.3 100.0 L502B FCB 9 ; 3.5 150.0 L502C FCB 12 ; 4.7 200.0 L502D FCB 12 ; 4.7 300.0 L502E FCB 14 ; 5.5 400.0 L502F FCB 14 ; 5.5 500.0 ;--------------------------------------------- ; L5030 FCB 32 ; 0.125 COEF FOR IAC DIRIVITVE, (FAST COEF) L5031 FCB 16 ; 0.125 COEF FOR IAC DIRIVITVE, (SLOW COEF) ; ;--------------------------------------------- ; RAW DIRIVITIVE IAC Vs. RPM DIRIVITIVE ; ; Dissassemby of BDWM ; ; TBL = (128 + %FLOW) * 10.24 ;--------------------------------------------- ORG $5032 ; %FLOW RPM/sec ;--------------------------------- L5032 FCB 128 ; 0.0 0.75000 L5033 FCB 128 ; 0.0 0.78125 L5034 FCB 128 ; 0.0 0.81250 L5035 FCB 128 ; 0.0 0.84375 L5036 FCB 128 ; 0.0 0.87500 L5037 FCB 128 ; 0.0 0.90625 L5038 FCB 128 ; 0.0 0.93750 L5039 FCB 128 ; 0.0 0.96875 L503A FCB 128 ; 0.0 0.10000 L503B FCB 128 ; 0.0 0.10313 L503C FCB 140 ; 1.2 0.10625 L503D FCB 152 ; 2.3 0.10938 L503E FCB 164 ; 3.5 0.12500 L503F FCB 164 ; 3.5 0.15625 L5040 FCB 164 ; 3.5 0.18750 L5041 FCB 164 ; 3.5 0.12188 L5042 FCB 164 ; 5.5 0.12500 ;--------------------------------------------- ************************ * STALL SAVER CALIB ************************ ;--------------------------------------------- ; RPM DIFF QUAL FOR STALL SAVER TBL ; TBL = RPM DIFF * 2.56 ;-------------------------------------------------- L5043 FCB 166 ; 65 % RPM DIFF, THRESH FOR STALL SVR, A/C OFF & PK/NEUT L5044 FCB 166 ; 65 % RPM DIFF, THRESH FOR STALL SVR, A/C ON & PK/NEUT ; L5045 FCB 179 ; 70 % RPM DIFF, THRESH FOR STALL SVR, A/C OFF & DRIVE L5046 FCB 179 ; 70 % RPM DIFF, THRESH FOR STALL SVR, A/C ON & DRIVE ;-------------------------------------------------- ;-------------------------------------------------- ; DIFF %FLOW QUAL FOR STALL SAVER TBL ; TBL = RPM DIFF * 2.56 ;-------------------------------------------------- L5047 FCB 6 ; 2.3% DIFF, FLOW FOR STALL SVR, A/C OFF & PK/NEUT L5048 FCB 8 ; 3.0% DIFF, FLOW FOR STALL SVR, A/C ON & PK/NEUT ; L5049 FCB 10 ; 4.0% DIFF, FLOW FOR STALL SVR, A/C OFF & DRIVE L504A FCB 13 ; 5.0% DIFF, FLOW FOR STALL SVR, A/C ON & PK/NEU ;-------------------------------------------------- L504B FCB 20 ; 0.5 sec's STALL, SVR DELAY TO RE-ENABLE, PK/NEUT L504C FCB 40 ; 1.0 sec's STALL, SVR DELAY TO RE-ENABLE, DRIVE ********************************* * TPS FOLLOWER CALIB'S ********************************* ;--------------------------------------------- ; IAC TPS FOLLOWER GAIN Vs. COOL ; ; Dissassemby of BDWM ; ; ;--------------------------------------------- ORG $504D ; FACTOR DEG C COOL ;--------------------------------- L504D FCB 96 ; 1.50 -28 L504E FCB 96 ; 1.50 -16 L504F FCB 80 ; 1.25 -4 L5050 FCB 74 ; 1.16 8 L5051 FCB 70 ; 1.10 20 L5052 FCB 70 ; 1.10 32 L5053 FCB 70 ; 1.10 44 L5054 FCB 70 ; 1.10 56 L5055 FCB 70 ; 1.10 68 L5056 FCB 64 ; 1.00 80 176f L5057 FCB 64 ; 1.00 92 198f L5058 FCB 64 ; 1.00 104 219f L5059 FCB 58 ; 0.90 116 241f ;--------------------------------------------- ;--------------------------------------------- ; IAC THROTTLE FOLLOWER GAIN Vs. RPM ; ; Dissassemby of BDWM ; 12-19-1993, 20:42:04 ; ; TBL = GAIN FACTOR * 16 ;--------------------------------------------- ORG $505A ; ; L505A FCB 8 ; 9 LINE TABLE ; ; TF GAIN RPM ;----------------------------- L505B FCB 110 ; 6.90 0 L505C FCB 140 ; 8.75 400 L505D FCB 140 ; 8.75 800 L505E FCB 140 ; 8.75 1200 L505F FCB 140 ; 8.75 1600 L5060 FCB 140 ; 8.75 2000 L5061 FCB 140 ; 8.75 2400 L5062 FCB 140 ; 8.75 2800 L5063 FCB 140 ; 8.75 3200 ;--------------------------------------------- L5064 FCB 37 ; 14.5% MAX PK/NEUT TPS FOR T/F L5065 FCB 64 ; 25.0% MAX DRIVE TPS FOR T/F L5066 FCB 37 ; 0.144 COEF PK/NEUT FILT TIME CONST. ;--------------------------------------------- ; FILTERED TPS DELAY TMR Vs. Vss ; ; Dissassemby of BDWM ; ; TBL = SEC'S * 40 ;--------------------------------------------- ORG $5067 ; Sec's MPH ;----------------------------- L5067 FCB 8 ; 0.20 0 L5068 FCB 30 ; 0.75 8 L5069 FCB 40 ; 1.00 16 L506A FCB 60 ; 1.50 24 L506B FCB 60 ; 1.50 32 L506C FCB 60 ; 1.50 40 L506D FCB 60 ; 1.50 48 L506E FCB 60 ; 1.50 56 L506F FCB 60 ; 1.50 64 L5070 FCB 60 ; 1.50 72 L5071 FCB 60 ; 1.50 80 ;--------------------------------------------- ;--------------------------------------------- ; FILTERED TPS FILT COEF Vs. Vss ; ; Dissassemby of BDWM ; ; ; TBL = FILT COEF * 256 ;--------------------------------------------- ORG $5072 ; COEF MPH ;--------------------------------- L5072 FCB 20 ; 0.78 0 L5073 FCB 12 ; 0.47 8 L5074 FCB 5 ; 0.20 16 L5075 FCB 5 ; 0.20 24 L5076 FCB 5 ; 0.20 32 L5077 FCB 5 ; 0.20 40 L5078 FCB 5 ; 0.20 48 L5079 FCB 5 ; 0.20 56 L507A FCB 5 ; 0.20 64 L507B FCB 5 ; 0.20 72 L507C FCB 5 ; 0.20 80 ;--------------------------------------------- ;--------------------------------------------- L507D FCB 4 ; 1.6% FLOW, T/F HYST L507E FCB 20 ; 26.3 Kpa MIN MAP FOR MOD'ING FILT COEF L507F FCB 128 ; 0.5 ;--------------------------------------------- ;--------------------------------------------- ; IAC EXTENDED THROTTLE CRACKER TPS FOLLOWER ; MIN VAL'S Vs. COOL ; ; Dissassemby of BDWM ; ; SEE L5096 FOR TBL MODIFIER ; ; TBL = 2.56 * 4 * %TF TPS ;--------------------------------------------- ORG $5080 ; %TF TPS DEG c COOL ;--------------------------------- L5080 FCB 24 ; 2.3 -28 L5081 FCB 24 ; 2.3 -16 L5082 FCB 24 ; 2.3 -4 L5083 FCB 24 ; 2.3 8 L5084 FCB 24 ; 2.3 20 L5085 FCB 24 ; 2.3 32 L5086 FCB 24 ; 2.3 44 L5087 FCB 24 ; 2.3 56 L5088 FCB 24 ; 2.3 68 L5089 FCB 24 ; 2.3 80 L508A FCB 24 ; 2.3 92 L508B FCB 24 ; 2.3 104 L508C FCB 28 ; 2.7 116 ;--------------------------------------------- ;--------------------------------------------- ; EXTENDED THROTLE CRACKER CALIB'S ; ;--------------------------------------------- L508D FCB 40 ; 4 Sec's HOLD HI 4 SEC'S AFTER CLOSING TPS L508E FCB 3 ; 1.0% FLOW, IGN OFF, DRIVE & A/C OFF L508F FCB 6 ; 2.3% FLOW, IGN OFF, DRIVE & A/C ON ;--------------------------------------------- ;--------------------------------------------- ; SPECIAL IDLE AIR MODIFIERS PRIOR TO CAT LITE OFF ; ;--------------------------------------------- ;--------------------------------------------- ; COLD ENGINE MODE IAC MODIFIERS ; (Extended throttle cracker) ; ; USED BY NON CAT CAL'S TO REDUCE Hc ON ; ETC COLD ENGINE TEST ;--------------------------------------------- ;------------------ ; COOLANT WINDOW ;------------------ L5090 FCB 73 ; 15 Deg c, START UP COOL FOR COLD ENG MODE L5091 FCB 113 ; 45 Deg c, START UP COOL FOR COLD ENG MODE ; L5092 FDB 0350 ; 350 SEC'S MOD'ED THROT FOLLOWER RUN TIME ; Max cold eng time) ; L5094 FCB 218 ; 85% EXTENDED THROTTLE CRACKER MODIFIER FACTOR L5095 FCB 220 ; 86% EXTENDED THROTTLE CRACKER MODIFIER L5096 FCB 85 ; 1.33 EXTENDED THROTTLE CRACKER IF IN COLD MODE ; MOD TBL L5078 BY THIS FACTOR ; L5097 FCB 86 ; 1.34 EXTENDED THROTTLE CRACKER ;--------------------------------------------- ********************************************** * END OF IAC CALIBRATIONS * ********************************************** ********************************************** * ACCEL ENRICHMENT PWR ENRICH, * DECEL CUT OFF CALIB'S * ********************************************** ;--------------------------------------------- ; Acell Enrich Vs. Diff IAC %Flow ; ; Dissassemby of BDWM, ; ; TBL = 16.384 * Msec ;--------------------------------------------- L5098 FCB 4 ; 5 LINE TBL ; ; usec %Flow ;--------------------------------- L5099 FCB 0 ; 0 0.00 L509A FCB 1 ; 60 6.25 L509B FCB 5 ; 300 12.50 L509C FCB 10 ; 600 18.75 L509D FCB 15 ; 900 25.00 ;--------------------------------------------- ;--------------------- ; Fuel Enrich window ;--------------------- L509E FCB 5 ; 1.9% Flow Thresh for enable Acell Enr fuel <----<<<< L509F FCB 10 ; 3.9% Flow Thresh for disable Acell Enr fuel ; L50A0 FDB 65535 ; 99.998% flow, Max IAC % flow in Pwr Enrich ; Used by TBI sys to shut down IAC near WOT ; to improve air fuel dist on dyno ; L50A2 FCB 0 ; 0 % flow bias for Tbl L509B ;--------------------------------------------- ;--------------------------------------------- ; ADDITIONAL AIR ADDED Vs. RPM ; (IF DECEL FUEL CUT IS ON) ; ; DECAYED TO 0 AFTER DECEL FUEL CUT IS ENDED ; ; Dissassemby of BDWM ; ; TBL = 2.56 * %FLOW ;--------------------------------------------- ORG $50A3 ; %Flow RPM ;--------------------------------- L50A3 FCB 8 ; 3.1 0 L50A4 FCB 46 ; 18.0 400 L50A5 FCB 46 ; 18.0 800 L50A6 FCB 51 ; 19.9 1200 L50A7 FCB 62 ; 24.2 1600 L50A8 FCB 66 ; 25.8 2000 L50A9 FCB 72 ; 28.1 2400 L50AA FCB 77 ; 30.1 2800 L50AB FCB 82 ; 32.0 3200 L50AC FCB 90 ; 35.2 3600 L50AD FCB 96 ; 37.5 4000 L50AE FCB 96 ; 37.5 4400 L50AF FCB 96 ; 37.5 4800 L50B0 FCB 96 ; 37.5 5200 L50B1 FCB 96 ; 37.5 5600 L50B2 FCB 96 ; 37.5 6000 L50B3 FCB 96 ; 37.5 6400 ;--------------------------------------------- L50B4 FCB 4 ; 16% Flow/Sec Decay amount L50B5 FCB 3 ; 300 msec's decay rate ;--------------------------------------------- ****************************** * DIAG ALDL, IAC RESET ****************************** L50B6 FCB 9 ; 113 RPM, IF CLS LP IDLE ON AND ; REQUESTED RPM - RPM LT 113 SET ERR 35 ; L50B7 FCB 150 ; 30 sec's ERR 35 TIME THRESH L50B8 FCB 167 ; 85 deg c IAC HI OUT OF POSIT COOL THRESH ; L50B9 FCB 166 ; 65% FLOW MAX IDLE INTEGRAL FOR NO A/C L50BA FCB 255 ; 99.6% FLOW MAX IDLE INTEGRAL FOR A/C ON ; L50BB FCB 8 ; 100 RPM IAC LOW OUT OF POSIT RPM ERR THRESH L50BC FCB 12 ; 10 STEPS/SEC IAC OUT OF POSIT RATE COUNTER ;------------------------------ ****************************** * THROTTLE KICKER ****************************** L50BD FCB 0 ;-40 deg C, max temp thresh for throttle kicker L50BE FCB 0 ; 0% FLOW TO ACCOUNT FOR AIR FLOW IN CALC L50BF FCB 0 ; 1 FACTOR L50C0 FCB 0 ; 0 MPH Vs. MAX FOR THROTTLE KICKER L50C1 FCB 0 ; 0% TPS MAX FOR THROTTLE KICKER L50C2 FCB 0 ; 0 Sec, MAX RUN TIME FOR THROTTLE KICKER ;--------------------- ; BARO THRESH WINDOW ;--------------------- L50C3 FCB 0 ;0 kPa, threshold to L50C4 FCB 0 ;0 kPa, threshold to disable throttle kicker ; L50C5 FCB 0 ; 0 RPM FOR DISABING THROTTLE KICKER IF IN DRIVE L50C6 FCB 0 ; 0 RPM FOR DISABING THROTTLE KICKER IF IN PK/NEUT ; L50C7 FCB 0 ; 0 RPM FOR DISABING THROTTLE KICKER IF IN DRIVE L50C8 FCB 0 ; 0 RPM FOR DISABING THROTTLE KICKER IF IN PK/NEUT ; L50C9 FCB 0 ; 0 sec's, HYST TIME IF RE-ENBLED MUST STAY ON L50CA FCB 0 ;Default A/D TPS if non.-vol. ram fails L50CB FCB 0 ; 0 A/D, TPS COMP FOR TPS OFFSET WHEN TPS RE-ENABLED L50CC FCB 0 ; 0 A/D, TPS MIN DIFF FOR ENABLE ; L50CD FCB 10 ; 10 sec's, HYST TIME KICKER MUST BE OFF TO BR RE-ENABLED ; ;~~~~~~~~~~~~~~~~~ ;-Governor params ;~~~~~~~~~~~~~~~~~ ; L50CE FCB 0 ; 0 RPM DESIRED RPM ; RPM * 25 ; L50CF FCB 0 ; 0 RPM LO GOVER DISABLE WHEN CLS LP GOV ; & ACTUATOR IS OFF ; L50D0 FCB 0 ;0 MPH, MPH threshold for governor (0 = No MPH governing) L50D1 FCB 0 ;0 MPH, Governor MPH error threshold to exit MPH governing L50D2 FCB 0 ; 0 RPM, GOV OVER SPD LIGHT ON ; L50D3 FCB 0 ;RPM prop. gain term L50D4 FCB 0 ;MPH prop. gain term ; L50D5 FCB 0 ;Desired TPS integral gain term for MPH overspeed L50D6 FCB 0 ;Desired TPS integral gain term for RPM overspeed ; L50D7 FCB 0 ; 0% MAX DESIRED TPS% AT LEAD MODE START L50D8 FCB 0 ;Min desired TPS for overspeed ; L50D9 FCB 0 ; 0% MAX DESIRED TPS% AT LEAD MODE ; L50DA FCB 0 ;Filter coeff for governor rpm ; L50DB FCB 0 ;TPS threshold for return gain factors L50DC FCB 0 ;High desired TPS return gain L50DD FCB 0 ;Low desired TPS return gain ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Governor integral gain factor vs desired TPS output ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L50DE FCB 64 ;50% TPS, upper limit ; ; gain ;%TPS ; FCB 0 ; 0.0 FCB 0 ;12.5 FCB 0 ;25.0 FCB 0 ;37.5 FCB 0 ;50.0 ; ;--------------------------------------------- ; LEAD RPM Vs. RPM/SEC ; ; ; ; TBL = GAIN FACTOR * 32 ;--------------------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; L50E4 FCB 80 ; TBL MULTIPLIER ; ; RPM RPM/Sec ;--------------------------------- L50E5 FCB 0 ; 0.0 0 L50E6 FCB 0 ; 0.0 400 L50E7 FCB 0 ; 0.0 800 L50E8 FCB 0 ; 0.0 1200 L50E9 FCB 0 ; 0.0 1600 L50EA FCB 0 ; 0.0 2000 L50EB FCB 0 ; 0.0 2400 L50EC FCB 0 ; 0.0 2800 L50ED FCB 0 ; 0.0 3200 L50EE FCB 0 ; 0.0 3600 L50EF FCB 0 ; 0.0 4000 ;--------------------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Governor, TPS derivative gain vs. cool temp ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; gain ;Deg C ; L50F0 FCB 0 ;-40 L50F1 FCB 0 ;-16 L50F2 FCB 0 ; 8 L50F3 FCB 0 ; 32 L50F4 FCB 0 ; 56 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Governor actuator proportional gain vs. TPS error ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L50F5 FCB 8 ;9 lines ; ; gain ;%TPS error ; FCB 0 ; 0.0 FCB 0 ; 12.5 FCB 0 ; 25.0 FCB 0 ; 37.5 FCB 0 ; 50.0 FCB 0 ; 62.5 FCB 0 ; 75.0 FCB 0 ; 87.5 FCB 0 ;100.0 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Governor actuator integral gain vs. TPS error ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L50FF FCB 8 ;9 lines ; ; gain ;%TPS error ; L5100 FCB 0 ; 0.0 FCB 0 ; 12.5 FCB 0 ; 25.0 FCB 0 ; 37.5 FCB 0 ; 50.0 FCB 0 ; 62.5 FCB 0 ; 75.0 FCB 0 ; 87.5 FCB 0 ;100.0 ; ********************************************** * MANUAL XMISSION & TH700R4 * * SHIFT LIGHT PARAMS ********************************************** ;--------------------------------------------- ; HIGH ET RATIOS FOR ; ; UPPER ENG RPM/TRANS RPM OF A PAIR USED ; ESTABLISH CORRECT GEAR RANGE FOR SPECIFIED GEAR ; TO SET SHIFT LIGHT TRIP POINT ;--------------------------------------------- L5109 FCB 37 ; 3.7 RPM/RPM FOR 1st GEAR L510A FCB 21 ; 2.1 RPM/RPM FOR 2nd GEAR L510B FCB 12 ; 1.2 RPM/RPM FOR 3rd GEAR L510C FCB 9 ; 0.9 RPM/RPM FOR 4th GEAR ;--------------------------------------------- ;--------------------------------------------- ; MIN RPM'S FOR ALLOWING ; SHIFT LIGHT ;--------------------------------------------- L510D FCB 64 ; 1600 RPM 1st GEAR L510E FCB 64 ; 1600 RPM 2nd GEAR L510F FCB 56 ; 1400 RPM 3rd GEAR L5110 FCB 55 ; 1375 RPM 4th GEAR ;--------------------------------------------- ;--------------------------------------------- ; TPS ADJ FACTOR IN SPEC GEAR ; 0 - 2 MULT TO ADJ TPS REL TO SPECIFIC GEAR ; (HI TPS TEST) ;--------------------------------------------- L5111 FCB 90 ; 0.70 FACTOR, 1st GEAR L5112 FCB 128 ; 1.00 FACTOR, 2nd GEAR L5113 FCB 128 ; 1.00 FACTOR, 3rd GEAR L5114 FCB 141 ; 1.10 FACTOR, 4th GEAR ;--------------------------------------------- ;--------------------------------------------- ; TH700R4, (NON-ELECTRONIC) ; ;--------------------------------------------- L5115 FCB 73 ; 15 Deg c ; L5116 FCB 8 ; IF TPS % L.T. 3% & LOWER GEARS, TURN OFF LIGHT L5117 FCB 8 ; IF TPS % L.T. 3% & HIGHER GEARS, TURN OFF LIGHT ; L5118 FCB 180 ; IF RPM G.T. 4500 RPM LIGHT ON NOW! ; L5119 FCB 10 ; 1.0 SEC LO GR DELAY PRIOR TO SHFT LIGHT L511A FCB 15 ; 1.5 SEC HI GR DELAY PRIOR TO SHFT LIGHT ;--------------------------------------------- ;--------------------------------------------- ; LOAD LMT Vs. RPM ; TH700R4, (NON-ELECTRONIC) ; USED BY UPSHIFT LIGHT CODE TO GET A TPS THRESH ; ; Dissassemby of BDWM ; ; TBL = %FULL LD * 2.56 ;--------------------------------------------- ORG $511B ; %FULL LD RPM ;--------------------------------- L511B FCB 38 ; 14.8 1000 L511C FCB 38 ; 14.8 1400 L511D FCB 43 ; 16.8 1800 L511E FCB 66 ; 25.8 2200 L511F FCB 89 ; 34.8 2600 L5120 FCB 112 ; 43.8 3000 L5121 FCB 132 ; 51.6 3400 L5122 FCB 204 ; 79.7 3800 L5123 FCB 255 ; 99.6 4200 L5124 FCB 255 ; 99.6 4600 L5125 FCB 255 ; 99.6 5000 ;--------------------------------------------- ;--------------------------------------------- ; LOAD LMT Vs. RPM ; TH700R4, (NON-ELECTRONIC) ; USED BY UPSHIFT LIGHT CODE TO GET A TPS THRESH ; ; Dissassemby of BDWM ; ; TBL = %FULL LD * 2.56 ;--------------------------------------------- L5126 FCB 26 ; 10.2 1000 L5127 FCB 26 ; 10.2 1400 L5128 FCB 31 ; 12.1 1800 L5129 FCB 54 ; 21.1 2200 L512A FCB 77 ; 30.1 2600 L512B FCB 100 ; 39.1 3000 L512C FCB 120 ; 46.9 3400 L512D FCB 192 ; 75.0 3800 L512E FCB 243 ; 94.9 4200 L512F FCB 255 ; 99.6 4600 L5130 FCB 255 ; 99.6 5000 ;--------------------------------------------- ;--------------------------------------------- ; LOAD LMT Vs. RPM ; TH700R4, (NON-ELECTRONIC) ; USED BY UPSHIFT LIGHT CODE TO GET A TPS THRESH ; ; Dissassemby of BDWM ; ; TBL = %FULL LD * 2.56 ;--------------------------------------------- ORG $5131 ; %FULL LD RPM ;--------------------------------- L5131 FCB 43 ; 16.8 1000 L5132 FCB 43 ; 16.8 1400 L5133 FCB 71 ; 27.7 1800 L5134 FCB 102 ; 39.8 2200 L5135 FCB 130 ; 50.8 2600 L5136 FCB 178 ; 69.5 3000 L5137 FCB 208 ; 81.3 3400 L5138 FCB 230 ; 89.8 3800 L5139 FCB 242 ; 94.5 4200 L513A FCB 255 ; 99.6 4600 L513B FCB 255 ; 99.6 5000 ;--------------------------------------------- ;--------------------------------------------- ; LOAD LMT Vs. RPM ; TH700R4, (NON-ELECTRONIC) ; USED BY UPSHIFT LIGHT CODE TO GET A TPS THRESH ; ; Dissassemby of BDWM ; ; TBL = %FULL LD * 2.56 ;--------------------------------------------- ORG $513C ; %FULL LD RPM ;--------------------------------- L513C FCB 31 ; 12.1 1000 L513D FCB 41 ; 16.0 1400 L513E FCB 59 ; 23.0 1800 L513F FCB 90 ; 35.2 2200 L5140 FCB 118 ; 46.1 2600 L5141 FCB 166 ; 64.8 3000 L5142 FCB 192 ; 75.0 3400 L5143 FCB 218 ; 85.2 3800 L5144 FCB 230 ; 89.8 4200 L5145 FCB 255 ; 99.6 4600 L5146 FCB 255 ; 99.6 5000 ;--------------------------------------------- ;--------------------------------------------- ; BARO CORRECTION TO TBL'S L5113 th L513E (ABOVE) ; TH700R4, (NON-ELECTRONIC) ; Dissassemby of BDWM ; ; TBL = 128 * FACTOR ;--------------------------------------------- ORG $5147 ; FACTOR BARO Kpa ;--------------------------------- L5147 FCB 109 ; 0.9 75 L5148 FCB 115 ; 0.9 85 L5149 FCB 128 ; 1.0 95 L514A FCB 128 ; 1.0 105 ;--------------------------------------------- ;--------------------------------------------- ; XMISSION ABUSE TESTS ; TH700R4, (Non-electronic) ;--------------------------------------------- L514B FCB 40 ; 500 msec XMISH ABUSE CHECK PERIOD L514C FCB 3 ; 3 MPH, MIN Vss FOR ABUSE TEST L514D FCB 255 ; IF ABUSE TEST NO ENABLED, ENABLE ABOVE 4775 RPM L514E FCB 255 ; 4775 RPM MAX Vss FOR ABUSE TEST L514F FCB 51 ; 20% TPS MIN FOR ABUSE TEST ;--------------------------------------------- ; L5150 FCB 140 ;65 deg C, lower temp limit for TCC lockup L5151 FCB 5 ;2% TPS hyst. if TCC locked, used with table L515E ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Delta TPS TCC limits to lock ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L5152 FCB 54 ;-.21% TPS/msec, throttle closing limit L5153 FCB 45 ;.176% TPS/msec, throttle opening limit ; ;~~~~~~~~~~~~~~~~~~ ;-TCC relock delay ;~~~~~~~~~~~~~~~~~~ ; L5154 FCB 20 ;2 sec delay to relock after quals not met L5155 FCB 25 ;2.5 sec coast relock delay ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Manditory lockup thresholds ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L5156 FCB 82 ;82 MPH, threshold to lock TCC L5157 FCB 79 ;79 MPH, threshold to unlock TCC after mand. lockup ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-RPM thresholds for TCC lockup ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; RPM/12.5 ; L5158 FCB 0 ;0 rpm, limit for TCC to remain locked L5159 FCB 0 ;0 rpm, limit for TCC to lock ; ;~~~~~~~~~~~~~~~~~~~~ ;-TCC MPH thresholds ;~~~~~~~~~~~~~~~~~~~~ ; ;-No A/C ; L515A FCB 30 ;30 mph, lower threshold for TCC to lock L515B FCB 28 ;28 mph, lower threshold for TCC to remain locked ; ;-A/C ; L515C FCB 35 ;35 mph, lower threshold for TCC to lock L515D FCB 33 ;33 mph, lower threshold for TCC to remain locked ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Lower load limit for TCC to lock vs mph ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; %TPS = val x .391 ;MPH ; L515E FCB 13 ; 0 FCB 13 ;10 FCB 13 ;20 FCB 13 ;30 FCB 17 ;40 FCB 20 ;50 FCB 22 ;60 FCB 23 ;70 FCB 23 ;80 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Upper load limit for TCC to remain locked vs MPH ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; %TPS = val x .391 ;MPH ; L5167 FCB 64 ;20 FCB 64 ;25 FCB 73 ;30 FCB 87 ;35 FCB 110 ;40 FCB 128 ;45 FCB 140 ;50 FCB 158 ;55 FCB 158 ;60 FCB 158 ;65 FCB 158 ;70 FCB 158 ;75 FCB 158 ;80 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Upper load limit for TCC to lock vs MPH ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; %TPS = val x .391 ;MPH ; L5174 FCB 51 ;20 FCB 51 ;25 FCB 57 ;30 FCB 64 ;35 FCB 72 ;40 FCB 88 ;45 FCB 96 ;50 FCB 128 ;55 FCB 128 ;60 FCB 128 ;65 FCB 128 ;70 FCB 128 ;75 FCB 128 ;80 ; ;~~~~~~~~~~~~~ ;-VATS params ;~~~~~~~~~~~~~ ; ; VATS period (msecs) = val x 7.63 x 10^-3 ; L5181 FDB 4680 ;35.71 msec, 28 Hz, lower freq. limit L5183 FDB 4096 ;31.25 msec, 32 Hz, upper freq. limit ; ********************************************** * $0D (BDWM) 8192 SERIAL DATA DCB'S * PCM P/N 16196395, S/S BY PCM 16197427 * ********************************************** ********************************************** * $0D (BDWM) REMOTE BROADCAST MODE * ********************************************** ORG $5185 ;--------------------------------------------- ; REMOTE MESSAGE SCHEDULE TABLE ; (POLLING FORMAT) ; ; (1 FOR EACH MINOR LOOP) ; ; 0000 ADDRESS'S ARE IGNNORED BY PGM ;--------------------------------------------- L5185 FDB 0000 ; 0, SEGMENT 0 L5187 FDB 0000 ; 1, L5189 FDB 0000 ; 2, L518B FDB 0000 ; 3, L518D FDB 0000 ; 4, L518F FDB 0000 ; 5, L5191 FDB 0000 ; 6, L5193 FDB 0000 ; 7, L5195 FDB 0000 ; 8, L5197 FDB 0000 ; 9, L5199 FDB 0000 ; 10, L519B FDB 0000 ; 11, L519D FDB 0000 ; 12, L519F FDB 0000 ; 13, L51A1 FDB 0000 ; 14, L51A3 FDB 0000 ; 15, ;--------------------------------------------- ;--------------------------------------------- ; SCAN TOOL POLLING MESSAGE ; ;--------------------------------------------- L51A5 FDB 0000 ; NEXT MSG ENTRY ADDR ; L51A7 FCB $F0 ; DEVICE CODE ; L51A8 FCB $80 ; MEM FLAG, TBL FM ROM L51A9 FCB 1 ; NUM OF WORDS ; L51AA FDB $036E ; ADD OF OUTPUT BUFFER L51AC FDB $0000 ; ADDR OF INPUT BUFFER ;------------------------- L51AE FCB $51B0 ; ADDR DATA POINTER ; L51B0 FCB $F4 ; ENGINE ID ;----------------------------------------- ******************************************* * MSG ID $F4 * ******************************************* * 8192 ALDL MESSAGES FOLLOW XDE 5024 STD FORMAT, * ALSO SPECIAL FORMATS PER GM ALDL SPEC 12/14/87 * * THE PCM IS A SLAVE, THUS NO OUTPUTED ALDL * POLL MSG'S. THE PCM RESPONDS TO RX'ED ALDL MSGS * ********************************************** L51B1 FDB 65535 ; 1638.38 SEC'S ENABLE PERIOD ; FOR ALDL MODE 4, CONTROLER MODE ; L51B3 FDB $0000 ; 0 SEC'S PREVENT PERIOD ; FOR ALDL MODE 4, CONTROLER MODE ; *********************************************** * SERIAL DATA MESSAGES * DEVICE ID $F4 * *********************************************** ;---------------------------------------------- ; DEVICE ID $F4 ; ; MSG RX'ED, ANSWER TO ALDL POLLING MSG ; TYPE $0D PCM ;---------------------------------------------- L51B5 FCB $539E ; NEXT ENRTY ADDRESS ; L51B7 FCB $F4 ; DEVICE ID ; L51B8 FCB $00 ; MEM FLG, NONE L51B9 FCB 128 ; NUM BYTES TO TX ; L51BA FCB $036E ; ADDR OF OUTPUT BUFFER L51BC FCB $036E ; ADDR OF INPUT BUFFER ; L51BE FDB $51D6 ; 0, DEVICE ID $F4, MODE 0, RESET NORMAL COMM L51C0 FDB $51E5 ; 1, DEVICE ID $F4, MODE 1, SCAN DATA L51C2 FDB $537A ; 2, DEVICE ID $F4, MODE 2, 64 ADDR MEM DUMP L51C4 FDB $5383 ; 3, DEVICE ID $F4, MODE 3, SEQUENTIAL 8 ADDR MEM DUMP L51C6 FDB $538C ; 4, DEVICE ID $F4, MODE 4, CONTROLER MODE L51C8 FDB $0000 ; 5, not used L51CA FDB $0000 ; 6, not used L51CC FDB $0000 ; 7, not used L51CE FDB $0000 ; 8, not used L51D0 FDB $0000 ; 9, not used L51D2 FDB $5395 ; 10, DEVICE ID $F4, MODE 10, ALDL ERR RESET L51D4 FDB $0000 ; 11, not used ;---------------------------------------------- ;---------------------------------------------- ; DEVICE ID $F4, MODE 0 ; ; RESET NORMAL COMM ;---------------------------------------------- L51D6 FDB $0000 ; NEXT ENRTY ADDRESS ; L51D8 FCB $F4 ; DEVICE ID ; L51D9 FCB 00 ; MEM FLAY L51DA FCB 1 ; BYTES TO TX ; L51DB FCB $036E ; ADDR OF OUTPUT BUFFER L51DD FCB $036E ; ADDR OF INPUT BUFFER ;---------------------------------------------- ;---------------------------------------------- ; MODE 1 SELECTOR TABLE ; ; ;---------------------------------------------- L51DF FCB $51E5 ; DEVICE ID $F4, MODE 1/0 L51E1 FCB $526C ; DEVICE ID $F4, MODE 1/1 L51E3 FCB $52F3 ; DEVICE ID $F4, MODE 1/2 ;---------------------------------------------- ;---------------------------------------------- ; DEVICE ID $F4, MODE 1/0 ; TYPE $0D PCM P/N 16196395, S/S BY PCM 16197427 ; ; SCAN TOOL DATA ;---------------------------------------------- L51E5 FDB $0000 ; NEXT ENRTY ADDRESS ; L51E7 FCB $F4 ; DEVICE ID ; L51E8 FCB $80 ; MEM FLAG, TBL FROM RAM L51E9 FCB 64 ; BYTES TO TX ; L51EA FCB $036E ; ADDR OF OUTPUT BUFFER L51EC FCB $036E ; ADDR OF INPUT BUFFER ; ;----------------------------- L51EE FCB $4000 ; 1, EPROM ID,MSB L51F0 FCB $4001 ; 2, EPROM ID,LSB ; ;----------------------------- L51F2 FDB $0004 ; 3, NVMW, NON-VOL RAM MODE WD ; ; b7 1 = ERR 42, EST MON ; b6 1 = ERR 24, Vss, (not used) ; b5 1 = IAC KICK DN, (not used) ; b4 1 = HOT RESTART PROCEEDING ; ; b3 1 = BAD SHUT DOWN ; b2 1 = RAM REFRESH ERR OCCOURED ; b1 1 = CLS LP TMR OK ; b0 1 = o2 SENSOR RDY ; ;----------------------------- L51F4 FDB $0036 ; 4 DIACMW2, NON-VOL IDLE CNT'L MD WD ; ; b7 1 = IDLE RPM TO HIGH ; b6 1 = THROTTLE KICKER HAS BEEN DISABLED ONCE ; b5 1 = PW STEER PRESS LOAD IN WORK ; b4 1 = STALL SAVER IN WORK ; ; b3 1 = CLSD LP ON RPM ENABLED ; b2 1 = CLSD LP QUALS MET, (clsd tps & low mph) ; b1 1 = DRIVE, 0 = PK/NEUT ; b0 1 = A/C ON ;----------------------------- L51F6 FDB $0007 ; 5, IAC, PRESSENT MOTOR POSIT ; ; 0 to MAX IAC (typ 145) ;----------------------------- L51F8 FDB $000B ; 6, ERROR WD 1 ; ; b7 1 = ERR 13, o2 SENSOR ; b6 1 = ERR 14, COOL SENSOR, HIGH ; b5 1 = ERR 15, COOL SENSOR, LOW ; b4 1 = ERR 16, Vss BUFFER, (2002 PPM) ; ; b3 1 = ERR 17, RPM SIGNAL PROBLEM (not used) ; b2 1 = ERR 18, CAM CRANK ERROR (not used) ; b1 1 = ERR 19, (not used) ; b0 1 = ERR 21, TPS SENSOR HIGH ;---------------------------- L51FA FDB $000C ; 7, ERROR WD 2 ; ; b7 1 = ERR 22, LOW TPS ; b6 1 = ERR 23, LOW MAT ; b5 1 = ERR 24, LOW OUTPUT SPEED (Vss) ; b4 1 = ERR 25, MAT SENSOR HIGH ; ; b3 1 = ERR 26, (not used) ; b2 1 = ERR 27, (not used) ; b1 1 = ERR 28, PRESS SW MANIFOLD ; b0 1 = ERR 29, (not used) ;----------------------------- L51FC FDB $000D ; 8, ERR MD WD 3 ; ; b7 1 = ERR 31, GOVENOR ; b6 1 = ERR 32, EGR ERROR ; b5 1 = ERR 33, MAP SENSOR HI ; b4 1 = ERR 34, MAP SNENSOR LOW ; ; b3 1 = ERR 35, IAC ERROR ; b2 1 = ERR 36, IAC THROTTLE KICKER FAIL (not used) ; b1 1 = ERR 37, TCC BRAKE SW STUCK ON ; b0 1 = ERR 38, TCC BRAKE SW STUCK OFF ;----------------------------- L51FE FDB $000E ; 9, ERR WD 4 ; ; b7 1 = ERR 39, TCC STUCK OFF ; b6 1 = ERR 41, 1x CAM SENSOR FAIL ; b5 1 = ERR 42, IGN ERROR (EST) ; b4 1 = ERR 43, KNOCK SENSOR CKT ; ; b3 1 = ERR 44, o2 SENSOR LEAN ; b2 1 = ERR 45, o2 SENSOR RICH ; b1 1 = ERR 46, VATS FAIL ; b0 1 = ERR 47, (not used) ;----------------------------- L5200 FDB $000F ; 10, ERR WD 5 ; ; b7 1 = ERR 48, (not used) ; b6 1 = ERR 49, (not used) ; b5 1 = ERR 51, EPROM ERROR ; b4 1 = ERR 52, SYS VDC HI-LONG TEST ; ; b3 1 = ERR 53, HI SYS VOLTAGE ; b2 1 = ERR 54, LOW FUEL PUMP VDV ; b1 1 = ERR 55, FAULTY COMPUTER (ADU) ; b0 1 = ERR 56, QUAD DRIVER B FAULT (not used) ;----------------------------- L5202 FDB $0008 ; 11, IAC MOTOR ; KEEP ALIVE, MIN IAC ;----------------------------- L5204 FDB $0009 ; 12, DIACMCW1, IDLE AIR CNT'L NV MODE WD ; ; b7 (not used) ; b6 = 1st PASS OF ERR 36 HAS FAILED ; b5 = WARM IDLE STABLE, A/C ON ; b4 = WARM IDLE STABLE, A/C OFF ; ; b3 (not used) ; b2 = R/S REQUESTED IF BIT CLEAR ; b1 = 1st DRIVE AWAY FLAG FOR IAC KICK DOWN LOG ; b0 = IAC MOTOR Reset IN WORK ;----------------------------- l5206 FDB $000A ; 13, DIACMCW2, IDLE AIR CNT'L MODE WD ; ; b7 1 = (not used) ; b6 1 = (not used) ; b5 1 = (not used) ; b4 1 = STEPPER MOTOR 1=ON/0=OFF ; ; b3 1 = COIL B STATE ON ; b2 1 = COIL A STATE ON ; b1 1 = (not used) ; b0 1 = MOTOR DIRECTION, 1=EXTEND ;----------------------------- L5208 FDB $0037 ; 14, DIACMW4 IAC CNT'L MD WD ; ; b7 1 = ADD DERIV TERM TO g/SEC FLOW, (0 = SUB) ; b6 1 = PRORP LIMITING ATHORITY BEING EXERSIZED ; b5 1 = PART 2 OF DIAG TEST TO BE RUN ; b4 1 = THROTTLE KICKER BARO DISABLE REQUESTED ; ; b3 1 = THROTTLE KICKER DISABLE REQUESTED ; b2 1 = THROTTLE KICKER ACTIVE ; b1 1 = ETC * KONST ; b0 1 = ETC ONCE FLAG ;----------------------------- L520A FDB $00A2 ; 15, COOL TEMP ; Deg c = n*.75 - 40 ; (deg F = 1.35N - 40) ;----------------------------- L520C FDB $00A1 ; 16, BATTERY A/D ; VDC/10 ;----------------------------- L520E FDB $00A0 ; 17, TPS A/D ; BIN = VDC * 50 ;----------------------------- L5210 FDB $082E ; 18, A/D MAP VALUE ; BIN = VDC * 50 ;----------------------------- L5212 FDB $01F8 ; 19, o2 VOLTS, (VDC/226) ; ;----------------------------- L5214 FDB $003D ; 20, MWAF, AFR MD WORD 0, ; ; b7 1 = DELIVER ASYNC PULSE ; b6 1 = ACELLL ENR IS ACTIVE ; b5 1 = PWR ENR IS ACTIVE ; b4 1 = DECEL ENLEAN IS ACYIVE ; ; b3 1 = DELAY BLM UPDATE ; b2 1 = BLK LRN ADDR CHANGE 1 = CHANGED ; b1 1 = VATS PASS/FAIL ; b0 1 = PWR ENR ENR FLAG ;----------------------------- L5216 FDB $003B ; 21, SDMW, SERIAL DATA MD WORD ; ; b7 1 = 2nd BYTE 8192 TX IS PENDING ; b6 1 = 8192 TX IN WORK ; b5 1 = 8192 TX OVERRUN ; b4 1 = IN MODE 4, ($F4), (not used) ; ; b3 1 = IN MODE 4, ($F5), (not used) ; b2 1 = XMISH DIAG DISABLED ; b1 1 = MODE 10 ID $F4 ; b0 1 = MODE 10 ID $F5 ;----------------------------- L5218 FDB $0044 ; 22, MWBG, MINOR LOOP MODE WD ; ; b7 1 = LOCKED IN ERR 42A ; b6 1 = 1st GOOD ERR 42A FLAG ; b5 1 = HIGH MAT CONDITIONS OBSERVED ; b4 1 = IGNITION OFF ; ; b3 1 = 1st DRP VALID ; b2 1 = SKIP ERR 43 DUE TO ALDL ; b1 1 = ACELL ENR CLAMP ACTIVE ; ;----------------------------- L521A FDB $004F ; 23, MW1, MINOR LOOP MODE WD 1 ; ; b7 1 = ENGINE RUNNING ; b6 1 = MAJOR LOOP EST MONITOR ENABLE ; b5 1 = VE INT RESET ; b4 1 = RUN FUEL ; ; b3 1 = OPEN TPS VE FLAG ; b2 1 = LOOP OVERRAN 6,25 MS PERIOD ; b1 1 = CHECK ENG LAMP DELAY ; b0 1 = RETARD, 0 = ADVANCE ;------------------------------ L521C FDB $0050 ; 24, MW2, MINOR LOOP MODE WD 2 ; ; b7 1 = IDLE FLAG ; b6 1 = IDLE SPARK ENABLED ; b5 1 = RET PULSE OCCOURED ; b4 1 = DIAG SW IN DIAG POSIT. ; ; b3 1 = DIAG SW IN FACTORY TEST ; b2 1 = DRP OCCOURED 6.25msec TEST ; b1 1 = OPN LOOP IDLE FLG FOR AIR SW ENGAGE AT IDLE ; b0 1 = SYNC MAP SENSOR READS ;----------------------------- L521E FDB $004D ; 25, I/O D PORT C, I/O PORT C ; ; b7 1 = FWD LOW SW (NO) 1=ON ; b6 (not used) ; b5 (not used) ; b4 1 = RANGE SW 3 OFF ; ; b3 1 = RANGE SW 2 OFF ; b2 1 = RANGE SW 1 OFF ; b1 1 = BK SW ON ; b0 1 = A/C REQUEST ON ; ; PRNDL TABLE: ; RANGE1 RANGE2 RANGE3 GEAR ; --------------------------- ; 0 1 1 Low ; 1 1 1 Drive2 ; 1 1 0 Drive3 ; 1 0 0 Drive4 ; 1 0 1 P/N ; 0 0 1 Reverse ; ;----------------------------- L5220 FDB $0046 ; 26, CLCC MW, MAJOR LOOP MODE WD 2 ; ; b7 1 = HAS BEEN IN CLS LP ONCE SINCE START UP ; b6 1 = NON VOL MEM BOMBED ; b5 1 = DECEL FUEL C/O IAC FAST FILTER ; b4 1 = OVERSPEED FUEL SHUT OFF ; ; b3 1 = DECEL FUEL C/O ; b2 1 = AIR MANAGMENT OFF, 1=ON ; b1 1 = SLOW RICH/LEAN, 1 = RICH ; b0 1 = SYNC ACELL ENRICH ;----------------------------- L5222 FDB $0316 ; 27, ADBARO, BARO A/D ; VDC = N x (5/256) ; kPA = (N x 28.06)/2.71 ;----------------------------- L5224 FDB $0041 ; 28, LCCPWM, TCC A/C & EGR MD WD ; ; b7 1 = CCP SOLENOID ON ; b6 (not used) ; b5 1 = PARK/NEUTRAL ; b4 1 = A/C PRESSURE SW, (A/C ON) ; ; b3 1 = A/C ACEL ENR ENABLED ; b2 1 = ; b1 1 = SPK CORRECTION DUE TO MAT IS NEGITIVE ; b0 1 = ADJ ... THE EGR OFFSET BY 2 b0 1 = (not used) ; ;----------------------------- L5226 FDB $003E ; 29, NWAF1, AIR/FUEL MD WD 1 ; ; b7 1 = CLOSED LOOP FLAG ; b6 1 = RICH/ LEAN, 1 = RICH ; b5 1 = CLOSED LOOP FOR O/L IDLE CONDITION ; b4 1 = ASYNC PULSE FLAG ; ; b3 1 = A/F DECAY INT DONE FOR COLD P/D ; b2 1 = LOW BATTERY ; b1 1 = BLM ENABLE ; b0 1 = DECELL FUEL C/O TPS ACEL ENRICH ; ;----------------------------- L5228 FDB $0085 ; 30, TCCMODE, TCC MODE WD ; ; b7 1 = NEG SLIP RECENTLY PREVENTS TCC APPLY ; b6 1 = TCC IS BEING APPLIED ; b5 1 = TCC IS IN LOCK ADJ MODE ; b4 1 = TCC IS IN RELEASE MODE SLIPPING ; ; b3 1 = USE HYST FOR VEHICLE SPEED ; b2 1 = LOW THRESH FOR COPE TCC SELECTED ; b1 1 = TCC ENABLE SOLENIOD VALID ; b0 1 = TCC IS BEING FORCED OFF ; ;----------------------------- L522A FDB $02A7 ; 31, FILTMPH, MPH 0 - 255 MPH ; MPH/1 ; KPH = 1.61 ; ;----------------------------- L522C FDB $004C ; 32, IODPORTB, I/O D PORT B ; ; b7 1 = M/CLR ; b6 1 = REF IRQ CLR ; b5 1 = FORCE MOTOR ENABLE ; b4 1 = IAC ENABLE ; ; b3 1 = IAC COIL B ON ; b2 1 = IAC COIL A ON ; b1 1 = 2 - 3 SOL ON, SHIFT B ; b0 1 = 1 - 2 SOL ON, SHIFT A ; ; ; SHIFT B SHIFT A GEAR ; ---------------------- ; 0 0 3rd ; 0 1 4th ; 1 0 2nd ; 1 1 1st ; ---------------------- ;----------------------------- ; L522E FDB $0055 ; 33, FUEL PUMP ; (VDC/10) ; ;----------------------------- L5230 FDB $0062 ; 34, FUEL PUMP, (BATTERY VOLTS * 10) ; (VDC/10) ;----------------------------- L5232 FDB $3209 ; 35, OLDREFPER, LAST MINOR LP DRP FROM ECU (MSB) L5234 FDB $320A ; uSEC / (15.26 * 256) ; 36, OLDREFPER+1, LAST MINOR LP DRP FROM ECU (LSB) ; uSEC / 15.26 ; ; RPM = 983040(MSB*256)+LSB ; RPM = ((65536 * 120)/8)/CAL ; RPM = 983040/CAL ; ; CAL = 65536 *(120/(RPM * NUM CYL) ;----------------------------- L5236 FDB $01D2 ; 37, EGRDC, EGR D.C ; 256/100 ;----------------------------- L5238 FDB $0051 ; 38, MISC MODE WD ; ; b7 1 = TRANSITION FLAG (1 = TRANSITION IN WORK) ; b6 1 = START UP SPARK FILTER DONE ; b5 1 = DECEL FUEL C/P SPARK FILTER ; b4 1 = HIGH BATTERY VOLTAGE ; ; b3 1 = POWER DOWN IN WORK ; b2 1 = RETEST RAM IN BACKGROUND ; b1 1 = SINGLE FIRE 1st TIME ; b0 1 = CPI/PFI SINGLE FIRE, (1 S/F) ;----------------------------- L523A FDB $30F8 ; 39, TIMEENG, ENGINE RUNNING TIME SEC L523C FDB $30F9 ; 40, TIMEENG+1, ; SEC/1 (16 BIT VALUE) ; SEC = (MSB * 256) + LSB)) ; ;----------------------------- L523E FDB $0857 ; 41, DESSPD, DESIRED IDLE RPM/12.5 ; ;----------------------------- L5240 FDB $0197 ; 42, NDTHROPS, TPS FOR ENGINE ; (CURRENT NON-DEAULT VALUE) ; % * 2.56 ;----------------------------- L5242 FDB $0052 ; 43, MODE WD 4 ; ; b7 1 = QUAIS CLSD LP ENABLED ; b6 1 = CAT OVER TEMP ; b5 1 = A/C ANTICIPATING TO BE ON ; b4 1 = A/C DISABLED DUE TO HIGH RPM ; ; b3 1 = VARIABLE TUNING CNT'L ; b2 1 = TPS CLOSED, (FOR BLM) ; b1 1 = ZERO ACTIVITY FLAG (LO OCTANE) ; b0 1 = HIGH KNOCK ACTIVITY ;----------------------------- L5244 FDB $0053 ; 44, MODE WD 5 ; ; b7 (not used) ; b6 1 = SINGLE FIRE ALT EXIT IS DESIRED ; b5 1 = A INJECTOR FIRED AT 1st DRP ; b4 1 = PWR STEER CRAMP STALL SAVER ; ; b3 1 = HI RPM INDICATED BY XMISH (ABUSE LOGIC) ; b2 1 = SHIFT LIGHT ON ; b1 1 = DLATCH ACTIVE ; b0 1 = ACTUAL ENGINE RPM OVER DESIRED RPM ;----------------------------- L5246 FDB $3213 ; 45, SAREFFNL FINAL VALUE OF SAREF (MSB) L5248 FDB $3214 ; 46, SAREFFNL+1 FINAL VALUE OF SAREF (LSB) ; DEG = N /(256/90) ;----------------------------- L524A FDB $3226 ; 47, PA2OLD, CPU PA1 KNOCK COUNTS FM LAST MINOR LP, (MSB) L524C FDB $3227 ; 48, PA2OLD, CPU PA1 KNOCK COUNTS FM LAST MINOR LP, (LSB) ; ;----------------------------- L524E FDB $0232 ; 49, INT, CLS LP INTEGRATOR COUNTS ; ; 0 - 255 ;----------------------------- L5250 FDB $02BC ; 50, DESTPS, DESIRED GOVENERING TPS TO BE OUTPUT ; % * 256/100 ; ;----------------------------- L5252 FDB $0298 ; 51, ALDLCNTR, ALDL RICH LEAN CHAGE COUNTER ; COUNTS ;----------------------------- L5254 FDB $006E ; 52, EGR MD WD ; ; b7 1 = EGR ON ; b6 1 = ERG MPH HYST ; b5 1 = EGR TPS HYST ; b4 1 = EGR MAP HYST ; ; b3 1 = ACELL ENR 1st TIME ; b2 1 = EGR HI VAC HYST ; b1 1 = BURST KNOCK ACTIVE ; b0 1 = EGR DIAG INT RESET ;----------------------------- L5256 FDB $0075 ; 53, GOVMW, ELECTRONIC GOVENOR MD WD ; ; b7 1 = IN MPH GOVENOR ; b6 1 = MPH OVERSPEED ; b5 1 = ; b4 1 = RPM LEAD TPS RETURN ; ; b3 1 = OVERSPEED LIGHT ON ; b2 1 = RPM OVERSPEED ; b1 1 = GOV LEAD MODE ANTICP RPM GOV'ING ; b0 1 = IN RPM GOV ;--------------------------- L5258 FDB $026A ; 54, BLM CELL NUM ; (0 - 16) ;--------------------------- L525A FDB $026B ; 55, BLM MULTIPLIER * 128 ; ;--------------------------- L525C FDB $022F ; 56, NOCKRTD, KNOCK RETARD ; DEG = 45N/256 ; (E6 = AFR RATIO * 10) ;--------------------------- L525E FDB $326F ; 57, INJ PW, MSB L5260 FDB $3270 ; 58, INJ PW, LSB ; ; (MSB*256) + LSB))/65.536 ; ; MSEC/65.536 ;----------------------------- L5262 FDB $01D1 ; 59, DSEGRPOS, DESIRED EGR CMD, ; % * 2.56 ;----------------------------- L5264 FDB $01DC ; 60, CCP DUTY CYCLE ; %/2.56 ;----------------------------- L5266 FDB $01D7 ; 61, AEGRPOS LINEAR EGR POS ; (A/D VAL) ;----------------------------- L5268 FDB $01F9 ; 62, PURGEDC, PURGE D.C ; % * 2.56 ;----------------------------- L526A FDB $0855 ; 63, MATDEGA, NON DEFAULTED MAT ; N= (DEG C - 40) * 256/192 ; N= (DEG C - 40) * 256/192 ;------------------------------ ;--------------------------------------------- ;--------------------------------------------- ; DEVICE ID $F4, MODE 1/1 ; ; 03-05-1996 Dissassemby of BDWM ; ;--------------------------------------------- L526C FDB $0000 ; NEXT ENRTY ADDRESS ; L526E FCB $F4 ; DEVICE ID ; FCB $80 ; MEM FLAG, FORM RPM TBL L5270 FDB 64 ; NUM OF BYTES TO TX ; L5272 FDB $036E ; ADDR OF OUTPUT BUFFER L5274 FDB $036E ; ADDR OF INPUT BUFFER ;--------------------------------------------- ;----------------------------- L5275 FDB $003D ; 1, AFR MD WORD 0, ; ; b7 1 = DELIVER ASYNC PULSE ; b6 1 = ACELLL ENR IS ACTIVE ; b5 1 = PWR ENR IS ACTIVE ; b4 1 = DECEL ENLEAN IS ACYIVE ; ; b3 1 = DELAY BLM UPDATE ; b2 1 = BLK LRN ADDR CHANGE 1 = CHANGED ; b1 1 = VATS PASS/FAIL ; b0 1 = PWR ENR ENR FLAG ;----------------------------- L5277 FDB $01F8 ; 2, o2 VOLTS, (VDC/226) ; ;----------------------------- L5279 FDB $003E ; 3, AFR MD WD 1 ; ; b7 1 = CLOSED LOOP FLAG ; b6 1 = RICH/ LEAN, 1 = RICH ; b5 1 = CLOSED LOOP FOR O/L IDLE CONDITION ; b4 1 = ASYNC PULSE FLAG ; ; b3 1 = A/F DECAY INT DONE FOR COLD P/D ; b2 1 = LOW BATTERY ; b1 1 = BLM ENABLE ; b0 1 = DECELL FUEL C/O TPS ACEL ENRICH ; ;----------------------------- L527B FDB $02EB ; 4, "CHOKE" AFR VALUE L527D FDB $0315 ; 5, ;----------------------------- L527F FDB $00A2 ; 6, COOL TEMP ; Deg c = n*.75 - 40 ; (deg F = 1.35N - 40) ;----------------------------- L5281 FDB $0262 ; 7, L5283 FDB $087F ; 8, Acell Enrich PW ADDER L5285 FDB $0261 ; 9, L5287 FDB $02EE ; 10, SPK L5289 FDB $025E ; 11, ;----------------------------- L528B FDB $026D ; 12, AFR ; ;----------------------------- L528D FDB $01EF ; 13, BARO L528F FDB $01EA ; 14, OLD MAP L5291 FDB $01FF ; 15, OLD TPS ;---------------------------- L5293 FDB $026B ; 16, BLM ; ;---------------------------- L5295 FDB $026A ; 18, BLM CELL NUM ; (0 - 16) ;--------------------------- L5297 FDB $0036 ; 19, IAC DIAG MD WD 3 ; ; b7 1 = ADD DERIV TERM TO g/SEF FLOW ; b6 1 = PRORP LIMITING ATHORITY BEING EXERSIZED ; b5 1 = PART 2 OF DIAG TEST TO BE RUN ; b4 1 = THROTTLE KICKER BARO DISABLE REQUESTED ; ; b3 1 = THROTTLE KICKER DISABLE REQUESTED ; b2 1 = THROTTLE KICKER ACTIVE ; b1 1 = ETC * KONST ; b0 1 = ETC ONE FLAG ;----------------------------- L5299 FDB $0006 ; 20 COOL ; ;----------------------------- L529B FDB $0871 ; 21 IAC FLOW ; ;----------------------------- L529D FDB $02D0 ; 22 ; ;----------------------------- L529F FDB $0873 ; 23 ; ;----------------------------- L52A1 FDB $02D2 ; 24 ; ;----------------------------- L52A3 FDB $02C8 ; 25 IAC FLOW Vs. COOL ; ;----------------------------- L52A5 FDB $02C6 ; 26 IAC FLOW Vs. COOL ; ;----------------------------- L52A7 FDB $0875 ; 27 IAC COLD OFFSET DELAY PERIOD ; ;----------------------------- L52A9 FDB $0857 ; 28, DESSPD, DESIRED IDLE ; RPM/12.5 ;----------------------------- L52AB FDB $0254 ; 29, VE TABLE RESULTS ; ;----------------------------- L52AD FDB $01D1 ; 30, DESIRED EGR POSIT ; %/2.56 ;----------------------------- L52AF FDB $01D5 ; 31 L52B1 FDB $022E ; 32. ??? SPK BIAS L52B3 FDB $022D ; 33. LO OCT BASE SPK RETARD SPK ;----------------------------- L52B5 FDB $02A7 ; 34, FILTMPH, MPH 0 - 255 MPH ; MPH/1 ; KPH = 1.61 ;----------------------------- L52B7 FDB $0882 ; 35 L52B9 FDB $029E ; 36 L52BB FDB $0255 ; 37 L52BD FDB $088B ; 38 L52BF FDB $02CA ; 39 L52C1 FDB $02C0 ; 40 L52C3 FDB $02CC ; 41 L52C5 FDB $02C2 ; 42 L52C7 FDB $02CD ; 43 L52C9 FDB $02C3 ; 44 L52CB FDB $02CF ; 45 L52CD FDB $02C5 ; 46 L52CF FDB $086D ; 47 ;----------------------------- L52D1 FDB $0232 ; 48, INTEGRATOR ; ; 0 - 255 ;----------------------------- L52D3 FDB $0862 ; 49 ;----------------------------- L52D5 FDB $0007 ; 50, IAC, PRESSENT MOTOR POSIT ; ; 0 to MAX IAC (typ 145) ;---------------------------- L52D7 FDB $027A ; 51, CURRENT MAP VALUE ; (n+28.05)/2.71 ;---------------------------- L52D9 FDB $0202 ; 52 ;---------------------------- L52DB FDB $01FC ; 53, TPS ;---------------------------- L52DD FDB $0214 ; 54 L52DF FDB $029D ; 55 L52E1 FDB $02F1 ; 56 L52E3 FDB $0859 ; 57 L52E5 FDB $0217 ; 58 ; ;----------------------------- L52E7 FDB $0219 ; 59 SPARK ; ;----------------------------- L52E9 FDB $00F9 ; 60, ; ; b7 1 = ; b6 1 = ; b5 1 = ; b4 1 = ; ; b3 1 = ; b2 1 = ; b1 1 = ; b0 1 = ;----------------------------- L52EB FDB $00B1 ; 61 L52ED FDB $00B2 ; 62 L52EF FDB $026F ; 63 L52F1 FDB $0270 ; 64 ;--------------------------------------------- ;--------------------------------------------- ; DEVICE ID $F4, MODE 1/2 ; ; ; ;--------------------------------------------- L52F3 FDB $0000 L52F5 FDB $F4 ; DEVICE ID L52F6 FDB $80 ; MEM FLAG, TBL FROM ROM ; L52F7 FDB 37 ; NUM BYTE TO TX ; L52F8 FDB $036E ; ADDR OF OUTPUT BUFFER L52FA FDB $036E ; ADDR OF INPUT BUFFER ; L52FC FDB $00B1 ; 1, L52FE FDB $00B2 ; 2, L5300 FDB $027A ; 3, CURRENT MAP VALUE L5302 FDB $0214 ; 4, ;---------------------------- L5304 FDB $00A2 ; 5,, COOL TEMP ; Deg c = n*.75 - 40 ; (deg F = 1.35N - 40) ;---------------------------- L5306 FDB $0007 ; 6, IAC, PRESSENT MOTOR POSIT ; ; 0 to MAX IAC (typ 145) ;----------------------------- L5308 FDB $026D ; 7, AFR ; ;----------------------------- L530A FDB $00F9 ; 8, ; ; b7 1 = ; b6 1 = ; b5 1 = ; b4 1 = ; ; b3 1 = ; b2 1 = ; b1 1 = ; b0 1 = ;----------------------------- L530C FDB $01FC ; 9, TPS ; ;----------------------------- L530E FDB $02A7 ; 10, FILTMPH, MPH 0 - 255 MPH ; MPH/1 ; KPH = 1.61 ;----------------------------- L5310 FDB $0873 ; 11, L5312 FDB $0871 ; 12, IAC FLOW L5314 FDB $0889 ; 13, L5316 FDB $02F1 ; 14, ;----------------------------- L5318 FDB $0857 ; 15, DESSPD, DESIRED IDLE ; RPM/12.5 ;----------------------------- L531A FDB $088B ; 16, L531C FDB $0862 ; 17, L531E FDB $0879 ; 18, L5320 FDB $0876 ; 19, %IAC FLOW MAX STEP FOR A/C OFF/ON L5322 FDB $02EB ; 20, "CHOKE" AFR VALUE ;--------------------------- L5324 FDB $026B ; 21,, BLM ; ;--------------------------- L5326 FDB $00A1 ; 22,, BATTERY A/D ; VDC/10 ;----------------------------- L5328 FDB $0232 ; 23, INTEGRATOR ; ; 0 - 255 ;----------------------------- L532A FDB $029E ; 24, L532C FDB $02EE ; 25, SPK L532E FDB $02A3 ; 26, ;----------------------------- L5330 FDB $01F8 ; 27, o2 VOLTS, (VDC/226) ; ;----------------------------- L5332 FDB $022F ; 28, ; ;----------------------------- L5334 FDB $026A ; 29, BLM CELL NUM ; (0 - 16) ;--------------------------- L5336 FDB $0255 ; 30, L5338 FDB $01F5 ; 31, L533A FDB $01EC ; 32, CURRENT VACUUM VALUE L533C FDB $0261 ; 33, L533E FDB $0262 ; 34, L5340 FDB $026F ; 35, L5342 FDB $0270 ; 36, L5344 FDB $01D0 ; 37, ;---------------------------------------------- ;---------------------------------------------- ; not used ; ;---------------------------------------------- L5346 FDB $0051 ; 38, ;------------------------------ L5348 FDB $30F7 ; 39, ;------------------------------ L534A FDB $30F8 ; 40, TIMING, (MSB) ENGINE RUNNING TIME SEC ;------------------------------ L534C FDB $0857 ; 41, DESSPD, DESIRED IDLE ; RPM/12.5 ;------------------------------ L534E FDB $01FA ; 42, ;------------------------------ L5350 FDB $0052 ; 43, MODE WD 4 ; ; b7 1 = QUAIS CLSD LP ENABLED ; b6 1 = CAT OVER TEMP ; b5 1 = A/C ANTICIPATING TO BE ON ; b4 1 = A/C DISABLED DUE TO HIGH RPM ; ; b3 1 = VARIABLE TUNING CNT'L ; b2 1 = TPS CLOSED, (FOR BLM) ; b1 1 = ZERO ACTIVITY FLAG (LO OCTANE) ; b0 1 = HIGH KNOCK ACTIVITY ;----------------------------- L5352 FDB $0053 ; 44, MODE WD 5 ; ; b7 (not used) ; b6 1 = SINGLE FIRE ALT EXIT IS DESIRED ; b5 1 = A INJECTOR FIRED AT 1st DRP ; b4 1 = PWR STEER CRAMP STALL SAVER ; ; b3 1 = HI RPM INDICATED BY XMISH (ABUSE LOGIC) ; b2 1 = SHIFT LIGHT ON ; b1 1 = DLATCH ACTIVE ; b0 1 = ACTUAL ENGINE RPM OVER DESIRED RPM ;------------------------------ L5354 FDB $3211 ; 45, L5356 FDB $3212 ; 46, ;------------------------------ L5358 FDB $3224 ; 47, L535A FDB $3225 ; 48, ;------------------------------ L535C FDB $0230 ; 49, L535E FDB $02BA ; 50, L5360 FDB $0296 ; 51, ;------------------------------ L5362 FDB $006E ; 52, EGR MD WD ; ; b7 1 = EGR ON ; b6 1 = ERG MPH HYST ; b5 1 = EGR TPS HYST ; b4 1 = EGR MAP HYST ; ; b3 1 = ACELL ENR 1st TIME ; b2 1 = EGR HI VAC HYST ; b1 1 = BURST KNOCK ACTIVE ; b0 1 = EGR DIAG INT RESET ;----------------------------- L5364 FDB $0075 ; 53, ELECTRONIC GOVENOR MD WD ; ; b7 1 = IN MPH GOVENOR ; b6 1 = MPH OVERSPEED ; b5 1 = ; b4 1 = RPM LEAD TPS RETURN ; ; b3 1 = OVERSPEED LIGHT ON ; b2 1 = RPM OVERSPEED ; b1 1 = GOV LEAD MODE ANTICP RPM GOV'ING ; b0 1 = IN RPM GOV ;--------------------------- L5366 FDB $0268 ; 54, DECEL FUEL C/O EXIT TIMER L5368 FDB $0269 ; 55, L536A FDB $026C ; 56, ;------------------------------ L536C FDB $326D ; 57, L536E FDB $326E ; 58, ;------------------------------ L5370 FDB $01CF ; 59, L5372 FDB $01DA ; 60, L5374 FDB $01D5 ; 61, L5376 FDB $01F7 ; 62, OLD o2 VDC ;----------------------------- L5378 FDB $0855 ; 63, LINEAR MAT VAL ; ; (DEG C + 40) * (256/192) ;---------------------------------------------- ;---------------------------------------------- ; DEVICE ID $F4, MODE 2 ; 64 ADDRESS SEQUENTIAL MEM DUMP ; ;---------------------------------------------- L537A FDB $0000 ; NEXT ENRTY ADDRESS ; L537C FCB $F4 ; DEVICE ID ; L537D FCB $40 ; MEM FLAG, TBL FM RAM ; L537E FCB 65 ; NUM BYTES TO TX ; L537F FCB $036E ; ADDR OF OUTPUT BUFFER L5381 FCB $036E ; ADDR OF INPUT BUFFER ;---------------------------------------------- ;---------------------------------------------- ; DEVICE ID $F4, MODE 3 ; ; SEQUENTIAL 8 ADDRESS MEM DUMP ;---------------------------------------------- L5383 FDB $0000 ; NEXT ENRTY ADDRESS ; L5385 FCB $F4 ; DEVICE ID ; L5386 FCB $40 ; MEM FLAG, TBL FM RAM L5387 FCB 9 ; NUM BYTES TO TX ; L5388 FCB $036E ; ADDR OF OUTPUT BUFFER L538A FCB $036E ; ADDR OF INPUT BUFFER ;--------------------------------------------- ;--------------------------------------------- ; DEVICE ID $F4, MODE 4 ; ; 'CONTROLER MODE' ;--------------------------------------------- L538C FDB $0000 ; NEXT ENRTY ADDRESS ; L538E FCB $F4 ; DEVICE ID ; L538F FCB 00 ; MEM FLAG, NONE L5390 FCB 1 ; NUM BYTES TO TX ; L5391 FCB $036E ; ADDR OF OUTPUT BUFFER L5393 FCB $036E ; ADDR OF INPUT BUFFER ;--------------------------------------------- ;--------------------------------------------- ; DEVICE ID $F4, MODE 10 ; ; MODE 10, ALDL ERR RESET ;--------------------------------------------- L5395 FDB $0000 ; NEXT ENRTY ADDRESS ; L5397 FCB $F4 ; DEVICE ID ; L5398 FCB 0 ; MEM FLAG, NONE L5399 FCB 1 ; NUM BYTES TO TX ; L539A FCB $036E ; ADDR OF OUTPUT BUFFER L539C FCB $036E ; ADDR OF INPUT BUFFER ;--------------------------------------------- ********************************************** * $F5 TABLES * ********************************************** ;--------------------------------------------- ; DEVICE ID $F5, MODE ; ; ;--------------------------------------------- L539E FDB $53BF ; NEXT ENRTY ADDRESS ; L53A0 FCB $F5 ; DEVICE ID ; L53A1 FCB 0 ; MEM FLAG, NONE L53A2 FCB 128 ; NUM BYTES TO TX ; L53A3 FCB $036E ; ADDR OF OUTPUT BUFFER L53A5 FCB $036E ; ADDR OF INPUT BUFFER ; L53A7 FDB $53BF ; 0, DEVICE ID $F5, MODE 0, RESET NORMAL COMM L53A9 FDB $53CE ; 1, DEVICE ID $F5, MODE 1, SCAN TOOL DATA L53AB FDB $5549 ; 2, DEVICE ID $F5, MODE 2, 64 ADDRESS MEM DUMP L53AD FDB $5552 ; 3, DEVICE ID $F5, MODE 3, SEQUENTIAL 8 ADDRESS MEM DUMP L53AF FDB $555B ; 4, DEVICE ID $F5, MODE 4, CONTROLER MODE L53B1 FDB $0000 ; 5, not used L53B3 FDB $0000 ; 6, not used L53B5 FCB $0000 ; 7, not used L53B7 FCB $0000 ; 8, not used L53B9 FCB $0000 ; 9, not used L53BB FCB $5564 ; 10, DEVICE ID $F5, MODE 10, ALDL ERR RESET L53BD FCB $0000 ; 11, not used ;---------------------------------------------- ;---------------------------------------------- ; DEVICE ID $F5 ; MODE 0, RESET NORMAL COMM ; ; MODE 0 (RETURN TO NORMAL MODE) ; ALDL REQUEST: ; - MESSAGE ID = $F5 ; - MESSAGE LENGTH = $56 ; - MODE = $00 ; - SUM CHECK ; ; ECM RESPONSE: ; NONE ;---------------------------------------------- L53BF FDB $0000 ; NEXT ENRTY ADDRESS ; L53C1 FCB $F5 ; DEVICE ID ; L53C2 FCB 0 ; L53C3 FCB 1 ; NUM BYTES TO TX ; L53C4 FDB $036E ; ADDR OF OUTPUT BUFFER L53C6 FDB $036E ; ADDR OF INPUT BUFFER ;---------------------------------------------- ;---------------------------------------------- L53C8 FDB $53CE ; 1, DEVICE ID $F5, MODE 1, MESSAGE 0, (66 bytes) L53CA FDB $545B ; 2, DEVICE ID $F5, MODE 1, MESSAGE 1, (30 bytes) L53CC FDB $54A0 ; 3, DEVICE ID $F5, MODE 1. MESSAGE 3, (80 bytes) ;---------------------------------------------- ;---------------------------------------------- ; DEVICE ID $F5, MODE 1 ; PCM TYPE $0D : ; ALDL MODE 1, MESSAGE 0 DATA LIST ; TRANSMISSION DATA STREAM INFORMATION MY 94/95 PCM-6 VEHICLES ; WITH A 4L60E TRANSMISSION. ; MODE 1 (TRANSMIT FIXED DATA STREAM) ; ALDL REQUEST: ; - MESSAGE ID = $F5 : - MESSAGE LENGTH = $57 ; - MODE = $01 ; - MESSAGE = $00 ; - SUM CHECK ; ; THE PCM WILL RESPOND WITH THE FOLLOWING MESSAGE: ; - MESSAGE ID = $F5 : - MESSAGE LENGTH = $98 ; - MODE = $01 ; - DATA BYTE 1 ; . ; . ; - DATA BYTE 66 ; - SUM CHECK : ; ; (SCAN TOOL MODE) ;---------------------------------------------- L53CE FDB $0000 ; NEXT ENRTY ADDRESS ; L53D0 FCB $F5 ; DEVICE ID ; L53D1 FCB $80 ; MEM FLAG, TBL FROM ROM L53D2 FCB 67 ; 66 BYTES TO TX ; L53D3 FDB $036E ; ADDR OF OUTPUT BUFFER L53D5 FDB $036E ; ADDR OF INPUT BUFFER ; ;----------------------------- L53D7 FDB $000B ; 1, ERR MD WD 1 ; ; b7 1 = ERR 13, o2 SENSOR ; b6 1 = ERR 14, COOL SENSOR, HIGH ; b5 1 = ERR 15, COOL SENSOR, LOW ; b4 1 = ERR 16, 2002 PPM VEH. SPEED SENSOR FAILURE ; ; b3 1 = ERR 17, not used, (RPM SIGNAL PROBLEM) ; b2 1 = ERR 18, not used, (CAM CRANK ERROR) ; b1 1 = ERR 19, not used ; b0 1 = ERR 21, TPS SENSOR HIGH ;---------------------------- L53D9 FDB $0016 ; 2, CURRENT ERR MD 1 ; ; b7 1 = ERR 13, o2 SENSOR ; b6 1 = ERR 14, COOL SENSOR, HIGH ; b5 1 = ERR 15, COOL SENSOR, LOW ; b4 1 = ERR 16, Vss BUFFER ; ; b3 1 = ERR 17, not used, (RPM SIGNAL PROBLEM) ; b2 1 = ERR 18, not usedC, (CAM CRANK ERROR) ; b1 1 = ERR 19, not used ; b0 1 = ERR 21, TPS SENSOR HIGH ;---------------------------- L53DB FDB $000C ; 3, ERR WD 2 ; ; b7 1 = ERR 22, LOW TPS ; b6 1 = ERR 23, LOW MAT ; b5 1 = ERR 24, LOW Vss ; b4 1 = ERR 25, MAT LOW ; ; b3 1 = ERR 26 not used ; b2 1 = ERR 27 not used ; b1 1 = ERR 28, PRESS SW MANIFOLD ; b0 1 = ERR 29, not used ;----------------------------- L53DD FDB $0017 ; 4, CURRENT ERR WD 2 ; ; b7 1 = ERR 22, THROTTLE POSITION LOW ; b6 1 = ERR 23, MAT SENSOR LOW ; b5 1 = ERR 24, LOW Vss ; b4 1 = ERR 25, MAT LOW ; ; b3 1 = ERR 26, (not used) ; b2 1 = ERR 27, (not used) ; b1 1 = ERR 28, PRESS SW MANIFOLD ; b0 1 = ERR 29, (not used) ;----------------------------- L53DF FDB $000D ; 5, ERR MD WD 3 ; ; b7 1 = ERR 31, GOVERNOR ; b6 1 = ERR 32, EGR ERROR ; b5 1 = ERR 33, MAP SENSOR HI ; b4 1 = ERR 34, MAP SNENSOR LOW ; ; b3 1 = ERR 35, IAC ERROR ; b2 1 = ERR 36, not used, (IAC THROTTLE KICKER FAIL) ; b1 1 = ERR 37, TCC BRAKE SW STUCK ON ; b0 1 = ERR 38, TCC BRAKE SW STUCK OFF ;----------------------------- L53E1 FDB $0018 ; 6, CURRENT ERR WD 3 ; ; b7 1 = ERR 31, GOVERNOR ; b6 1 = ERR 32, EGR ERROR ; b5 1 = ERR 33, MAP SENSOR HI ; b4 1 = ERR 34, MAP SENSOR LOW ; ; b3 1 = ERR 35, IAC ERROR ; b2 1 = ERR 36, not used, (IAC THROTTLE KICKER FAIL) ; b1 1 = ERR 37, TCC BRAKE SW STUCK ON ; b0 1 = ERR 38, TCC BRAKE SW STUCK OFF ;----------------------------- L53E3 FDB $000E ; 7, ERR MD WD 4 ; ; b7 1 = ERR 39, TCC STUCK OFF ; b6 1 = ERR 41, 1x CAM SENSOR ; b5 1 = ERR 42, IGN ERROR ; b4 1 = ERR 43, KNOCK SENSOR CKT ; ; b3 1 = ERR 44, OXYGEN SENSOR LEAN ; b2 1 = ERR 45, OXYGEN SENSOR RICH ; b1 1 = ERR 46, VATS FAIL ; b0 1 = ERR 47, not used ;----------------------------- L53E5 FDB $0019 ; 8, CURRENT ERR WD #4 ; ; b7 1 = ERR 39, TCC STUCK OFF ; b6 1 = ERR 41, 1x CAM SENSOR ; b5 1 = ERR 42, IGN ERROR ; b4 1 = ERR 43, KNOCK SENSOR CKT ; ; b3 1 = ERR 44, OXYGEN SENSOR LEAN ; b2 1 = ERR 45, OXYGEN SENSOR RICH ; b1 1 = ERR 46, VATS FAIL ; b0 1 = ERR 47, (not used) ;----------------------------- L53E7 FDB $000F ; 9, ERR MD WD 5 ; ; b7 1 = ERR 48. (not used) ; b6 1 = ERR 49, (not used) ; b5 1 = ERR 51, EPROM ERROR ; b4 1 = ERR 52, SYSTEM VOLTAGE HIGH-LONG TEST ; ; b3 1 = ERR 53, HI SYS VOLTAGE ; b2 1 = ERR 54, FUEL PUMP RELAY MALFUNCTION ; b1 1 = ERR 55, FAULTY COMPUTER ; b0 1 = ERR 56, QUAD DRIVER B FAULT ;----------------------------- L53E9 FDB $001A ; 10, CURRENT ERR WD 5 ; ; b7 1 = ERR 48. (not used) ; b6 1 = ERR 49, (not used) ; b5 1 = ERR 51, EPROM ERROR ; b4 1 = ERR 52, MISSING FUEL CALPACK ; ; b3 1 = ERR 53, HI SYS VOLTAGE ; b2 1 = ERR 54, LOW FUEL PUMP VDC ; b1 1 = ERR 55, FAULTY COMPUTER ; b0 1 = ERR 56, not used, (QUAD DRIVER B FAULT) ;----------------------------- L53EB FDB $0010 ; 11, MALFFLG6, ERROR WD 6 ; ; b7 1 = ERR 57. (not used) ; b6 1 = ERR 58, TRANSMISSION TEMPERATURE HI ; b5 1 = ERR 59, TRANSMISSION TEMPERATURE LO ; b4 1 = ERR 61, TURBO BOOST SENSOR HIGH ; ; b3 1 = ERR 62, TURBO BOOST SENSOR LOW ; b2 1 = ERR 63, BAROMETRIC PRESSURE SENSOR HI ; b1 1 = ERR 64, BAROMETRIC PRESSURE SENSOR LO ; b0 1 = ERR 65, not used ;----------------------------- L53ED FDB $001B ; 12, CURMALF5, CURRENT ERROR WD 6 ; ; b7 1 = ERR 57. (not used) ; b6 1 = ERR 58, TRANSMISSION TEMPERATURE HI ; b5 1 = ERR 59, TRANSMISSION TEMPERATURE LOW ; b4 1 = ERR 61, TURBO BOOST SENSOR HI ; ; b3 1 = ERR 62, TURBO BOOST SENSOR LOW ; b2 1 = ERR 63, BAROMETRIC SENSOR HI ; b1 1 = ERR 64, BAROMETRIC SENSOR LOW ; b0 1 = ERR 65. (not used) ;----------------------------- L53EF FDB $0011 ; 13, MALFFLG7, ERROR WD 7 ; ; b7 1 = ERR 66 3-2 DS QDM2/SOLENOID FAILURE ; b6 1 = ERR 67 TCC EN QDM2/SOLENOID FAILURE ; b5 1 = ERR 68 TRANSMISSION COMPONENT SLIPPING ; b4 1 = ERR 69 TCC ON ; ; b3 1 = ERR 71 ENGINE SPEED LOW ; b2 1 = ERR 72 OUTPUT SPEED LOSS ; b1 1 = ERR 73 FORCE MOTOR CURRENT ; b0 1 = ERR 74 INPUT SPEED SENSOR ;----------------------------- L53F1 FDB $001C ; 14, CURMALF7, CURRENT ERROR WD 7 ; ; b7 1 = ERR 66, 3-2 DS QDM2/SOLENOID FAIL ; b6 1 = ERR 67, TCC EN QDM2/SOLENOID FAIL ; b5 1 = ERR 68, XMISH COMPONENT SLIPPING ; b4 1 = ERR 69, TCC ON ; ; b3 1 = ERR 71, ENGINE SPEED LOW ; b2 1 = ERR 72, OUTPUT SPEED LOSS ; b1 1 = ERR 73, FORCE MOTOR CURRENT ; b0 1 = ERR 74, INPUT SPEED SENSOR ;----------------------------- L53F3 FDB $0012 ; 15, MALFFLG8, ERROR WD 8 ; ; b7 1 = ERR 75 SYSTEM VOLTAGE LOW ; b6 1 = ERR 76 not used ; b5 1 = ERR 77 MNP SWITCH ; b4 1 = ERR 78 not used ; ; b3 1 = ERR 71, ENGINE SPEED LOW ; b2 1 = ERR 72, OUTPUT SPEED LOSS ; b1 1 = ERR 73, FORCE MOTOR CURRENT ; b0 1 = ERR 74, INPUT SPEED SENSOR ;----------------------------- L53F5 FDB $001D ; 16, CURMALF8, CURRENT ERROR WD 8 ; ; b7 1 = ERR 75, SYSTEM VDC LOW ; b6 1 = ERR 76, (not used) ; b5 1 = ERR 77, NMP SWITCH ; b4 1 = ERR 78, (not used) ; ; b3 1 = ERR 79, XMISH HOT ; b2 1 = ERR 81, SHIFT SOLENOID B FAIL ; b1 1 = ERR 82, SHIFT SOLENOID A FAIL ; b0 1 = ERR 83, TCC SOLENOID FAIL ;----------------------------- L53F7 FDB $0013 ; 17, MALFFLG9, CURRENT ERROR WD 9 ; ; b7 1 = ERR 84 not used ; b6 1 = ERR 85 RATIO-UNDEFINED REGION ; b5 1 = ERR 86 SOLENOID B STUCK ON ; b4 1 = ERR 87 SOLENOID B STUCK OFF ; ; b3 1 = ERR 88 not used ; b2 1 = ERR 89 MAXIMUM ADAPT LONG SHIFT ; b1 1 = ERR 91 not used ; b0 1 = ERR 92 not used ;----------------------------- L53F9 FDB $001E ; 18, CURMALF9, CURRENT ERROR WD 9 ; ; b7 1 = ERR 84 not used ; b6 1 = ERR 85 RATIO-UNDEFINED REGION ; b5 1 = ERR 86 SOLENOID B STUCK ON ; b4 1 = ERR 87 SOLENOID B STUCK OFF ; ; b3 1 = ERR 88 not used ; b2 1 = ERR 89 MAXIMUM ADAPT LONG SHIFT ; b1 1 = ERR 91 not used ; b0 1 = ERR 92 not used ;----------------------------- L53FB FDB $00A0 ; 19, 17, TPS A/D ; BIN = VDC * 50 ;----------------------------- L53FD FDB $00A6 ; 20, BARO, BAROMETRIC PRESSURE ; VOLTS = N * (5/256) ; (kpa = (N + 28.06)/2.71) ;----------------------------- L53FF FDB $319D ; 21, NE, ENGINE SPEED, (MSB) L5401 FDB $319E ; 22, NE+1, ENGINE SPEED, (LSB) ; RPM/8 ;----------------------------- L5403 FDB $30BC ; 23, NT, ENGINE SPEED, (MSB) L5405 FDB $30BD ; 24, NT+1, ENGINE SPEED, (LSB) ; RPM/8 ;----------------------------- L5407 FDB $30C0 ; 25, FILTERED TURBINE SPEED MSB L5409 FDB $30C1 ; 26, FILTERED TURBINE SPEED LSB ; RPM/8 ;----------------------------- L540B FDB $00D1 ; 27, VEHSPEEN, VEHICLE SPEED (FILTERED ; MPH/2 ;----------------------------- L540D FDB $00DC ; 28, PRESSURE, CURRENT TQ SIG PRESS ; PSI/1 ;---------------------------- L540F FDB $0147 ; 29, CURRENT, REF CURRENT FORCE MTR CKT ; AMP = N/51.2 ;---------------------------- L5411 FDB $0148 ; 30, CURRENT, ACTUAL FM CURRENT FM SHUNT (A/D) ; AMP = N/51.2 ;---------------------------- L5413 FDB $0146 ; 31, FMDC, FORCE MOTOR D.C. ; % = N/2.56 ;---------------------------- L5415 FDB $009C ; 32, PRNDLFLG, CURRENT STATE OF ; XMISH RANGE SEL ; ; b7 1 = ILLEGAL RANGE ; b6 1 = PK/NEUT ; b5 1 = REVERSE ; b4 1 = (ot used) ; ; b3 1 = DRIVE 4 ; b2 1 = DRIVE 3 ; b1 1 = DRIVE 2 ; b0 1 = LOW GEAR ;----------------------------- L5417 FDB $00A1 ; 33, ADBAT, BATTERY VOLTS ; VDC/10 ;----------------------------- L5419 FDB $3124 ; 34, TCCDC, TCC PWM SOLENOID DC, (MSB) L541B FDB $3125 ; 35, TCCDC+1, TCC PWM SOLENOID DC, (MSB) ; % = (256MSB + LSB)/655.36 ;----------------------------- L541D FDB $30F3 ; 36, RATIO, XMISH (INPUT SPD/OUTPUT SPD) NI/NO, (MSB) L541F FDB $30F4 ; 37, RATIO+1, XMISH (INPUT SPD/OUTPUT SPD) NI/NO, (MSB) ; RATIO = N/16384 ;----------------------------- L5421 FDB $00D3 ; 38, GEAR, CURRENT GEAR ; GEAR = N + 1 ;---------------------------- L5423 FDB $0145 ; 39, CURCELL, CURRENT ADPTIVE MOD'ER INDEX W/IN TBL ; CELL = N ;---------------------------- L5425 FDB $0144 ; 40, CURADP, CURRENT ADAPTIVE MODIFIER ; ADPT/1 ;---------------------------- L5427 FDB $0082 ; 41, TRSTATUS, ; ; b7 1 = POWERTRAIN IS IN MOTIION (SOME SPEED <> 0) ; b6 ELCO INSTRUMENTATION PROM IS PRESEN ; b5 (not used) ; b4 NV RAM UPDATING IS ALLOWED ; ; b3 1 = POWER IS ON (IGN1 > THRESH) ; b2 1 = FORCE MOTOR PULSE IN PROGRESS ; b1 1 = not usedT ; b0 1 = FORCE MOTOR SHUT OFF DUE TO LOW BATTERY VOLTAGE ;---------------------------- L5429 FDB $012D ; 42, ADAPTBL, ADAPT WORD FOR SERVICE ; ; b7 1 = TPS CHANGED TOO MUCH ; b6 not used ; b5 1 = LONG SHIFT DELAY TIME ; b4 1 = VEHICLE SPEED CHANGED TOO MUCH ; ; b3 not used ; b2 1 = TPS OUT OF RANGE ; b1 1 = THROTTLE OUT OF RANGE ; b0 1 = LAST SHIFT WAS USABLE FOR ADAPTING 0 = UNUSABLE ;---------------------------- L542B FDB $012C ; 43, TCCSTAT, TCC STATUS FOR SERVICE ; ; b7 1 = SLIP CONTINGENCY FORCED TCC OFF ; b6 1 = A/C CONTINGENCY FORCED TCC OFF ; b5 1 = TCC IS IN LOCK ADJ MODE ; b4 1 = NEG DELTA TPS FORCED TCC OFF ; ; b3 1 = BRAKE ON FORCED TCC OFF ; b2 (not used) ; b1 1 = MIN TPS CONTINGENCY FORCED TCC OFF ; b0 1 = RANGE CONTINGENCY FORCED TCC OFF ;---------------------------- L542D FDB $0135 ; 44, ERROR12, ERR BETWEEN DESIRED & ACTUAL SHIFT TIMES ; FOR LATEST 1-2 UPSHIFT 1=1/32 SEC ; SEC. = N/40 ;----------------------------- L542F FDB $0136 ; 45, ERR0R23, ERR BETWEEN DESIRED & ACTUAL SHIFT TIMES ; FOR LATEST 2 -> 3 1=1/32 SEC ; SEC = N/40 ;----------------------------- L5431 FDB $30E5 ; 46, SLIP, ABSOLUTE VAL OF SLIP (MSB) L5433 FDB $30E6 ; 47, SLIP+1, ABSOLUTE VAL OF SLIP (LSB) ; TPM/8 (signed value) ;----------------------------- L5435 FDB $0132 ; 48, TIME12, TIME OF LATEST 1->2 SHIFT ; SEC = N/40 ;----------------------------- L5437 FDB $0133 ; 49, TIME23, TIME OF LATEST 3->3 SHIFT ; SEC = N/40 ; ;----------------------------- L5439 FDB $0083 ; 50, TEMPMW TEMPER STATUS WORD ; ; b7 1 = not used ; b6 1 = not used ; b5 1 = not used ; b4 1 = not used ; ; b3 1 = not used ; b2 1 = not used ; b1 1 = HOT TEMPERATURE THRESHOLD ; b0 1 = COLD TEMPERATURE THRESHOLD ; ;----------------------------- L543B FDB $0096 ; 51, DIRFLAGS, BIT STATUS WORD ; ; b7 1 = DIAGNOSTICS REQUESTED ; b6 1 = CRUISE LOW ACTIVE ; b5 1 = 4 WD LOW ACTIVE ; b4 1 = KICK DN PATTERN ACTIVE ; ; b3 (not used) ; b2 1 = PWR ENRICH ACTIVE ; b1 1 = A/C COMPRESSOR ENGAGED ; b0 1 = BRAKE ON ;----------------------------- L543D FDB $004B ; 52, IODPORTA, I/O D PORT A ; ; b7 1 = TCC ENABLE 0=OFF 1=ON ; b6 1 = BYPASS (FROM REST) ; b5 1 = BYPASS MONTR (FROM REST) ; b4 1 = BYPASS CTRL (FROM REST) ; ; b3 1 = 3->2 DN SHIFT FEEDFBACK 0=ON 1=OFF ; b2 1 = TCC R\ENABLE FEEDFBACK 0=ON 1=OFF ; b1 1 = SHIFT B FEEDFBACK 0=ON 1=OFF ; b0 1 = SHIFT A FEEDFBACK 0=ON 1=OFF ;--------------------------------- L543F FDB $004C ; 53, IODPORTB, I/O D PORT B ; SOLENOID COMBINATION FOR DIGITAL EGR ; ; b7 1 = M/CLR SFTB SFTA GR ; b6 1 = REF IRQ CLR 0 0 3rd ; b5 1 = FORCE MOTOR ENABLE 0 1 4th ; b4 1 = IAC ENABLE 1 0 2nd ; 1 1 1st ; b3 1 = IAC COIL B ON ; b2 1 = IAC COIL A ON ; b1 1 = 2 - 3 SOL ON, SHIFT B ; b0 1 = 1 - 2 SOL ON, SHIFT A ;--------------------------------- L5441 FDB $004D ; 54, IODPORTC, I/O PORT C (L3064) ; ; b7 1 = FWD LOW SW (NO) 1=ON ; b6 (not used) ; b5 (not used) R1 R2 R3 GR ; b4 1 = RANGE SW 3 OFF 0 1 1 LOW ; 1 1 1 DR2 ; b3 1 = RANGE SW 2 OFF 1 1 0 DR3 ; b2 1 = RANGE SW 1 OFF 1 0 0 DR4 ; b1 1 = BK SW ON 1 0 1 P/N ; b0 1 = A/C REQUEST ON 0 0 1 REV ;--------------------------------- L5443 FDB $4000 ; 55, FIRST PROM I.D. WORD (MSB) L5445 FDB $4001 ; 56, SECOND PROM I.D. WORD (LSB) ; ID = MSB*256 + LSB ; ;----------------------------- L5447 FDB $012E ; 57,DSSDC 3-2 PWM SOL % DUTY CYCLE ; % = N / 2.56 ; ;----------------------------- L5449 FDB $0098 ; 58, FAULTFLG DISCRETE FAULT FLAGS ; ; b7 not used ; b6 not used ; b5 1 = SHIFT SOLENOID B VALID ; b4 1 = SHIFT SOLENOID A VALID ; ; b3 1 = INJECTOR 2 FAULT DETECTED ; b2 1 = INJECTOR 1 FAULT DETECTED ; b1 1 = QDM 2 FAULT DETECTED ; b0 1 = QDM 1 FAULT DETECTED ; ;--------------------------------- L544B FDB $0081 ; 59, SHIFTED SHIFT WORD ; ; b7 1 = SHIFT IS COMPLETE ; b6 not used ; b5 1 = 2-4 JUMP SHIFT WHEN PRNDL = D3 ; b4 1 = SHIFT HAS STARTED ; ; b3 not used ; b2 not used ; b1 1 = DERIVATIVE SHIFT STARTED ; b0 1 = SLOPE OF DERIVATIVE IS NEGATIVE ; ;----------------------------- L544D FDB $0099 ; 60, PATTERN, MNP PATTERN ; ; b7 not used ; b6 not used ; b5 not used ; b4 not used ; ; b3 1 = ILLEGAL PATTERN REQUESTED ; b2 1 = "MANUAL" PATTERN REQUESTED ; b1 1 = "PERFORMANCE" PATTERN REQUESTED ; b0 1 = "NORMAL" PATTERN REQUESTED ; ;----------------------------- L544F FDB $02A7 ; 61, FILTMPH, MPH 0 - 255 MPH ; MPH/1 ; KPH = 1.61 ;----------------------------- L5451 FDB $30C6 ; 62, RAW OUTPUT SPEED(MSB) L5453 FDB $30C7 ; 63, RAW OUTPUT SPEED(LSB) ; RPM = N/8 ;----------------------------- L5455 FDB $0197 ; 64, NDTHROPS, TPS FOR ENGINE ; (CURRENT NON-DEAULT VALUE) ; % * 2.56 ;----------------------------- L5457 FDB $00A2 ; 65, COOLDEGA, COOL TEMP ; Deg c = n*.75 - 40 ; (deg F = 1.35N - 40) ;----------------------------- L5459 FDB $00AE ; 66, TRANSDEGA, NORMALIZED TRANSMISSION FLUID TEMPERATURE ; NON-DEFAULTED ; DEGREES C = N*.75 - 40 ; (deg F = 1.35N - 40) ; ;------------------------------------------------- ;------------------------------------------------- ; DEVICE ID $F5 ; MODE 1, MESSAGE 1 : ; MODE 1 (TRANSMIT FIXED DATA STREAM) ; ALDL REQUEST: ; - MESSAGE ID = $F5 ; - MESSAGE LENGTH = $57 ; - MODE = $01 ; - MESSAGE = $01 ; - SUM CHECK ; ; THE PCM WILL RESPOND WITH THE FOLLOWING MESSAGE: ; - MESSAGE ID = $F5 ; - MESSAGE LENGTH = $74 ; - MODE = $01 ; - DATA BYTE 1 ; . ; . ; - DATA BYTE 30 ; - SUM CHECK ; ;------------------------------------------------- L545B FCB $0000 ; NEXT ENRTY ADDRESS ; L545D FCB $F5 ; DEVICE ID ; L545E FCB $80 ; MEM FLAG,TBL FROM ROM L545F FCB 31 ; 30 BYTES TO TX ; L5460 FDB $036E ; ADDR OF OUTPUT BUFFER L5462 FDB $036E ; ADDR OF INPUT BUFFER ;----------------------------- L5464 FDB $000B ; 1, ERR MD WD 1 ; ; b7 1 = ERR 13, o2 SENSOR ; b6 1 = ERR 14, COOL SENSOR, HIGH ; b5 1 = ERR 15, COOL SENSOR, LOW ; b4 1 = ERR 16, Vss BUFFER ; ; b3 1 = ERR 17, RPM SIGNAL PROBLEM ; b2 1 = ERR 18, CAM CRANK ERROR ; b1 1 = ERR 19, ; b0 1 = ERR 21, TPS SENSOR HIGH ;---------------------------- L5466 FDB $0016 ; 2, CURRENT ERR MD 1 ; ; b7 1 = ERR 13, o2 SENSOR ; b6 1 = ERR 14, COOL SENSOR, HIGH ; b5 1 = ERR 15, COOL SENSOR, LOW ; b4 1 = ERR 16, Vss BUFFER ; ; b3 1 = ERR 17, not used, (RPM SIGNAL PROBLEM) ; b2 1 = ERR 18, not usedC, (CAM CRANK ERROR) ; b1 1 = ERR 19, not used ; b0 1 = ERR 21, TPS SENSOR HIGH ;---------------------------- L5468 FDB $000C ; 3, ERR MD WD 2 ; ; b7 1 = ERR 22, LOW TPS ; b6 1 = ERR 23, LOW MAT ; b5 1 = ERR 24, LOW Vss ; b4 1 = ERR 25, MAT LOW ; ; b3 1 = ERR 26 not used ; b2 1 = ERR 27 not used ; b1 1 = ERR 28, PRESS SW MANIFOLD ; b0 1 = ERR 29 not used ;----------------------------- L546A FDB $0017 ; 4, CURRENT ERR WD 2 ; ; b7 1 = ERR 22, LOW TPS ; b6 1 = ERR 23, LOW MAT ; b5 1 = ERR 24, LOW Vss ; b4 1 = ERR 25, MAT LOW ; ; b3 1 = ERR 26 not used ; b2 1 = ERR 27 not used ; b1 1 = ERR 28, PRESS SW MANIFOLD ; b0 1 = ERR 29 not used ; ;----------------------------- L546C FDB $000D ; 5, ERR MD WD 3 ; ; b7 1 = ERR 31, GOVENOR ; b6 1 = ERR 32, EGR ERROR ; b5 1 = ERR 33, MAP SENSOR HI ; b4 1 = ERR 34, MAP SENSOR LOW ; ; b3 1 = ERR 35, IAC ERROR ; b2 1 = ERR 36, IAC THROTTLE KICKER FAIL ; b1 1 = ERR 37, TCC BRAKE SW STUCK ON ; b0 1 = ERR 38, TCC BRAKE SW STUCK OFF ;----------------------------- L546E FDB $0018 ; 6, CURRENT ERR WD 3 ; ; b7 1 = ERR 31, GOVENOR ; b6 1 = ERR 32, EGR ERROR ; b5 1 = ERR 33, MAP SENSOR HI ; b4 1 = ERR 34, MAP SNENSOR LOW ; ; b3 1 = ERR 35, IAC ERROR ; b2 1 = ERR 36, IAC THROTTLE KICKER FAIL ; b1 1 = ERR 37, TCC BRAKE SW STUCK ON ; b0 1 = ERR 38, TCC BRAKE SW STUCK OFF ;----------------------------- L5470 FDB $000E ; 7, ERR MD WD 4 ; ; b7 1 = ERR 39, TCC STUCK OFF ; b6 1 = ERR 41, 1x CAM SENSOR ; b5 1 = ERR 42, IGN ERROR ; b4 1 = ERR 43, KNOCK SENSOR CKT ; ; b3 1 = ERR 44, LEAN ; b2 1 = ERR 45, RICH ; b1 1 = ERR 46, VATS FAIL ; b0 1 = ERR 47, not used ;----------------------------- L5472 FDB $0019 ; 8, CURRENT ERR WD #4 ; ; b7 1 = ERR 39, TCC STUCK OFF ; b6 1 = ERR 41, 1x CAM SENSOR ; b5 1 = ERR 42, IGN ERROR ; b4 1 = ERR 43, KNOCK SENSOR CKT ; ; b3 1 = ERR 44, LEAN ; b2 1 = ERR 45, RICH ; b1 1 = ERR 46, VATS FAIL ; b0 1 = ERR 47, not used ;----------------------------- L5474 FDB $000F ; 9, ERR MD WD 5 ; ; b7 ERR 48 not used ; b6 ERR 49 not used ; b5 1 = ERR 51, EPROM ERROR ; b4 1 = ERR 52, SYSTEM VOLTAGE HIGH-LONG TEST ; ; b3 1 = ERR 53, HI SYS VOLTAGE ; b2 1 = ERR 54, LOW FUEL PUMP VDV ; b1 1 = ERR 55, FAULTY COMPUTER ; b0 1 = ERR 56, not used ;----------------------------- L5476 FDB $001A ; 10, CURRENT ERR WD 5 ; ; b7 ERR 48 not used ; b6 ERR 49 not used ; b5 1 = ERR 51, EPROM ERROR ; b4 1 = ERR 52, SYSTEM VOLTAGE HIGH-LONG TEST ; ; b3 1 = ERR 53, HI SYS VOLTAGE ; b2 1 = ERR 54, LOW FUEL PUMP VDV ; b1 1 = ERR 55, FAULTY COMPUTER ; b0 1 = ERR 56, not used ;----------------------------- L5478 FDB $0010 ; 11, MALFUNCTION WORD 6 ; ; b7 1 = ERR 57. (not used) ; b6 1 = ERR 58, XMISH TEMP HI ; b5 1 = ERR 59, XMISH TEMP LOW ; b4 1 = ERR 61, TURBO BOOST SENSOR HI ; ; b3 1 = ERR 62, TURBO BOOST SENSOR LOW ; b2 1 = ERR 63, BARO SENSOR HI ; b1 1 = ERR 64, BARO SENSOR LOW ; b0 1 = ERR 65. (not used) ; ;----------------------------- L547A FDB $001B ; 12, CURRENT ERR WD 6, ERROR WD 6 ; ; b7 1 = ERR 57. (not used) ; b6 1 = ERR 58, XMISH TEMP HI ; b5 1 = ERR 59, XMISH TEMP LOW ; b4 1 = ERR 61, TURBO BOOST SENSOR HI ; ; b3 1 = ERR 62, TURBO BOOST SENSOR LOW ; b2 1 = ERR 63, BARO SENSOR HI ; b1 1 = ERR 64, BARO SENSOR LOW ; b0 1 = ERR 65. (not used) ; ;----------------------------- L547C FDB $0011 ; 13, MALFUNCTION WORD 7 ; ; b7 1 = ERR 66 3-2 DS QDM2/SOLENOID FAILURE ; b6 1 = ERR 67 TCC EN QDM2/SOLENOID FAILURE ; b5 1 = ERR 68 TRANSMISSION COMPONENT SLIPPING ; b4 1 = ERR 69 TCC ON ; ; b3 1 = ERR 71 ENGINE SPEED LOW ; b2 1 = ERR 72 OUTPUT SPEED LOSS ; b1 1 = ERR 73 FORCE MOTOR CURRENT ; b0 1 = ERR 74 INPUT SPEED SENSOR ; ;----------------------------- L547E FDB $001C ; 14, CURRENT MALFUNCTION WORD 7 ; ; b7 1 = ERR 66 3-2 DS QDM2/SOLENOID FAILURE ; b6 1 = ERR 67 TCC EN QDM2/SOLENOID FAILURE ; b5 1 = ERR 68 TRANSMISSION COMPONENT SLIPPING ; b4 1 = ERR 69 TCC ON ; ; b3 1 = ERR 71 ENGINE SPEED LOW ; b2 1 = ERR 72 OUTPUT SPEED LOSS ; b1 1 = ERR 73 FORCE MOTOR CURRENT ; b0 1 = ERR 74 INPUT SPEED SENSOR ; ;----------------------------- L5480 FDB $0012 ; 15, MALFUNCTION WORD 8 ; ; b7 1 = ERR 75 SYSTEM VOLTAGE LOW ; b6 1 = ERR 76 not used ; b5 1 = ERR 77 MNP SWITCH ; b4 1 = ERR 78 not used ; ; b3 1 = ERR 79 TRANSMISSION HOT ; b2 1 = ERR 81 SHIFT SOLENOID B FAILURE ; b1 1 = ERR 82 SHIFT SOLENOID A FAILURE ; b0 1 = ERR 83 TCC SOLENOID FAILURE ; ;---------------------------- L5482 FDB $001D ; 16, CURRENT MALFUNCTION WORD 8 ; ; b7 1 = ERR 75 SYSTEM VOLTAGE LOW ; b6 1 = ERR 76 not used ; b5 1 = ERR 77 MNP SWITCH ; b4 1 = ERR 78 not used ; ; b3 1 = ERR 79 TRANSMISSION HOT ; b2 1 = ERR 81 SHIFT SOLENOID B FAILURE ; b1 1 = ERR 82 SHIFT SOLENOID A FAILURE ; b0 1 = ERR 83 TCC SOLENOID FAILURE ; ;----------------------------- L5484 FDB $0013 ; 17, MALFUNCTkON WORD 9 ; ; b7 1 = ERR 84 not used ; b6 1 = ERR 85 RATIO-UNDEFINED REGION ; b5 1 = ERR 86 SOLENOID B STUCK ON ; b4 1 = ERR 87 SOLENOID B STUCK OFF ; ; b3 1 = ERR 88 not used ; b2 1 = ERR 89 MAXIMUM ADAPT LONG SHIFT ; b0 1 = ERR 92 not used ; b1 1 = ERR 91 not used ; ;----------------------------- L5486 FDB $001E ; 18, CURRENT ERR WD 9 ; ; b7 1 = ERR 84 not used ; b6 1 = ERR 85 RATIO-UNDEFINED REGION ; b5 1 = ERR 86 SOLENOID B STUCK ON ; b4 1 = ERR 87 SOLENOID B STUCK OFF ; ; b3 1 = ERR 88 not used ; b2 1 = ERR 89 MAXIMUM ADAPT LONG SHIFT ; b0 1 = ERR 92 not used ; b1 1 = ERR 91 not used ; ;----------------------------- L5488 FDB $012D ; 19, ADAPTABL ADAPT WORD FOR SERFICE ; ; b0 1 = LAST SHIFT WAS USABLE FOR ADAPTING 0 = UNUSABLE ; b1 1 = HOT TEMPERATURE THRESHOLD ; b2 1 = THROTTLE OUT OF RANGE ; b3 not used ; ; b4 1 = VEHICLE SPEED CHANGED TOO MUCH ; b5 1 = LONG SHIFT DELAY TIME ; b6 not used ; b7 1 = THROTTLE CHANGED TOO MUCH ; ;----------------------------- L548A FDB $00DB ; 20,LSTADEL LAST CHANGE TO ADAPTIVE MODIFIER ; PSI = N/4 ;----------------------------- L548C FDB $0144 ; 21, CURADPT CURRENT ADAPTIVE MODIFIER ; N = STATUS ;----------------------------- L548E FDB $0145 ; 22,CURCELL CURRENT ADAPTIVE MODIFIER INDEX WITHIN TABLE ; N = CELL ;----------------------------- L5490 FDB $031B ; 23, EADPT2 PRESSURE MODIFIER (ADAPTIVE) - 2nd GEAR ; PSI = N/4 L5492 FDB $031C ; 24, EADPT2+1 PRESSURE MODIFIER (ADAPTIVE) - 2nd GEAR ; PSI = N/4 L5494 FDB $031D ; 25, EADPT2+2 PRESSURE MODIFIER (ADAPTIVE) - 2nd GEAR ; PSI = N/4 L5496 FDB $031E ; 26, EADPT2+3 PRESSURE MODIFIER (ADAPTIVE) - 2nd GEAR ; PSI = N/4 ;-------------------------------------- L5498 FDB $031F ; 27, EADPT3, PRESSURE MODIFIER (ADAPTIVE) - 3rd GEAR ; PSI = N/4 L549A FDB $0320 ; 28, EADPT3+1, PRESSURE MODIFIER (ADAPTIVE) - 3rd GEAR ; PSI = N/4 L549C FDB $0321 ; 29, EADPT3+2 PRESSURE MODIFIER (ADAPTIVE) - 3rd GEAR ; PSI = N/4 L549E FDB $0322 ; 30, EADPT3+3 PRESSURE MODIFIER (ADAPTIVE) - 3rd GEAR ; PSI = N/4 ;--------------------------------- ;--------------------------------------------- ; MSG ID $F5, ; MODE 1, MESSAGE 3 ; ; ;--------------------------------------------- L54A0 FDB $0000 ; NEXT ENRTY ADDRESS ; L54A2 FCB $F5 ; DEVICE ID L54A3 FCB $80 ; MEM FLAG, TBL FROM ROM L54A4 FCB 81 ; 80 BYTES TO TX ; L54A5 FDB $036E ; ADDR OF OUTPUT BUFFER L54A7 FDB $036E ; ADDR OF INPUT BUFFER ; ;----------------------------- L54A9 FDB $000B ; 1, ERR MD WD 1 ; ; b7 1 = ERR 13, o2 SENSOR ; b6 1 = ERR 14, COOL SENSOR, HIGH ; b5 1 = ERR 15, COOL SENSOR, LOW ; b4 1 = ERR 16, Vss BUFFER ; ; b3 1 = ERR 17, RPM SIGNAL PROBLEM ; b2 1 = ERR 18, CAM CRANK ERROR ; b1 1 = ERR 19, ; b0 1 = ERR 21, TPS SENSOR HIGH ;---------------------------- L54AB FDB $0016 ; 2, CURRENT ERR MD 1 ; ; b7 1 = ERR 13, o2 SENSOR ; b6 1 = ERR 14, COOL SENSOR, HIGH ; b5 1 = ERR 15, COOL SENSOR, LOW ; b4 1 = ERR 16, Vss BUFFER ; ; b3 1 = ERR 17, not used, (RPM SIGNAL PROBLEM) ; b2 1 = ERR 18, not usedC, (CAM CRANK ERROR) ; b1 1 = ERR 19, not used ; b0 1 = ERR 21, TPS SENSOR HIGH ;---------------------------- L54AD FDB $000C ; 3, ERR MD WD 2 ; ; b7 1 = ERR 22, LOW TPS ; b6 1 = ERR 23, LOW MAT ; b5 1 = ERR 24, LOW Vss ; b4 1 = ERR 25, MAT LOW ; ; b3 1 = ERR 26 ; b2 1 = ERR 27 ; b1 1 = ERR 28, PRESS SW MANIFOLD ; b0 1 = ERR 29 ; ;----------------------------- L54AF FDB $0017 ; 4, CURRENT ERR WD 2 ; ; b7 1 = ERR 22, LOW TPS ; b6 1 = ERR 23, LOW MAT ; b5 1 = ERR 24, LOW Vss ; b4 1 = ERR 25, MAT LOW ; ; b3 1 = ERR 26 ; b2 1 = ERR 27 ; b1 1 = ERR 28, PRESS SW MANIFOLD ; b0 1 = ERR 29 ; ;----------------------------- L54B1 FDB $000D ; 5, ERR MD WD 3 ; ; b7 1 = ERR 31, GOVENOR ; b6 1 = ERR 32, EGR ERROR ; b5 1 = ERR 33, MAP SENSOR HI ; b4 1 = ERR 34, MAP SNENSOR LOW ; ; b3 1 = ERR 35, IAC ERROR ; b2 1 = ERR 36, IAC THROTTLE KICKER FAIL ; b1 1 = ERR 37, TCC BRAKE SW STUCK ON ; b0 1 = ERR 38, TCC BRAKE SW STUCK OFF ; ;----------------------------- L54B3 FDB $0018 ; 6, CURRENT ERR WD 3 ; ; b7 1 = ERR 31, GOVENOR ; b6 1 = ERR 32, EGR ERROR ; b5 1 = ERR 33, MAP SENSOR HI ; b4 1 = ERR 34, MAP SNENSOR LOW ; ; b3 1 = ERR 35, IAC ERROR ; b2 1 = ERR 36, IAC THROTTLE KICKER FAIL ; b1 1 = ERR 37, TCC BRAKE SW STUCK ON ; b0 1 = ERR 38, TCC BRAKE SW STUCK OFF ; ;----------------------------- L54B5 FDB $000E ; 7, ERR MD WD 4 ; ; b7 1 = ERR 39, TCC STUCK OFF ; b6 1 = ERR 41, 1x CAM SENSOR ; b5 1 = ERR 42, IGN ERROR ; b4 1 = ERR 43, KNOCK SENSOR CKT ; ; b3 1 = ERR 44, LEAN ; b2 1 = ERR 45, RICH ; b1 1 = ERR 46, VATS FAIL ; b0 1 = ERR 47, ; ;----------------------------- L54B7 FDB $0019 ; 8, CURRENT ERR WD #4 ; ; b7 1 = ERR 39, TCC STUCK OFF ; b6 1 = ERR 41, 1x CAM SENSOR ; b5 1 = ERR 42, IGN ERROR ; b4 1 = ERR 43, KNOCK SENSOR CKT ; ; b3 1 = ERR 44, LEAN ; b2 1 = ERR 45, RICH ; b1 1 = ERR 46, VATS FAIL ; b0 1 = ERR 47, ; ;----------------------------- L54B9 FDB $000F ; 9, ERR MD WD 5 ; ; b7 ; b6 ; b5 1 = ERR 51, EPROM ERROR ; b4 1 = ERR 52, MISSING FUEL CALPACK ; ; b3 1 = ERR 53, HI SYS VOLTAGE ; b2 1 = ERR 54, LOW FUEL PUMP VDV ; b1 1 = ERR 55, FAULTY COMPUTER ; b0 1 = ERR 56, QUAD DRIVER B FAULT ; ;----------------------------- L54BB FDB $001A ; 10, CURRENT ERR WD 5 ; ; b7 (not used) ; b6 (not used) ; b5 1 = ERR 51, EPROM ERROR ; b4 1 = ERR 52, MISSING FUEL CALPACK ; ; b3 1 = ERR 53, HI SYS VOLTAGE ; b2 1 = ERR 54, LOW FUEL PUMP VDC ; b1 1 = ERR 55, FAULTY COMPUTER ; b0 1 = ERR 56, QUAD DRIVER B FAULT ; ;----------------------------- L54BD FDB $0010 ; 11, MALFFLG5, ERROR WD 6 ; ; b7 1 = ERR 57, (not used) ; b6 1 = ERR 58, XMISH TEMP HI ; b5 1 = ERR 59, XMISH TEMP LOW ; b4 1 = ERR 61, TURBO BOOST SENSOR HI ; ; b3 1 = ERR 62, TURBO BOOST SENSOR LOW ; b2 1 = ERR 63, BARO SENSOR HI ; b1 1 = ERR 64, BARO SENSOR LOW ; b0 1 = ERR 65. (not used) ; ;----------------------------- L54BF FDB $001B ; 12, CURRENT ERR WD 6 ; ; b7 1 = ERR 57. (not used) ; b6 1 = ERR 58, XMISH TEMP HI ; b5 1 = ERR 59, XMISH TEMP LOW ; b4 1 = ERR 61, TURBO BOOST SENSOR HI ; ; b3 1 = ERR 62, TURBO BOOST SENSOR LOW ; b2 1 = ERR 63, BARO SENSOR HI ; b1 1 = ERR 64, BARO SENSOR LOW ; b0 1 = ERR 65. (not used) ;----------------------------- L54C1 FDB $0011 ; 13, MALFFLG7, ERROR WD 7 ; ; b7 1 = ERR 66 3-2 DS QDM2/SOLENOID FAILURE ; b6 1 = ERR 67 TCC EN QDM2/SOLENOID FAILURE ; b5 1 = ERR 68 TRANSMISSION COMPONENT SLIPPING ; b4 1 = ERR 69 TCC ON ; ; b3 1 = ERR 71 ENGINE SPEED LOW ; b2 1 = ERR 72 OUTPUT SPEED LOSS ; b1 1 = ERR 73 FORCE MOTOR CURRENT ; b0 1 = ERR 74 INPUT SPEED SENSOR ; ;----------------------------- L54C3 FDB $001C ; 14, CURMALF7, CURRENT ERROR WD 7 ; ; b7 1 = ERR 66, 3-2 DS QDM2/SOLENOID FAIL ; b6 1 = ERR 67, TCC EN QDM2/SOLENOID FAIL ; b5 1 = ERR 68, XMISH COMPONENT SLIPPING ; b4 1 = ERR 69, TCC ON ; ; b3 1 = ERR 71, ENGINE SPEED LOW ; b2 1 = ERR 72, OUTPUT SPEED LOSS ; b1 1 = ERR 73, FORCE MOTOR CURRENT ; b0 1 = ERR 74, INPUT SPEED SENSOR ; ;----------------------------- L54C5 FDB $0012 ; 15, MALFFLG8, ERROR WD 8 ; ; b7 1 = ERR 75 SYSTEM VOLTAGE LOWL ; b6 1 = ERR 76 not used ; b5 1 = ERR 77 MNP SWITCH ; b4 1 = ERR 78 not used ; ; b3 1 = ERR 71, ENGINE SPEED LOW ; b2 1 = ERR 72, OUTPUT SPEED LOSS ; b1 1 = ERR 73, FORCE MOTOR CURRENT ; b0 1 = ERR 74, INPUT SPEED SENSOR ; ;----------------------------- L54C7 FDB $001D ; 16, CURMALF8, CURRENT ERROR WD 8 ; ; b7 1 = ERR 75, SYSTEM VDC LOW ; b6 1 = ERR 76, (not used) ; b5 1 = ERR 77, NMP SWITCH ; b4 1 = ERR 78, (not used) ; ; b3 1 = ERR 79, XMISH HOT ; b2 1 = ERR 81, SHIFT SOLENOID B FAIL ; b1 1 = ERR 82, SHIFT SOLENOID A FAIL ; b0 1 = ERR 83, TCC SOLENOID FAIL ; ;----------------------------- L54C9 FDB $0013 ; 17, MALFFLG9, CURRENT ERROR WD 9 ; ; b7 1 = ERR 84 not used ; b6 1 = ERR 85 RATIO-UNDEFINED REGION ; b5 1 = ERR 86 SOLENOID B STUCK ON ; b4 1 = ERR 87 SOLENOID B STUCK OFF ; ; b3 1 = ERR 88 not used ; b2 1 = ERR 89 MAXIMUM ADAPT LONG SHIFT ; b1 1 = ERR 91 not used ; b0 1 = ERR 92 not used ; ;----------------------------- L54CB FDB $001E ; 18, CURMALF9, CURRENT ERROR WD 9 ; ; b7 1 = ERR 84 not used ; b6 1 = ERR 85 RATIO-UNDEFINED REGION ; b5 1 = ERR 86 SOLENOID B STUCK ON ; b4 1 = ERR 87 SOLENOID B STUCK OFF ; ; b3 1 = ERR 88 not used ; b2 1 = ERR 89 MAXIMUM ADAPT LONG SHIFT ; b1 1 = ERR 91 not used ; b0 1 = ERR 92 not used ; ;----------------------------- L54CD FDB $00A0 ; 19, TPS A/D ; BIN = VDC * 50 ;----------------------------- L54CF FDB $00A6 ; 20, BARO, BAROMETRIC PRESSURE ; VOLTS = N * (5/256) ; (kpa = (N + 28.06)/2.71) ;----------------------------- L54D1 FDB $319D ; 21, NE, ENGINE SPEED, (MSB) L54D3 FDB $319E ; 22, NE+1, ENGINE SPEED, (LSB) ; RPM/8 ;------------------------------ L54D5 FDB $30BC ; 23, NT, ENGINE SPEED, (MSB) L54D7 FDB $30BD ; 24, NT+1, ENGINE SPEED, (LSB) ; RPM/8 ;------------------------------ L54D9 FDB $30C0 ; 25, FILTERED TURBINE SPEED MSB L54DB FDB $30C1 ; 26, FILTERED TURBINE SPEED LSB ; RPM/8 ;------------------------------ L54DD FDB $00D1 ; 27, VEHSPEEN, VEHICLE SPEED (FILTERED ; MPH/2 ;----------------------------- L54DF FDB $00DC ; 28, PRESSURE, CURRENT TQ SIG PRESS ; PSI/1 ;---------------------------- L54E1 FDB $0147 ; 29, CURRENT, REF CURRENT FORCE MTR CKT ; AMP = N/51.2 ;---------------------------- L54E3 FDB $0148 ; 30, CURRENT, ACTUAL FM CURRENT FM SHUNT (A/D) ; AMP = N/51.2 ;---------------------------- L54E5 FDB $0146 ; 31, FMDC, FORCE MOTOR D.C. ; % = N/2.56 ;---------------------------- L54E7 FDB $009C ; 32, PRNDLFLG, CURRENT STATE OF ; XMISH RANGE SEL ; ; b7 1 = ILLEGAL RANGE ; b6 1 = PK/NEUT ; b5 1 = REVERSE ; b4 1 = (ot used) ; ; b3 1 = DRIVE 4 ; b2 1 = DRIVE 3 ; b1 1 = DRIVE 2 ; b0 1 = LOW GEAR ; ;----------------------------- L54E9 FDB $00A1 ; 33, BATTERY A/D ; VDC/10 ;----------------------------- L54EB FDB $3124 ; 34, TCCDC, TCC PWM SOLENOID DC, (MSB) L54ED FDB $3125 ; 35, TCCDC+1, TCC PWM SOLENOID DC, (MSB) ; % = (256MSB + LSB)/655.36 ;----------------------------- L54EF FDB $30F3 ; 36, RATIO, XMISH (INPUT SPD/OUTPUT SPD) NI/NO, (MSB) L54F1 FDB $30F4 ; 37, RATIO+1, XMISH (INPUT SPD/OUTPUT SPD) NI/NO, (MSB) ; RATIO = N/16384 ;----------------------------- L54F3 FDB $00D3 ; 38, GEAR, CURRENT GEAR ; GEAR = N + 1 ;---------------------------- L54F5 FDB $00D4 ; 39, ; ;---------------------------- L54F7 FDB $00DB ; 40,LSTADEL LAST CHANGE TO ADAPTIVE MODIFIER ; PSI = N/4 ;----------------------------- L54F9 FDB $0145 ; 41, CURCELL, CURRENT ADPTIVE MOD'ER INDEX W/IN TBL ; CELL = N ;---------------------------- L54FB FDB $0135 ; 42, ERROR12, ERR BETWEEN DESIRED & ACTUAL SHIFT TIMES ; FOR LATEST 1-2 UPSHIFT 1=1/32 SEC ; SEC. = N/40 ;----------------------------- L54FD FDB $0136 ; 43, ERR0R23, ERR BETWEEN DESIRED & ACTUAL SHIFT TIMES ; FOR LATEST 2 -> 3 1=1/32 SEC ; SEC = N/40 ;----------------------------- L54FF FDB $0137 ; 44, ; ;----------------------------- L5501 FDB $00F7 ; 45, ; ;----------------------------- L5503 FDB $00DF ; 46, ; ;----------------------------- L5505 FDB $00E0 ; 47, ; ;----------------------------- L5507 FDB $30E5 ; 48, SLIP, ABSOLUTE VAL OF SLIP (MSB) L5509 FDB $30E6 ; 49, SLIP+1, ABSOLUTE VAL OF SLIP (LSB) ; TPM/8 (signed value) ;------------------------------ L550B FDB $0132 ; 50, TIME12, TIME OF LATEST 1->2 SHIFT ; SEC = N/40 ;----------------------------- L550D FDB $0133 ; 51, TIME23, TIME OF LATEST 3->3 SHIFT ; SEC = N/40 ;----------------------------- L550F FDB $0083 ; 52, TEMPMW TEMPER STATUS WORD ; ; b7 1 = not used ; b6 1 = not used ; b5 1 = not used ; b4 1 = not used ; ; b3 1 = not used ; b2 1 = not used ; b1 1 = HOT TEMPERATURE THRESHOLD ; b0 1 = COLD TEMPERATURE THRESHOLD ; ;----------------------------- L5511 FDB $031B ; 53, EADPT2 PRESSURE MODIFIER (ADAPTIVE) - 2nd GEAR ; PSI = N/4 ;----------------------------- L5513 FDB $031C ; 54, EADPT2+1 PRESSURE MODIFIER (ADAPTIVE) - 2nd GEAR ; PSI = N/4 ;----------------------------- L5515 FDB $031D ; 55, EADPT2+2 PRESSURE MODIFIER (ADAPTIVE) - 2nd GEAR ; PSI = N/4 ;----------------------------- L5517 FDB $031E ; 56, EADPT2+3 PRESSURE MODIFIER (ADAPTIVE) - 2nd GEAR ; PSI = N/4 ;-------------------------------------- L5519 FDB $031F ; 57, EADPT3, PRESSURE MODIFIER (ADAPTIVE) - 3rd GEAR ; PSI = N/4 ;-------------------------------------- L551B FDB $0320 ; 58, EADPT3+1 PRESSURE MODIFIER (ADAPTIVE) - 3rd GEAR ; PSI = N/4 ;-------------------------------------- L551D FDB $0321 ; 59, EADPT3+2 PRESSURE MODIFIER (ADAPTIVE) - 3rd GEAR ; PSI = N/4 ;-------------------------------------- L551F FDB $0322 ; 60, EADPT3+3, PRESSURE MODIFIER (ADAPTIVE) - 3rd GEAR ; PSI = N/4 ;-------------------------------------- L5521 FDB $0323 ; 61, L5523 FDB $0324 ; 62, L5525 FDB $0325 ; 63, L5527 FDB $0326 ; 64, ; ;----------------------------- L5529 FDB $0096 ; 65, DIRFLAGS, BIT STATUS WORD ; ; b7 1 = DIAGNOSTICS REQUESTED ; b6 1 = CRUISE LOW ACTIVE ; b5 1 = 4 WD LOW ACTIVE ; b4 1 = KICK DN PATTERN ACTIVE ; ; b3 (not used) ; b2 1 = PWR ENRICH ACTIVE ; b1 1 = A/C COMPRESSOR ENGAGED ; b0 1 = BRAKE ON ; ;----------------------------- L552B FDB $004B ; 66, IODPORTA, I/O D PORT A ; ; b7 1 = TCC ENABLE 0=OFF 1=ON ; b6 1 = BYPASS (FROM REST) ; b5 1 = BYPASS MONTR (FROM REST) ; b4 1 = BYPASS CTRL (FROM REST) ; ; b3 1 = 3->2 DN SHIFT FEEDFBACK 0=ON 1=OFF ; b2 1 = TCC R\ENABLE FEEDFBACK 0=ON 1=OFF ; b1 1 = SHIFT B FEEDFBACK 0=ON 1=OFF ; b0 1 = SHIFT A FEEDFBACK 0=ON 1=OFF ;--------------------------------- L522C FDB $004C ; 67 IODPORTB, I/O D PORT B ; ; b7 1 = M/CLR SFTB SFTA GR ; b6 1 = REF IRQ CLR 0 0 3rd ; b5 1 = FORCE MOTOR ENABLE 0 1 4th ; b4 1 = IAC ENABLE 1 0 2nd ; 1 1 1st ; b3 1 = IAC COIL B ON ; b2 1 = IAC COIL A ON ; b1 1 = 2 - 3 SOL ON, SHIFT B ; b0 1 = 1 - 2 SOL ON, SHIFT A ;----------------------------- L552F FDB $004D ; 68, IODPORTC, I/O PORT C ; ; b7 1 = FWD LOW SW (NO) 1=ON ; b6 (not used) ; b5 (not used) R1 R2 R3 GR ; b4 1 = RANGE SW 3 OFF 0 1 1 LOW ; 1 1 1 DR2 ; b3 1 = RANGE SW 2 OFF 1 1 0 DR3 ; b2 1 = RANGE SW 1 OFF 1 0 0 DR4 ; b1 1 = BK SW ON 1 0 1 P/N ; b0 1 = A/C REQUEST ON 0 0 1 REV ;----------------------------- L5531 FDB $4000 ; 69, EPROM ID,MSB L5533 FDB $4001 ; 70, EPROM ID,LSB ; ;----------------------------- L5535 FDB $012E ; 71,DSSDC 3-2 PWM SOL % DUTY CYCLE ; % = N / 2.56 ; ;----------------------------- L5537 FDB $0098 ; 72, FAULTFLG DISCRETE FAULT FLAGS ; ; b7 not used ; b6 not used ; b5 1 = SHIFT SOLENOID B VALID ; b4 1 = SHIFT SOLENOID A VALID ; ; b3 1 = INJECTOR 2 FAULT DETECTED ; b2 1 = INJECTOR 1 FAULT DETECTED ; b1 1 = QDM 2 FAULT DETECTED ; b0 1 = QDM 1 FAULT DETECTED ; ; ;--------------------------------- L5539 FDB $0081 ; 73, SHIFTED SHIFT WORD ; ; b7 1 = SHIFT IS COMPLETE ; b6 not used ; b5 1 = 2-4 JUMP SHIFT WHEN PRNDL = D3 ; b4 1 = SHIFT HAS STARTED ; ; b3 not used ; b2 not used ; b1 1 = DERIVATIVE SHIFT STARTED ; b0 1 = SLOPE OF DERIVATIVE IS NEGATIVE ; ;----------------------------- L553B FDB $0099 ; 74, PATTERN, MNP PATTERN ; ; b7 not used ; b6 not used ; b5 not used ; b4 not used ; ; b3 1 = ILLEGAL PATTERN REQUESTED ; b2 1 = "MANUAL" PATTERN REQUESTED ; b1 1 = "PERFORMANCE" PATTERN REQUESTED ; b0 1 = "NORMAL" PATTERN REQUESTED ; ;----------------------------- L553D FDB $02A7 ; 75, FILTMPH, MPH 0 - 255 MPH ; MPH/1 ; KPH = 1.61 ;----------------------------- L553F FDB $30C6 ; 76, RAW OUTPUT SPEED(MSB) L5541 FDB $30C7 ; 77, RAW OUTPUT SPEED(LSB) ; RPM = N/8 ;----------------------------- L5543 FDB $0197 ; 78, NDTHROPS, TPS FOR ENGINE ; (CURRENT NON-DEAULT VALUE) ; % * 2.56 ;----------------------------- L5545 FDB $00A2 ; 79, COOL TEMP ; deg c = n*.75 - 40 ; deg F = 1.35N - 40 ;----------------------------- L5547 FDB $00AE ; 80, TRANSDEGA, NORMALIZED TRANSMISSION FLUID TEMPERATURE ; NON-DEFAULTED ; deg c = N*.75 - 40 ; deg f = 1.35N - 40 ;--------------------------------------------- ;--------------------------------------------- ; DEVICE ID $F5, MODE 2 ; ; SEQUENTIAL MEMORY DUMP ;--------------------------------------------- L5549 FDB $0000 ; NEXT ENRTY ADDRESS ; L554B FCB $F5 ; DEVICE ID ; L554C FCB $40 ; MEM FLAG, TBL FROM RAM L554D FCB 65 ; NUM BYTES TO TX ; L554E FDB $036E ; ADDR OF OUTPUT BUFFER L5550 FDB $036E ; ADDR OF INPUT BUFFER ;--------------------------------------------- ;--------------------------------------------- ; DEVICE ID $F5, MODE 3 ; ; 8 ADDRESS RAMDOM MEM DUMP ;--------------------------------------------- L5552 FDB $0000 ; NEXT ENRTY ADDRESS ; L5554 FCB $F5 ; DEVICE ID L5555 FCB $40 ; MEM FLAG, TBL FROM RAM L5556 FCB $9 ; NUM BYTES TO TX ; L5557 FDB $036E ; ADDR OF OUTPUT BUFFER L5559 FDB $036E ; ADDR OF INPUT BUFFER ;--------------------------------------------- ;--------------------------------------------- ; DEVICE ID $F5, MODE 4 ; ; 'CONTROLLER MODE' ;--------------------------------------------- L555B FCB $0000 ; NEXT ENRTY ADDRESS ; L555D FCB $F5 ; DEVICE ID ; L555E FCB $00 ; MEM FLAG, NONE L555F FCB 1 ; NUM BYTES TO TX ; L5560 FDB $036E ; ADDR OF OUTPUT BUFFER L5562 FDB $036E ; ADDR OF INPUT BUFFER ;------------------------------------------------- ;------------------------------------------------- ; DEVICE ID $F5, MODE 10 ; ; MODE 10 (CLEAR MALFUNCTION CODES) ; ALDL REQUEST: ; - MESSAGE ID = $F5 ; - MESSAGE LENGTH = $56 ; - MODE = $0A ; - SUM CHECK ; ; THE PCM WILL RESPOND WITH THE FOLLOWING MESSAGE: ; - MESSAGE ID = $F5 ; - MESSAGE LENGTH = $56 ; - MODE = $0A ; - SUM CHECK ; ; RESET ERR'S ;------------------------------------------------- L5564 FDB $0000 ; NEXT ENRTY ADDRESS ; L5566 FCB $F5 ; DEVICE ID ; L5567 FCB $00 ; MEM FLAG, NONE L5568 FCB 1 ; NUM BYTES TO TX ; L5569 FDB $036E ; ADDR OF OUTPUT BUFFER L556B FDB $036E ; ADDR OF INPUT BUFFER ;---------------------------------------------- ;---------------------------------------------- ; INSTRUMENTION CALIB PARAM ; ; ;---------------------------------------------- ORG $55EE ; ; L55EE FDB $0086 ; DISP VAL SAVED TO THIS ADDR ON HI LIGHTS L55F0 FCB $00D3 ; DISP VAL SAVED TO THIS ADDR ON CAL POSIT NUM ;---------------------------------------------- *********************************************** * END OF ENGINE CALIBRATION * *********************************************** *********************************************** * DIAGNOSTIC MODE WORDS * ENGINE * * Dissassemby of BDWM TYPE $0D ECM * *********************************************** ;---------------------------------------------- ; DEFINED ENGINE ERRORS ;---------------------------------------------- ; ERR 13 o2 fail ; ERR 14 HI COOL TEMP ; ERR 15 LO COOL TEMP ; ERR 16 2002 PPM Vss FAIL ; ERR 21 HI TPS ; ERR 22 LO TPS ; ERR 23 MAT LOW ; ERR 24 LO OUTPUT XMISH SPD ; ERR 25 MAT HIGH ; ERR 27 XMISH PRESS MANIFOLD ; ERR 31 GOVERNER FAIL ; ERR 32 EGR FAIL ; ERR 33 MAP HI ; ERR 34 MAP LOW ; ERR 35 IAC FAIL ; ERR 36 IAC TPS KICKER FAIL ; ERR 37 BRAKE ON ; ERR 38 BRAKE OFF ; ERR 41 TX, (CAM) PULSE SENSOR FAIL ; ERR 42 EST MONITOR ERROR ; ERR 43 KNOCK SYS FAIL ; ERR 44 o2 LEAN ; ERR 46 VATS FAIL ; ERR 51 EPROM CKS SUM FAIL ; ERR 52 HI SYS VOLTAGE, LONG TEST ; ERR 53 HI SYS VOLTAGE ; ERR 54 FUEL PUMP RELAY FAIL ; ERR 58 HI XMIXH TEMP ; ERR 58 HI XMISH TEMP ; ERR 59 LO XMISH TEMP ; ERR 63 HIGH BARO PRESS ; ERR 64 LOW BARO PRESS ; ERR 66 3 -> 2 SHFT QUAD DVR FAIL ; ERR 67 TCC ENAB QUAD DVR FAIL ; ERR 68 XMISH SLIPPING ; ERR 69 TCC ON ; ERR 71 LOW ENGINE SPD ; ERR 72 OUTPUT SPD LOSS ; ERR 73 FORCE MOTOR CURRENT ; ERR 74 TURBINE SPEED ; ERR 75 LOW SYS VOLTAGE, ; ERR 77 MNP SWITCH ; ERR 79 HOT XMISH ; ERR 81 QUAD DVR 1 & SHFT B ERR ; ERR 82 QUAD DVR 1 & SHFT A ERR ; ERR 83 QUAD DVR 1 ERR ;---------------------------------------------- ;------------------------------ L5B00 FCB $F1 ; 1111 0001, ERR MASK 1 ; ; b7 1 = ERR 13, o2 fail ; b6 1 = ERR 14, HIGH COOLANT TEMP ; b5 1 = ERR 15, LOW COOLANT TEMP ; b4 1 = ERR 16, 2002 PPM Vss FAIL ; ; b3 1 = ERR 17 ; b2 1 = ERR 18 ; b1 1 = ERR 19 ; b0 1 = ERR 21, HIGH TPS ;------------------------------ L5B01 FCB $A2 ; 1010 0010, ERR MASK 2 ; ; b7 1 = ERR 22, TPS LOW ; b6 1 = ERR 23, MAT LOW ; b5 1 = ERR 24, OUTPUT XMISH SPD LOW ; b4 1 = ERR 25, MAT HIGH ; ; b3 1 = ERR 26, ; b2 1 = ERR 27, XMISH PRESS MANIFOLD ; b1 1 = ERR 28, ; b0 1 = ERR 29, ;------------------------------ L5B02 FCB $7B ; 0111 1011, ERR MASK 3 ; ; b7 1 = ERR 31, GOVERNER FAIL ; b6 1 = ERR 32, EGR FAIL ; b5 1 = ERR 33, MAP HI ; b4 1 = ERR 34, MAP LOW ; ; b3 1 = ERR 35, IAC FAIL ; b2 1 = ERR 36, IAC TPS KICKER FAIL ; b1 1 = ERR 37, BRAKE ON ; b0 1 = ERR 38, BRAKE OFF ; L5B03 FCB $3C ;0011 1100, Error mask 4 ; b7 1 = Error 39, ; b6 1 = Error 41, TX, (CAM) pulse sensor failure ; b5 1 = Error 42, EST mon. failure ; b4 1 = Error 43, ESC failure ; b3 1 = Error 44, O2 lean ; b2 1 = Error 45, O2 rich ; b1 1 = Error 46 VATS ; b0 1 = Error 47, ; L5B04 FCB $3C ; 0011 1100, ERR MASK 5 ; ; b7 1 = ERR 48, ; b6 1 = ERR 49, ; b5 1 = ERR 51, EPROM CKS SUM FAIL ; b4 1 = ERR 52, HI SYS VDC ERR, LONG TEST ; ; b3 1 = ERR 53,, HI SYS VDC ERR ; b2 1 = ERR 54, FUEL PUMP RELAY FAIL ; b1 1 = ERR 55, ; b0 1 = ERR 56, ;------------------------------ L5B05 FCB $60 ; 0110 0000, ERR MASK 6 ; ; b7 1 = ERR 57, ; b6 1 = ERR 58, HI XMISH TEMP ; b5 1 = ERR 59, LO XMISH TEMP ; b4 1 = ERR 61, ; ; b3 1 = ERR 62, ; b2 1 = ERR 63, HIGH BARO PRESS ; b1 1 = ERR 64, LOW BARO PRESS ; b0 1 = ERR 65, ;------------------------------ L5B06 FCB $D6 ; 1101 0110, ERR MASK 7 ; ; b7 1 = ERR 66, 3 -> 2 SHFT QUAD DVR FAIL ; b6 1 = ERR 67, TCC ENAB QUAD DVR FAIL ; b5 1 = ERR 68, XMISH SLIPPING ; b4 1 = ERR 69, TCC ON ; ; b3 1 = ERR 71, LOW ENGINE SPD ; b2 1 = ERR 72, OUTPUT SPD LOSS ; b1 1 = ERR 73, FORCE MOTOR CURRENT ; b0 1 = ERR 74, TURBINE SPEED ;------------------------------ L5B07 FCB $8E ; 1000 1110, ERR MASK 8 ; ; b7 1 = ERR 75, LOW SYS VOLTAGE, ; b6 1 = ERR 76, ; b5 1 = ERR 77, MNP SWITCH ; b4 1 = ERR 78, ; ; b3 1 = ERR 79, HOT XMISH ; b2 1 = ERR 81, QUAD DVR 1 & SHFT B ERR ; b1 1 = ERR 82, QUAD DVR 1 & SHFT A ERR ; b0 1 = ERR 83, QUAD DVR 1 ERR ;------------------------------ L5B08 FCB $0 ; 0000 0000, ERR MASK 9 ; ; b7 1 = ERR 84, ; b6 1 = ERR 85, RATIO UN-DEFINED OP REGION ; b5 1 = ERR 86, LOW RATIO ; b4 1 = ERR 87, HIGH RATIO ; ; b3 1 = ERR 88, ; b2 1 = ERR 89, MAX ADPT LONG SHFT ; b1 1 = ERR 91, ; b0 1 = ERR 92, ;------------------------------ L5B09 FCB $F1 ; 1111 0001, ERR MASK CK XMISH ; ; b7 1 = ERR 13, o2 SENSOR FAIL ; b6 1 = ERR 14, HI COOLANT TEMP ; b5 1 = ERR 15, LO COOLANT TEMP ; b4 1 = ERR 16, 2002 PPM Vss FAIL ; ; b3 1 = ERR 17 ; b2 1 = ERR 18 ; b1 1 = ERR 19 ; b0 1 = ERR 21, HIGH TPS ;------------------------------ L5B0A FCB $80 ; 1000 0000, ERR MASK CK XMISH ; ; b7 1 = ERR 22, TPS LOW ; b6 1 = ERR 23, MAT LOW ; b5 1 = ERR 24, OUTPUT XMISH SPD LOW ; b4 1 = ERR 25, MAT HIGH ; ; b3 1 = ERR 26, ; b2 1 = ERR 27, XMISH PRESS MANIFOLD ; b1 1 = ERR 28, ; b0 1 = ERR 29, ;------------------------------ L5B0B FCB $78 ; 0111 1000 ; ; b7 1 = ERR 31, GOVERNER FAIL ; b6 1 = ERR 32, EGR FAIL ; b5 1 = ERR 32, MAP HI ; b4 1 = ERR 34, MAP LOW ; ; b3 1 = ERR 35, IAC FAIL ; b2 1 = ERR 36, IAC TPS KICKER FAIL ; b1 1 = ERR 37, BRAKE ON ; b0 1 = ERR 38, BRAKE OFF ;------------------------------ L5B0C FCB $3C ; 0011 1100 ; ; b7 1 = ERR 39, ; b6 1 = ERR 41, TX, (CAM) PULSE SENSOR FAIL ; b5 1 = ERR 42, EST MONITOR ERROR ; b4 1 = ERR 43, KNOCK SYS FAIL ; ; b3 1 = ERR 44, o2 LEAN ; b2 1 = ERR 45, o2 RICH ; b1 1 = ERR 46, VATS FAIL ; b0 1 = ERR 47, ;------------------------------ L5B0D FCB $24 ; 0010 0100 ; ; b7 1 = ERR 48, ; b6 1 = ERR 49, ; b5 1 = ERR 51, EPROM CKS SUM FAIL ; b4 1 = ERR 52, HI SYS VDC ERR, LONG TEST ; ; b3 1 = ERR 53,, HI SYS VDC ERR ; b2 1 = ERR 54, FUEL PUMP RELAY FAIL ; b1 1 = ERR 55, ; b0 1 = ERR 56, ;------------------------------ L5B0E FCB $0 ; 0000 0000 ; ; b7 1 = ERR 57, ; b6 1 = ERR 58, HI XMISH TEMP ; b5 1 = ERR 59, LO XMISH TEMP ; b4 1 = ERR 61, ; ; b3 1 = ERR 62, ; b2 1 = ERR 63, HIGH BARO PRESS ; b1 1 = ERR 64, LOW BARO PRESS ; b0 1 = ERR 65, ;------------------------------ L5B0F FCB $0 ; 0000 0000 ; ; b7 1 = ERR 66, 3 -> 2 SHFT QUAD DVR FAIL ; b6 1 = ERR 67, TCC ENAB QUAD DVR FAIL ; b5 1 = ERR 68, XMISH SLIPPING ; b4 1 = ERR 69, TCC ON ; ; b3 1 = ERR 71, LOW ENGINE SPD ; b2 1 = ERR 72, OUTPUT SPD LOSS ; b1 1 = ERR 73, FORCE MOTOR CURRENT ; b0 1 = ERR 74, TURBINE SPEED ;------------------------------ L5B10 FCB $0 ; 0000 0000 ; ; b7 1 = ERR 75, LOW SYS VOLTAGE, ; b6 1 = ERR 76, ; b5 1 = ERR 77, MNP SWITCH ; b4 1 = ERR 78, ; ; b3 1 = ERR 79, HOT XMISH ; b2 1 = ERR 81, QUAD DVR 1 & SHFT B ERR ; b1 1 = ERR 82, QUAD DVR 1 & SHFT A ERR ; b0 1 = ERR 83, QUAD DVR 1 ERR ;------------------------------ L5B11 FCB $0 ; 0000 0000 ; ; b7 1 = ERR 84, ; b6 1 = ERR 85, RATIO UN-DEFINED OP REGION ; b5 1 = ERR 86, LOW RATIO ; b4 1 = ERR 87, HIGH RATIO ; ; b3 1 = ERR 88, ; b2 1 = ERR 89, MAX ADPT LONG SHFT ; b1 1 = ERR 91, ; b0 1 = ERR 92, ;----------------------------------- *********************************************** * RESET STORED ERR PARAM'S *********************************************** L5B12 FCB 50 ; 50 PWR UP WITH NO ERR RESET ERR'S *********************************************** * ERR QUALIFICTIONS * *********************************************** ;------------------------------ ; ERR 14/15 PARAMS ; ; L5B00 ENG ERR MASK'S ; b6 1 = ERR 14, HIGH COOLANT TEMP ; b5 1 = ERR 15, LOW COOLANT TEMP ;------------------------------ L5B13 FCB 42 ; 42d, A/D BIN COOLANT MAX TO ENBLE ERR 14 L5B14 FCB 5 ; 1 SEC REG FOR ERR 14 ; L5B15 FCB 254 ; A/D BIN COOLANT MIN TO ENBLE ERR 15 L5B16 FCB 10 ; 2 SEC REG FOR ERR 15 ; ; L5B17 FCB 173 ;90 deg C, default cool temp ; L5B18 FDB 0060 ;Engine runtime thresh to use high defualt cool temp L5B1A FCB 138 ;63.5 deg C, high default linear cool temp, used during run L5B1B FCB 80 ;20 deg C, low default linear cool temp, used during inital startup ; ;--------------------------------------------- ; ERR 21/22 ; ;--------------------------------------------- L5B1C FCB 249 ; A/D TPS MIN FOR ERR 21 L5B1D FCB 160 ; 4 SEC QUAL TIME FOR ERR 21 L5B1E FCB 255 ;Threshold to set error 221 ; L5B1F FCB 8 ; A/D TPS MAX FOR ERR 22 L5B20 FCB 160 ; 4 SEC QUAL TIME FOR ERR 22 L5B21 FCB 5 ;Threshold to set error 22 ; L5B22 FCB 90 ;35%, default TPS L5B23 FCB 9 ; 9 A/D TPS COUNTS DEFAULT ; ;~~~~~~~~~~~~~~~~~~~~~~ ;-TPS self zero params ;~~~~~~~~~~~~~~~~~~~~~~ ; L5B24 FCB 64 ;25%, max idle %TPS L5B25 FCB 16 ;Filter coeff for idle %TPS L5B26 FCB 92 ;Scalar for %TPS L5B27 FCB 240 ;%TPS filter coeff. ; ;~~~~~~~~~~~~~~~~~~~~~ ;-Kickdown TPS params ;~~~~~~~~~~~~~~~~~~~~~ ; L5B28 FCB 255 ;Filter coeff, trans. TPS L5B29 FCB 1 ; TPS OFFSET INCR for EACH DECEL L5B2A FCB 10 ; 5 MPH Vss TO QULIFY DECEL for TPS INCREASE ;--------------------------------------------- ;--------------------------------------------- ; XMSISH DIAGNOSTIC PARAM'S ; ;--------------------------------------------- ;--------------------------------------------- ; DEFINED XMISH ERRORS ;--------------------------------------------- ; Err 14 HI COOL TEMP ; Err 15 LO COOL TEMP ; Err 21 HI TPS ; Err 22 LO TPS ; Err 24 LO OUTPUT XMISH SPD ; Err 28 PRESS SW MANAFOLD ; Err 37 BRAKE ON ; Err 38 BRAKE OFF ; Err 52 HI SYS VOLTAGE, LONG TEST ; Err 53 HI SYS VOLTAGE ; Err 58 HI XMIXH TEMP ; Err 59 LO XMISH TEMP ; Err 63 HI BARO PRESS ; Err 64 LO BARO PRESS ; Err 66 3 -> 2 SHFT QUAD DVR FAIL ; Err 67 TCC ENAB QUAD DVR FAIL ; Err 68 XMISH SLIPPING ; Err 69 TCC ON ; Err 71 LOW ENGINE SPD ; Err 72 OUTPUT SPD LOSS ; Err 73 FORCE MOTOR CURRENT ; Err 75 SYSTEM LOW VOLTAGE ; Err 79 HOT XMISH ; Err 81 QUAD DVR 1 & SHFT B ERR ; Err 82 QUAD DVR 1 & SHFT A ERR ; Err 83 QUAD DVR 1 ERR ; Err 86 LO RATIO ; Err 87 HI RATIO ; Err 89 MAX ADPT LONG SHIFT ;--------------------------------------------- ; ;~~~~~~~~~~~~~~~~~~~ ;-Diag. word masks ;~~~~~~~~~~~~~~~~~~~ ; ;-1 = Recognize error ; L5B2B FCB $61 ;1100 0001, Error word #1 mask ; b7, 1=Err 13, O2 error ; b6, 1=Err 14, High cool temp ; b5, 1=Err 15, Low cool temp ; b4, 1=Err 16, 2002 PPM VSS error ; b3, 1=Err 17 ; b2, 1=Err 18 ; b1, 1=Err 19 ; b0, 1=Err 21, High TPS error ; L5B2C FCB $A2 ;1010 0010, Error word #2 mask ; b7, 1=Err 22, TPS low ; b6, 1=Err 23, MAT low ; b5, 1=Err 24, output trans. speed low ; b4, 1=Err 25, MAT high ; b3, 1=Err 26, ; b2, 1=Err 27, ; b1, 1=Err 28, Trans. press. manifold ; b0, 1=Err 29, ; L5B2D FCB $33 ;0011 0011 Error word #3 mask ; b7 1 = Err 31, Governer fail ; b6 1 = Err 32, EGR fail ; b5 1 = Err 32, MAP high ; b4 1 = Err 34, MAP low ; b3 1 = Err 35, IAC fail ; b2 1 = Err 36, IAC TPS kicker fail ; b1 1 = Err 37, Brake sw. on ; b0 1 = Err 38, Brake sw. off ; ;------------------------------ L5B2E FCB $00 ; 0000 0000 MASK XMISSH ERR WD 4 ; ; b7 1 = Err 39, ; b6 1 = Err 41, TX, (CAM) PULSE SENSOR FAIL ; b5 1 = Err 42, EST MONITOR ERROR ; b4 1 = Err 43, KNOCK SYS FAIL ; ; b3 1 = Err 44, o2 LEAN ; b2 1 = Err 45, o2 RICH ; b1 1 = Err 46, VATS FAIL ; b0 1 = Err 47, ;------------------------------ L5B2F FCB $18 ;0001 1000, Diag. word #5 mask ; ; b7 1 = Err 48, ; b6 1 = Err 49, ; b5 1 = Err 51, EPROM check sum fail ; b4 1 = Err 52, Hi system voltage, long test ; b3 1 = Err 53, Hi system voltage ; b2 1 = Err 54, Fuel pump relay failure ; b1 1 = Err 55, ; b0 1 = Err 56, ; L5B30 FCB $60 ; 0110 0000, Diag. word #6 mask ; b7 1 = Err 57, ; b6 1 = Err 58, High trans temp ; b5 1 = Err 59, Low trans temp ; b4 1 = Err 61, ; b3 1 = Err 62, ; b2 1 = Err 63, High baro pressure ; b1 1 = Err 64, Low baro pressure ; b0 1 = Err 65, ; L5B31 FCB $D6 ;1101 0110, Diag. word #7 mask ; b7, 1 = Err 66, 3 -> 2 shift quad driver fail ; b6, 1 = Err 67, TCC enable quad driver fail ; b5, 1 = Err 68, Trans. slipping ; b4, 1 = Err 69, TCC on ; b3, 1 = Err 71, Low engine speed ; b2, 1 = Err 72, Output speed loss ; b1, 1 = Err 73, Force motor current ; b0, 1 = Err 74, Turbine speed ; L5B32 FCB $8E ; 1000 1110, ERR WD 8 ; ; b7 1 = Err 75, LOW SYS VOLTAGE, ; b6 1 = Err 76, ; b5 1 = Err 77, MNP SWITCH ; b4 1 = Err 78, ; ; b3 1 = Err 79, HOT XMISH ; b2 1 = Err 81, QUAD DVR 1 & SHFT B ERR ; b1 1 = Err 82, QUAD DVR 1 & SHFT A ERR ; b0 1 = Err 83, QUAD DVR 1 ERR ; L5B33 FCB $0 ; 0000 0000, Trans. diag. word #9 mask ; ; b7 1 = Err 84, ; b6 1 = Err 85, Ratio undefined op region ; b5 1 = Err 86, Low ratio ; b4 1 = Err 87, High ratio ; b3 1 = Err 88, ; b2 1 = Err 89, Max adapt long shift ; b1 1 = Err 91, ; b0 1 = Err 92, ; ;~~~~~~~~~~~~~ ;-Diag. words ;~~~~~~~~~~~~~ ; ;-0 = enable error ; L5B34 FCB $0 ;0000 0000, Diag. word #1 ; b7, 0=Err 13, o2 error ; b6, 0=Err 14, High cool temp ; b5, 0=Err 15, Low cool temp ; b4, 0=Err 16, 2002 PPM VSS error ; b3, 0=Err 17 ; b2, 0=Err 18 ; b1, 0=Err 19 ; b0, 0=Err 21, High TPS error ; L5B35 FCB $0 ;0000 0000, Diag. word #2 ; b7, 0=Err 22, TPS low ; b6, 0=Err 23, MAT low ; b5, 0=Err 24, output trans. speed low ; b4, 0=Err 25, MAT high ; b3, 0=Err 26, ; b2, 0=Err 27, trans. press. manifold ; b1, 0=Err 28, ; b0, 0=Err 29, ; ;------------------------------ L5B36 FCB $0 ; 0000 0000 XMISH ERR WD 3 ALT ; ; b7 1 = Err 31, GOVERNER FAIL ; b6 1 = Err 32, EGR FAIL ; b5 1 = Err 32, MAP HI ; b4 1 = Err 34, MAP LOW ; ; b3 1 = Err 35, IAC FAIL ; b2 1 = Err 36, IAC TPS KICKER FAIL ; b1 1 = Err 37, BRAKE ON ; b0 1 = Err 38, BRAKE OFF ;------------------------------ L5B37 FCB $0 ; 0000 0000 XMISH ERR WD 4 ALT ; ; b7 1 = Err 39, ; b6 1 = Err 41, TX, (CAM) PULSE SENSOR FAIL ; b5 1 = Err 42, EST MONITOR ERROR ; b4 1 = Err 43, KNOCK SYS FAIL ; ; b3 1 = Err 44, o2 LEAN ; b2 1 = Err 45, o2 RICH ; b1 1 = Err 46, VATS FAIL ; b0 1 = Err 47, ;------------------------------ L5B38 FCB $0 ; 0000 0000 XMISH ERR WD 5 ALT ; ; b7 1 = Err 48, ; b6 1 = Err 49, ; b5 1 = Err 51, EPROM CKS SUM FAIL ; b4 1 = Err 52, HI SYS VDC ERR, LONG TEST ; ; b3 1 = Err 53,, HI SYS VDC ERR ; b2 1 = Err 54, FUEL PUMP RELAY FAIL ; b1 1 = Err 55, ; b0 1 = Err 56, ; L5B39 FCB $0 ; 0000 0000 XMISH ERR WD 6 ALT ;------------------------------ ; b7 1 = Err 57, ; b6 1 = Err 58, HI XMISH TEMP ; b5 1 = Err 59, LO XMISH TEMP ; b4 1 = Err 61, ; ; b3 1 = Err 62, ; b2 1 = Err 63, HIGH BARO PRESS ; b1 1 = Err 64, LOW BARO PRESS ; b0 1 = Err 65, ;------------------------------ ; L5B3A FCB $0 ;0000 0000, Diag. word #7 ; b7, 0 = Err 66, 3 -> 2 shift quad driver fail ; b6, 0 = Err 67, TCC enable quad driver fail ; b5, 0 = Err 68, Trans. slipping ; b4, 0 = Err 69, TCC on ; b3, 0 = Err 71, Low engine speed ; b2, 0 = Err 72, Output speed loss ; b1, 0 = Err 73, Force motor current ; b0, 0 = Err 74, Turbine speed ; L5B3B FCB $0 ;0000 0000 XMISH ERR WD 8 ALT ; b7 1 = Err 75, LOW SYS VOLTAGE, ; b6 1 = Err 76, ; b5 1 = Err 77, MNP SWITCH ; b4 1 = Err 78, ; b3 1 = Err 79, HOT XMISH ; b2 1 = Err 81, QUAD DVR 1 & SHFT B ERR ; b1 1 = Err 82, QUAD DVR 1 & SHFT A ERR ; b0 1 = Err 83, QUAD DVR 1 ERR ; L5B3C FCB $0 ;0000 0000 Diag. word #9 ; ; b7 0 = Error 84 ; b6 0 = Err 85, Ratio undefined op region ; b5 0 = Err 86, low ratio ; b4 0 = Err 87, high ratio ; b3 0 = Err 88, ; b2 0 = Err 89, Max adapt long shift ; b1 0 = Err 91, ; b0 0 = Err 92, ; ;--------------------------------------------- ; ERR 24, LO OUTPUT XMISH SPD ; ;--------------------------------------------- L5B3D FDB 2000 ; 250 XMISH OUTPUT SPD MAX TO SET ERR 24 L5B3F FDB 24000 ; 3000 RPM MINTO SET ERR 24 ; L5B41 FCB 120 ; 3 sec TIME QUALIFICATION FOR ERR 24 L5B42 FCB 255 ;Min threshold to set error 24 ; ; L5B43 FDB 37519 ;2.289:1, ratio for reverse gear ; L5B45 FCB 100 ; IF LD L.T. 100 Kpa, DISABLE Err 24 TEST L5B46 FCB 255 ; IF LD G.T. 255 Kpa, DISABLE Err 24 TEST L5B47 FCB 26 ; IF TPS L.T. 10% TPS, DISABLE Err 24 TEST L5B48 FCB 255 ; IF TPS G.T. 99.6% TPS, DISABLE Err 24 TEST ; ;-------------------------------------------------- ; 4 line tbl ; TRANSMISSION GEAR RATIOS ; ; TYPE $0D ECM ; ; CAL = RATIO * 2^14 ; CAL = RATIO * 16384) ;-------------------------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Transmission gear ratios ;~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Gear ratio = val/16384 ;Gear # ; L5B49 FDB 50135 ;1st FDB 26705 ;2nd FDB 16384 ;3rd FDB 11468 ;4th ; ;-------------------------------------------------- ; ERR 28, PRESS SW MANAFOLD ; ;-------------------------------------------------- L5B51 FCB 80 ; 2 Sec CRITERIA FOR ERR 28 L5B52 FCB 255 ;Threshold to set error ;-------------------------------------------------- ;-------------------------------------------------- ; ERR 37, BRAKE ON ; ;-------------------------------------------------- L5B53 FCB 10 ; IF 5 MPH, CK FOR HI MPH BRAKE ON L5B54 FCB 40 ; IF 20 MPH & BRAKE STILL ON SET ERR 37 L5B55 FCB 60 ; 6 SECS CRITERIA FOR ERR 37 L5B56 FCB 60 ; 6 SECS CRITERIA FOR ERR 37 L5B57 FCB 7 ; 7 ERR CNTS MIN TO ENABLE ERR 37 L5B58 FCB 255 ;Threshold to set error ;-------------------------------------------------- ;-------------------------------------------------- ; ERR 38, BRAKE OFF ; ;-------------------------------------------------- L5B59 FCB 40 ; IF G.T. 20 MPH CK LO MPH BRAKE OFF L5B5A FCB 10 ; IF L.T. 5 MPH CK LO MPH BRAKE OFF ; TIME ERR L5B5B FCB 60 ; 6 SECS CRITERIA FOR ERR 38 L5B5C FCB 60 ; 6 SECS CRITERIA FOR ERR 38 L5B5D FCB 7 ; 7 ERR CNTS MIN TO ENABLE ERR 37 L5B5E FCB 255 ;Threshold to set error ;-------------------------------------------------- ;-------------------------------------------------- ; ERR 52, HI SYS VOLTAGE, LONG TEST ; ;-------------------------------------------------- L5B5F FCB 160 ; IF BATT G.T. 16 VDC ENABLE ERR 52 L5B60 FDB 65535 ; IF COND G.T 6553.5 SEC, SET ERR 52 ;-------------------------------------------------- ;-------------------------------------------------- ; ERR 53, HI SYS VOLTAGE ; ;-------------------------------------------------- L5B62 FCB 195 ; IF BATT G.T. 19.5 VDC ENABLE ERR 53 L5B63 FCB 20 ; IF COND G.T 2 SEC, SET ERR 53 ;-------------------------------------------------- ;-------------------------------------------------- ; ERR 58, HI XMIXH TEMP ; ;-------------------------------------------------- L5B64 FCB 17 ; IF TRANS TEMP (A/D) L.T. 17 ENABLE ERR 58 L5B65 FCB 5 ; 1 SEC CRITERIA L5B66 FCB 227 ;130 deg C, default trans temp ;-------------------------------------------------- ;-------------------------------------------------- ; ERR 59, LO XMISH TEMP ; ;-------------------------------------------------- L5B67 FCB 251 ; IF TRANS TEMP (A/D) GT. 251 INABLE ERR 59 L5B68 FCB 5 ; 1 SEC CRITERIA ;-------------------------------------------------- ;-------------------------------------------------- ; ERR 63, HI BARO PRESS ; ;-------------------------------------------------- L5B69 FCB 249 ; IF BARO (A/D) G.T. 249 INABLE ERR 63 L5B6A FCB 20 ; 0.5 SEC CRITERIA L5B6B FDB 32768 ; DEFAULT 100 Kpa BARO IF ERR 63 ;-------------------------------------------------- ;-------------------------------------------------- ; ERR 64, LO BARO PRESS ; ;-------------------------------------------------- L5B6D FCB 3 ; IF BARO (A/D) L.T. 3 INABLE ERR 64 L5B6E FCB 20 ; 0.5 SEC CRITERIA L5B6F FDB 32768 ; DEFAULT 100 Kpa BARO IF ERR 64 ;-------------------------------------------------- ;-------------------------------------------------- ; ERR 66, 3 -> 2 SHIFT QUAD DVR FAIL ; ;-------------------------------------------------- L5B71 FCB 40 ; 4 SEC CRITERIA FOR ERR 66 L5B72 FCB 255 ; 255 ERR CNTS MIN TO SET ERR 66 ;-------------------------------------------------- ;-------------------------------------------------- ; ERR 67, TCC ENAB QUAD DVR FAIL ; ;-------------------------------------------------- L5B73 FCB 20 ; 2 SEC CRITERIA FOR ERR 67 L5B74 FCB 255 ;Threshold to set error ;-------------------------------------------------- ;-------------------------------------------------- ; ERR 68, XMISH SLIPPING ; ;-------------------------------------------------- L5B75 FDB 0320 ; IF SLIP G.T. 100 RPM, TCC NOT LOCKED L5B77 FCB 255 ;sec. x 10 threshold to set error L5B78 FCB 10 ;Threshold to set error L5B79 FCB 10 ;Threshold to set error ;-------------------------------------------------- ;-------------------------------------------------- ; ERR 69, TCC ON ; ;-------------------------------------------------- L5B7A FDB 0160 ; IF SLIP G.T. 20 RPM, TCC UN-LOCKED L5B7C FDB 65376 ; IF SLIP L.T or E.Q. -20 RPM, TCC UN-LOCKED L5B7E FCB 40 ; 4 SECS CRITERIA FOR ERR 69 L5B7F FCB 64 ; IF TPS L.T oR E.Q 25% DISABLE ERR 69 ;-------------------------------------------------- ;-------------------------------------------------- ; ERR 71, LOW ENGINE SPD ; ;-------------------------------------------------- L5B80 FDB 1600 ; IF ENG SPD L.T 200 RPM ENABLE ERR 71 L5B82 FCB 80 ; 2 SECS CRITERIA FOR ERR 71 L5B83 FDB 2400 ; IF ENG SPD L.T 300 RPM ENABLE ERR 71 ;-------------------------------------------------- ;-------------------------------------------------- ; ERR 72, OUTPUT SPD LOSS ; ;-------------------------------------------------- L5B85 FDB 8000 ; IF ABS G.T. 1000 RPM ENABLE ERR 72 ; USED IF NOT IN PK/NEUT ; L5B87 FDB 16384 ; IF ABS G.T. 2048 RPM ENABLE ERR 72 ; USED IF NOT IN PK/NEUT ; L5B89 FDB 1600 ; IF NE L.T. 200 RPM SKIP TEST ; L5B8B FCB 255 ; IF ERR CNT'R G.T. 255 SET ERR 72 L5B8C FCB 80 ; 2 SECS CRITERIA FOR ERR 72 ;-------------------------------------------------- ;-------------------------------------------------- ; ERR 73, FORCE MOTOR CURRENT ; ;-------------------------------------------------- L5B8D FCB 8 ; IF CURRENT G.T 160 MA ERR 73 ; ; CAL = AMPS * 51.2 L5B8E FCB 20 ; 2 SECS CRITERIA FOR ERR 73 L5B8F FCB 10 ; IF ERR CNT'R G.T. 10 SET ERR 72 ;-------------------------------------------------- ;-------------------------------------------------- ; ERR 75, SYSTEM LOW VOLTAGE ; ;-------------------------------------------------- L5B90 FCB 73 ; 7.3 VDC LO TEMP VOLTAGE L5B91 FCB 114 ; 11.4 VDC HI TEMP VOLTAGE L5B92 FCB 83 ; 8.3 VDC LO TEMP RECOVERY VOLTAGE L5B93 FCB 124 ; 12.4 VDC HI TEMP RECOVERY VOLTAGE ; L5B94 FCB 40 ; 4 SECS CRITERIA FOR ERR 75 L5B95 FDB 1600 ; IF NE L.T. 200 RPM SKIP TEST ;-------------------------------------------------- ;-------------------------------------------------- ; ERR 77, MNP SWITCH ; ;-------------------------------------------------- L5B97 FCB 40 ; 1 SECS CRITERIA FOR ERR 77 ;-------------------------------------------------- ;-------------------------------------------------- ; ERR 79, HOT XMISH ; ;-------------------------------------------------- L5B98 FCB 236 ; Clear ERR IF TEMP L.T. 137 Deg c L5B99 FCB 248 ; SET ERR IF TEMP G.T. 146 Deg c L5B9A FDB 18000 ; 1800 SEC CRITERIA FOR ERR 79 ;-------------------------------------------------- ;-------------------------------------------------- ; ERR 81, QUAD DVR 1 & SHFT B ERR ; ;-------------------------------------------------- L5B9C FCB 20 ; 2 SEC CRITERIA FOR ERR 81 L5B9D FCB 255 ;Threshold to set error ;-------------------------------------------------- ;-------------------------------------------------- ; ERR 82, QUAD DVR 1 & SHFT A ERR ; ;-------------------------------------------------- L5B9E FCB 20 ; 2 SEC CRITERIA FOR ERR 82 L5B9F FCB 255 ; IF ERR CNT'R G.T. 255 SET ERR 82 ;-------------------------------------------------- ;-------------------------------------------------- ; ERR 83, QUAD DVR 1 ERR ; ;-------------------------------------------------- L5BA0 FCB 20 ; 2 SEC CRITERIA FOR ERR 83 L5BA1 FCB 5 ;Threshold to set error ;-------------------------------------------------- ; ;~~~~~~~~~ ;Error 85 ;~~~~~~~~~ ; L5BA2 FCB 10 ;Threshold to set error ; ;-------------------------------------------------- ; ERR 86, LO RATIO ; ;-------------------------------------------------- L5BA3 FCB 65535 ; IF L.T 16383.6:1 SET ERR 86 L5BA5 FCB 255 ; IF TPS L.T or E.Q 99.6% SKIP L5BA6 FCB 255 ; IF MPH L.T or E.Q 127.5 SKIP L5BA7 FCB 255 ; 25.5SEC CRITERIA FOR ERR 86 L5BA8 FCB 255 ;Threshold to set error ;-------------------------------------------------- ;-------------------------------------------------- ; ERR 87, HI RATIO ; ;-------------------------------------------------- L5BA9 FDB 0000 ; IF L.T 0:1 SET ERR 87 L5BAB FCB 255 ; IF TPS L.T or E.Q 99.6% SKIP L5BAC FCB 255 ; IF XMISH TEMP G.T 151 ENABLE 87 L5BAD FCB 255 ; 25.5SEC CRITERIA FOR ERR 87 L5BAE FCB 255 ;Threshold to set error ;-------------------------------------------------- ;-------------------------------------------------- ; ERR 89, MAX ADPT LONG SHIFT ; ;-------------------------------------------------- L5BAF FCB 0 ; IF XMISH TEMP L.T. or E.Q. -40 ENABLE 89 L5BB0 FCB 0 ; IF TPS L.T. or E.Q. 0% SKIP 89 L5BB1 FCB 255 ; IF MPH L.T. or E.Q. 127.5 SKIP 89 L5BB2 FCB 0 ; IF 1 -> 2 TIME L.T. or E.Q. 0 SKIP 89 L5BB3 FCB 0 ; IF 2 -> 3 TIME L.T. or E.Q. 0 SKIP 89 L5BB4 FCB 0 ; IF 3 -> 4 TIME L.T. or E.Q. 0 SKIP 89 L5BB5 FCB 0 ; IF ERR CNT'R G.T. 0 SET ERR 89, (1 -> 2) L5BB6 FCB 0 ; IF ERR CNT'R G.T. 0 SET ERR 89, (2 -> 3) L5BB7 FCB 0 ; IF ERR CNT'R G.T. 0 SET ERR 89, (3 -> 4) L5BB8 FCB 0 ;Threshold to set error ;-------------------------------------------------- ************************************ * END OF XMISSION DIAGNOSTIC PARAMS ************************************ ; BDWM 94 5.7L V8 ; TYPE 0D ECM *************************************************** * BDWM/9042 P/N 16189041 10-11-1993 15:54:04 * 3/4/94 WAS * * * 5.7L V8 C1 M30 GT4 (3.73) NB2 NB6 TIER 1 * ECM TYPE $0D * ECM P/N 16196395 ECM * * 4L60E XMISSION PARAMS * TYPE $0D ECM * 5.7l L05 * *************************************************** ORG $5D00 L5D00 FDB $9CB6 ; EPROM ID FOR XMISH ; ;-------------------------------------- L5D02 FCB $21 ;0010 0001, Option byte ; b7= ; b6= ; b5, 1 = Force 2nd gear if in OD and not in manualFORCE 2ND GR IF IN D2 AND NOT MANUAL ; b4, 0 = Output speed from dig. ratio adaptor. ; b3= ; b2, 1=Use MAP and baro, 0=MAP only ; b1= ; b0, 1 = Allow TPS hyst. buffer every 25 msecs ; ;-------------------------------------- L5D03 FCB $1F ; 0001 1111, BYTE 2, filter mode wd ; ; b7 ; b6 ; b5 ; b4 1 = Filter 4 wheel drive low input ; ; b3 1 = Filter cruise input ; b2 1 = Filter A/C input ; b1 1 = Filter pattern inputs ; b0 1 = Filter range inputs ;-------------------------------------- L5D04 FCB 4 ;val./160 = .025 sec, min time for brake switch change state ; L5D05 FCB 121 ;5.1 kPa/256 counts, trans baro scalar L5D06 FDB 3513 ;7.31 kPa, trans baro bias L5D08 FCB 64 ; 87 msec, baro filt time const ; L5D09 FCB 101 ;Transmission temperature filter coeff. L5D0A FCB 12 ;Engine coolant for transmission filter coeff. L5D0B FCB 52 ; 0.303, converter slip filter ; L5D0C FCB 3 ; 70 msec, power train rest time thresh L5D0D FCB 0 ; FLAG, 0, non z to disable manual mode L5D0E FCB 21 ; 21 samples for derivative calc ;---------------------------------------------- ;============================================== ; SPEED SENSOR CALIBRATION PARAM'S ; (2^14 TIME BASE) ; ;============================================== ; ; FILTER CONSTANTS ; L5D0F: FCB 64 ; 0.260, RPM filter L5D10: FCB 252 ; 0.984, INPUT SPD FILTER L5D11 FCB 252 ; 0.984, XMISH INPUT SPD FILTER ; (TOS filt const) ; L5D12: FCB 1 ; 20 msec max period between Xmish output pulses ; ;---------------------------------------------- L5D13 FDB 43686 ; 0.750:1, Overdirve Ratio ; 0.5 to 2:1, 2^15/Ratio ; ;---------------------------------------------- L5D15 FCB 252 ;Transmission output speed filter ; ;---------------------------------------------- L5D16 FDB 44564 ; 2.72:1 4WD LO RATIO ; VAL = RATIO * 16,384 ; ;---------------------------------------------- L5D18 FDB 45773 ; 44.70:1 NO/VS RATIO <-------***** ; VAL = RATIO * 1024 ; ; Ratio = (Tire Rev's Mile x Gear Ratio)/60 ; = (721 x 3.73)/60 = 44.82 ; [721 = 235/75R16], 95 TAHOE ; ; ;---------------------------------------------- L5D1A: FCB 252 ; 0.984, Vss filter *********************************************** * KICK DOWN * *********************************************** ; ;~~~~~~~~~~~~~~~~~~~~~ ;-Kickdown TPS params ;~~~~~~~~~~~~~~~~~~~~~ ; L5D1B FCB 242 ;95% TPS, threshold to enable kickdown L5D1C FCB 230 ;90.2% TPS, threshold to disable kickdown ; ;---------------------------------------------- ;---------------------------------------------- ; POWER TRAIN MOTION PARAMS ; ;---------------------------------------------- L5D1D FDB 1600 ; 200 RPM MIN FOR PT IN MOTION ; RPM * 8 ; L5D1F FDB 65535 ; 8191.9 RPM VEH SPD MIN FOR IN MOTION ; RPM * 8 ; L5D21 FDB 65535 ; 8191.9 RPM TURBINE SPD MIN FOR IN MOTION ; RPM * 8 ;---------------------------------------------- ; 4WD LOW PARAMS ; ;---------------------------------------------- L5D23 FDB 160 ; 4 sec DISABLE ERR 72 4 SEC DURING 4WD ; LO -> HI/HI -> LO *********************************************** * DATA SHIFT POINT CONTROL * (shift pattern params) *********************************************** L5D24 FCB 0 ; 0 SEC'S, TCC off time prior to dn shift ; L5D25 FCB 10 ; 10 SEC'S, 3 -> 2 shift delay ; L5D26 FCB 2 ; 2 Sec's, 4 -> 2 shift delay lo lmt L5D27 FCB 15 ; 15 Sec's, 4 -> 2 shift delay hi lmt ; L5D28 FCB 29 ; -18c COOL, Lo lmt for 4th Gear disable L5D29 FCB 33 ; -15c COOL, Lo lmt for 4th Gear ok ; L5D2A FCB 93 ;30 deg C, lower cold shift bound L5D2B FCB 100 ;35 deg C, upper cold shift bound ; L5D2C FCB 128 ; 0 BASE SHIFT POINT COMP GAIN ; ;---------------------------------------------- ; SOFT LANDING ROUTINE ??? ; ;---------------------------------------------- L5D2D FDB 5200 ; 650 RPM ;---------------------------------------------- ; MIN/MAX SHIFT POINT VAL'S ; ;---------------------------------------------- L5D2F FCB 0 ; 0 MPH MIN VAL FOR SHIFT POINT, ; MUST BE A 0 ; L5D30 FCB 255 ; 1275. MAX VAL FOR SHIFT POINT, ; must be 255 ;---------------------------------------------- ;---------------------------------------------- ; LOW PK/NEUT PARAMS MANUAL LOW ; (WILL FORCE 1 -> 2) ;---------------------------------------------- L5D31 FCB 56 ; 28 MPH LOW MODE 1 -> 2 SHIFT THRESH L5D32 FCB 52 ; 26 MPH LOW MODE 2 -> 1 SHIFT THRESH ;---------------------------------------------- *********************************************** * The following table are 'AND' with * RPM kickdown tables, (3) * * MY94 TYPE $0D, BDHM *********************************************** ;---------------------------------------------- ; KICK DOWN MODE Vs GEAR THRESH TABLE, (NORMAL) ; 6 LINES ; ; SEE RPM QUALIFIER AT L5D45 (3 LINE TBL) ; ; TBL VAL = MPH * 2 ;---------------------------------------------- ORG $5D33 ; RPM GEAR SHIFT ;---------------------------------- L5D33 FCB 56 ; 28.0 MPH 1 -> 2 L5D34 FCB 106 ; 53.0 MPH 2 -> 3 L5D35 FCB 254 ; 127.0 MPH 3 -> 4 ; L5D36 FCB 46 ; 23.0 MPH 2 -> 1 L5D37 FCB 98 ; 49.0 MPH 3 -> 2 L5D38 FCB 250 ; 125.0 MPH 4 -> 3 ;---------------------------------------------- ;---------------------------------------------- ; KICK DOWN MODE THRESH TABLE, (HOT) ; 6 LINES ; ; SEE RPM QUALIFIER AT L5D4B (3 LINE TBL) ; ; TBL VAL = MPH * 2 ;---------------------------------------------- ORG $5D39 ; RPM GEAR SHIFT ;---------------------------------- L5D39 FCB 55 ; 25.0 MPH 1 -> 2 L5D3A FCB 101 ; 50.5 MPH 2 -> 3 L5D3B FCB 254 ; 127.0 MPH 3 -> 4 ; L5D3C FCB 45 ; 22.5 MPH 2 -> 1 L5D3D FCB 93 ; 41.5 MPH 3 -> 2 L5D3E FCB 244 ; 122.0 MPH 4 -> 3 ;---------------------------------------------- ;---------------------------------------------- ; KICK DOWN MODE THRESH TABLE, (COLD MODIFER) ; 6 LINES ; ; TBL VAL = MPH -128 (128 = 0 MPH MOD) ;---------------------------------------------- ORG $5D3F ; RPM GEAR SHIFT ;---------------------------------- L5D3F FCB 124 ; -2 MPH 1 -> 2 L5D40 FCB 122 ; -3 MPH 2 -> 3 L5D41 FCB 128 ; 0 MPH 3 -> 4 ; L5D42 FCB 124 ; -2 MPH 2 -> 1 L5D43 FCB 122 ; -3 MPH 3 -> 2 L5D44 FCB 128 ; 0 MPH 4 -> 3 ;---------------------------------------------- ;---------------------------------------------- ; KICK DOWN MODE THRESH TABLE, (NORMAL) ; 3 LINES ; ; TBL VAL = RPM * 8 ;---------------------------------------------- ORG $5D45 ; RPM GEAR SHIFT ;---------------------------------- L5D45 FDB 32000 ; 4000 RPM 1 -> 2 L5D47 FDB 32000 ; 4000 RPM 2 -> 3 L5D49 FDB 65535 ; 8192 RPM 3 -> 4 ;---------------------------------------------- ;---------------------------------------------- ; KICK DOWN MODE THRESH TABLE, (HOT) ; 3 LINES ; ; TBL VAL = RPM * 8 ;---------------------------------------------- ORG $5D4B ; RPM GEAR SHIFT ;---------------------------------- L5D4B FDB 30370 ; 3796 RPM 1 -> 2 L5D4D FDB 30370 ; 3796 RPM 2 -> 3 L5D4F FDB 65535 ; 8192 RPM 3 -> 4 ;---------------------------------------------- ;---------------------------------------------- ; KICK DOWN MODE THRESH TABLE, (COLD MOD) ; 3 LINES ; TBL VAL = ;---------------------------------------------- ORG $5D51 ; RPM GEAR SHIFT ;---------------------------------- L5D51 FDB 63936 ; -200 RPM 1 -> 2 L5D53 FDB 63936 ; -200 RPM 2 -> 3 L5D55 FDB 63936 ; -200 RPM 3 -> 4 ;---------------------------------------------- *********************************************** *********************************************** * MANUAL UP SHIFT CALIBRATIONS * *********************************************** ;---------------------------------------------- ; MANUAL 1 -> 2 SHIFT Vs. %TPS ; ; ; Dissassemby of BDWM ; ; TBL = MPH * 2 ;---------------------------------------------- ORG $5D57 ; MPH %TPS ;---------------------------------- L5D57 FCB 0 ; 0.0 0.0 L5D58 FCB 0 ; 0.0 6.3 L5D59 FCB 0 ; 0.0 12.5 L5D5A FCB 0 ; 0.0 18.8 L5D5B FCB 0 ; 0.0 25.0 L5D5C FCB 0 ; 0.0 31.3 L5D5D FCB 0 ; 0.0 37.5 L5D5E FCB 0 ; 0.0 43.8 L5D5F FCB 0 ; 0.0 50.0 L5D60 FCB 0 ; 0.0 56.3 L5D61 FCB 0 ; 0.0 62.5 L5D62 FCB 0 ; 0.0 68.8 L5D63 FCB 0 ; 0.0 75.0 L5D64 FCB 0 ; 0.0 81.3 L5D65 FCB 0 ; 0.0 87.5 L5D66 FCB 0 ; 0.0 93.8 L5D67 FCB 0 ; 0.0 100.0 ;---------------------------------------------- *********************************************** * MANUAL DOWN SHIFT CALIBRATIONS * *********************************************** ;---------------------------------------------- ; MANUAL 2 -> 1 SHIFT Vs. %TPS ; ; ; ; TBL = MPH * 2 ;---------------------------------------------- ORG $5D68 ; MPH %TPS ;---------------------------------- L5D68 FCB 0 ; 0.0 0.0 L5D69 FCB 0 ; 0.0 6.3 L5D6A FCB 0 ; 0.0 12.5 L5D6B FCB 0 ; 0.0 18.8 L5D6C FCB 0 ; 0.0 25.0 L5D6D FCB 0 ; 0.0 31.3 L5D6E FCB 0 ; 0.0 37.5 L5D6F FCB 0 ; 0.0 43.8 L5D70 FCB 0 ; 0.0 50.0 L5D71 FCB 0 ; 0.0 56.3 L5D72 FCB 0 ; 0.0 62.5 L5D73 FCB 0 ; 0.0 68.8 L5D74 FCB 0 ; 0.0 75.0 L5D75 FCB 0 ; 0.0 81.3 L5D76 FCB 0 ; 0.0 87.5 L5D77 FCB 0 ; 0.0 93.8 L5D78 FCB 0 ; 0.0 100.0 ;---------------------------------------------- *********************************************** * NORM/CRUISE DOWN SHIFT CALIBRATIONS * *********************************************** ;---------------------------------------------- ; NORM/CRUISE 2 -> 3 SHIFT Vs. %TPS ; ; Dissassemby of BDWM ; ; TBL = MPH * 2 ;---------------------------------------------- ORG $5D79 ; MPH MPH ;---------------------------------- L5D79 FCB 38 ; 19.0 0.0 L5D7A FCB 38 ; 19.0 6.3 L5D7B FCB 41 ; 20.5 12.5 L5D7C FCB 51 ; 25.5 18.8 L5D7D FCB 61 ; 30.5 25.0 L5D7E FCB 67 ; 33.5 31.3 L5D7F FCB 71 ; 35.5 37.5 L5D80 FCB 75 ; 37.5 43.8 L5D81 FCB 79 ; 39.5 50.0 L5D82 FCB 83 ; 41.5 56.3 L5D83 FCB 87 ; 43.5 62.5 L5D84 FCB 91 ; 45.5 68.8 L5D85 FCB 94 ; 47.0 75.0 L5D86 FCB 97 ; 48.5 81.3 L5D87 FCB 102 ; 51.0 87.5 L5D88 FCB 106 ; 53.0 93.8 L5D89 FCB 106 ; 53.0 100.0 ;---------------------------------------------- ;---------------------------------------------- ; NORM/CRUISE 3 -> 4 SHIFT ; ; Vss Vs. % TPS ; ; Dissassemby of ; ; TBL = MPH * 2 ;--------------------------------------------- ORG $5D8A ; MPH %TPS ;--------------------------------- L5D8A FCB 55 ; 27.5 0.0 L5D8B FCB 55 ; 27.5 6.3 L5D8C FCB 57 ; 28.5 12.5 L5D8D FCB 66 ; 33.0 18.8 L5D8E FCB 76 ; 38.0 25.0 L5D8F FCB 86 ; 43.0 31.3 L5D90 FCB 95 ; 47.5 37.5 L5D91 FCB 226 ; 113.0 43.8 L5D92 FCB 226 ; 113.0 50.0 L5D93 FCB 226 ; 113.0 56.3 L5D94 FCB 226 ; 113.0 62.5 L5D95 FCB 226 ; 113.0 68.8 L5D96 FCB 226 ; 113.0 75.0 L5D97 FCB 226 ; 113.0 81.3 L5D98 FCB 226 ; 113.0 87.5 L5D99 FCB 226 ; 113.0 93.8 L5D9A FCB 226 ; 113.0 100.0 ;--------------------------------------------- ********************************************** * NORM/CRUISE UP SHIFT CALIBRATIONS * ********************************************** ;--------------------------------------------- ; NORM/CRUISE 3 -> 2 SHIFT Vs. %TPS ; ; Dissassemby of BDWM ; ; TBL = MPH * 2 ;--------------------------------------------- ORG $5D9B ; MPH %TPS ;--------------------------------- L5D9B FCB 36 ; 18.0 0.0 L5D9C FCB 36 ; 18.0 6.3 L5D9D FCB 36 ; 18.0 12.5 L5D9E FCB 36 ; 18.0 18.8 L5D9F FCB 36 ; 18.0 25.0 L5DA0 FCB 36 ; 18.0 31.3 L5DA1 FCB 36 ; 18.0 37.5 L5DA2 FCB 36 ; 18.0 43.8 L5DA3 FCB 47 ; 23.5 50.0 L5DA4 FCB 58 ; 29.0 56.3 L5DA5 FCB 63 ; 31.5 62.5 L5DA6 FCB 69 ; 34.5 68.8 L5DA7 FCB 73 ; 36.5 75.0 L5DA8 FCB 79 ; 39.5 81.3 L5DA9 FCB 85 ; 42.5 87.5 L5DAA FCB 90 ; 45.0 93.8 L5DAB FCB 98 ; 49.0 100.0 ;--------------------------------------------- ;--------------------------------------------- ; NORM/CRUISE 4 -> 3 SHIFT Vs. %TPS ; ; ; Dissassemby of BDWM ; ; TBL = MPH * 2 ;--------------------------------------------- ORG $5DAC ; MPH %TPS ;--------------------------------- L5DAC FCB 48 ; 24.0 0.0 L5DAD FCB 48 ; 24.0 6.3 L5DAE FCB 48 ; 24.0 12.5 L5DAF FCB 49 ; 24.5 18.8 L5DB0 FCB 54 ; 27.0 25.0 L5DB1 FCB 60 ; 30.0 31.3 L5DB2 FCB 66 ; 33.0 37.5 L5DB3 FCB 70 ; 35.0 43.8 L5DB4 FCB 76 ; 38.0 50.0 L5DB5 FCB 84 ; 42.0 56.3 L5DB6 FCB 91 ; 45.5 62.5 L5DB7 FCB 100 ; 50.0 68.8 L5DB8 FCB 113 ; 56.5 75.0 L5DB9 FCB 220 ; 110.0 81.3 L5DBA FCB 220 ; 110.0 87.5 L5DBB FCB 220 ; 110.0 93.8 L5DBC FCB 220 ; 110.0 100.0 ;--------------------------------------------- ********************************************** * NORMAL UP SHIFT * ********************************************** ;--------------------------------------------- ; NORMAL 1 -> 2 SHIFT Vs. %TPS ; ; ; Dissassemby of BDWM ; ; TBL = MPH * 2 ;--------------------------------------------- ORG $5BBD ; MPH %TPS ;--------------------------------- L5DBD FCB 20 ; 10.0 0.0 L5DBE FCB 20 ; 10.0 6.3 L5DBF FCB 24 ; 12.0 12.5 L5DC0 FCB 28 ; 14.0 18.8 L5DC1 FCB 33 ; 16.5 25.0 L5DC2 FCB 36 ; 18.0 31.3 L5DC3 FCB 38 ; 19.0 37.5 L5DC4 FCB 40 ; 20.0 43.8 L5DC5 FCB 42 ; 21.0 50.0 L5DC6 FCB 44 ; 22.0 56.3 L5DC7 FCB 46 ; 23.0 62.5 L5DC8 FCB 48 ; 24.0 68.8 L5DC9 FCB 50 ; 25.0 75.0 L5DCA FCB 52 ; 26.0 81.3 L5DCB FCB 54 ; 27.0 87.5 L5DCC FCB 56 ; 28.0 93.8 L5DCD FCB 56 ; 28.0 100.0 ;--------------------------------------------- ;--------------------------------------------- ; NORMAL 2 -> 3 SHIFT Vs. %TPS ; ; Dissassemby of BDWM ; ; TBL = MPH * 2 ;--------------------------------------------- ORG $5DCE ; MPH %TPS ;--------------------------------- L5DCE FCB 38 ; 19.0 0.0 L5DCF FCB 38 ; 19.0 6.3 L5DD0 FCB 41 ; 20.5 12.5 L5DD1 FCB 51 ; 25.5 18.8 L5DD2 FCB 61 ; 30.5 25.0 L5DD3 FCB 67 ; 33.5 31.3 L5DD4 FCB 71 ; 35.5 37.5 L5DD5 FCB 75 ; 37.5 43.8 L5DD6 FCB 79 ; 39.5 50.0 L5DD7 FCB 83 ; 41.5 56.3 L5DD8 FCB 87 ; 43.5 62.5 L5DD9 FCB 91 ; 45.5 68.8 L5DDA FCB 94 ; 47.0 75.0 L5DDB FCB 97 ; 48.5 81.3 L5DDC FCB 102 ; 51.0 87.5 L5DDD FCB 106 ; 53.0 93.8 L5DDE FCB 106 ; 53.0 100.0 ;--------------------------------------------- ;--------------------------------------------- ; NORMAL 3 -> 4 SHIFT Vs. %TPS ; ; ; Dissassemby of BDWM ; ; TBL = MPH * 2 ;--------------------------------------------- ORG $5DDF ; MPH %TPS ;--------------------------------- L5DDF FCB 55 ; 27.5 0.0 L5DE0 FCB 55 ; 27.5 6.3 L5DE1 FCB 57 ; 28.5 12.5 L5DE2 FCB 66 ; 33.0 18.8 L5DE3 FCB 76 ; 38.0 25.0 L5DE4 FCB 86 ; 43.0 31.3 L5DE5 FCB 95 ; 47.5 37.5 L5DE6 FCB 103 ; 51.5 43.8 L5DE7 FCB 111 ; 55.5 50.0 L5DE8 FCB 121 ; 60.5 56.3 L5DE9 FCB 226 ; 113.0 62.5 L5DEA FCB 226 ; 113.0 68.8 L5DEB FCB 226 ; 113.0 75.0 L5DEC FCB 226 ; 113.0 81.3 L5DED FCB 226 ; 113.0 87.5 L5DEE FCB 226 ; 113.0 93.8 L5DEF FCB 226 ; 113.0 100.0 ;--------------------------------------------- ********************************************** * NORMAL DOWN SHIFT * ********************************************** ;--------------------------------------------- ; NORMAL DN SHIFT, 2 -> 1 SHIFT Vs. %TPS ; ; Dissassemby of BDWM ; ; ; TBL = MPH -128 ;--------------------------------------------- ORG $5DF0 ; MPH TPS ;--------------------------------- L5DF0 FCB 16 ; 8.0 0.0 L5DF1 FCB 16 ; 8.0 6.3 L5DF2 FCB 16 ; 8.0 12.5 L5DF3 FCB 16 ; 8.0 18.8 L5DF4 FCB 16 ; 8.0 25.0 L5DF5 FCB 16 ; 8.0 31.3 L5DF6 FCB 16 ; 8.0 37.5 L5DF7 FCB 16 ; 8.0 43.8 L5DF8 FCB 16 ; 8.0 50.0 L5DF9 FCB 16 ; 8.0 56.3 L5DFA FCB 16 ; 8.0 62.5 L5DFB FCB 16 ; 8.0 68.8 L5DFC FCB 18 ; 9.0 75.0 L5DFD FCB 23 ; 11.5 81.3 L5DFE FCB 31 ; 15.5 87.5 L5DFF FCB 43 ; 21.5 93.8 L5E00 FCB 43 ; 21.5 100.0 ;--------------------------------------------- ;--------------------------------------------- ; NORMAL DN SHIFT, 3 -> 2 SHIFT Vs. %TPS ; ; Dissassemby of BDWM ; ; ; TBL = MPH * 2 ;--------------------------------------------- ORG $5E01 ; MPH %TPS ;--------------------------------- L5E01 FCB 36 ; 18.0 0.0 L5E02 FCB 36 ; 18.0 6.3 L5E03 FCB 36 ; 18.0 12.5 L5E04 FCB 36 ; 18.0 18.8 L5E05 FCB 36 ; 18.0 25.0 L5E06 FCB 36 ; 18.0 31.3 L5E07 FCB 36 ; 18.0 37.5 L5E08 FCB 36 ; 18.0 43.8 L5E09 FCB 47 ; 23.5 50.0 L5E0A FCB 58 ; 29.0 56.3 L5E0B FCB 63 ; 31.5 62.5 L5E0C FCB 69 ; 34.5 68.8 L5E0D FCB 73 ; 36.5 75.0 L5E0E FCB 79 ; 39.5 81.3 L5E0F FCB 85 ; 42.5 87.5 L5E10 FCB 90 ; 45.0 93.8 L5E11 FCB 98 ; 49.0 100.0 ;--------------------------------------------- ;--------------------------------------------- ; NORMAL DN SHIFT, 4 -> 3 SHIFT Vs. %TPS TBL ; ; Vss Vs. %TPS ; ; Dissassemby of BBWM ; ; ; TBL = MPH * 2 ;--------------------------------------------- ORG $5E12 ; MPH %TPS ;--------------------------------- FCB 48 ; 24.0 0.0 FCB 48 ; 24.0 6.3 FCB 48 ; 24.0 12.5 FCB 49 ; 24.5 18.8 FCB 54 ; 27.0 25.0 FCB 60 ; 30.0 31.3 FCB 66 ; 33.0 37.5 FCB 70 ; 35.0 43.8 FCB 76 ; 38.0 50.0 FCB 84 ; 42.0 56.3 FCB 91 ; 45.5 62.5 FCB 100 ; 50.0 68.8 FCB 113 ; 56.5 75.0 FCB 220 ; 110.0 81.3 FCB 220 ; 110.0 87.5 FCB 220 ; 110.0 93.8 FCB 220 ; 110.0 100.0 ;--------------------------------------------- ********************************************** * XMISH COLD UP SHIFT MODIFICATIONS CAIBRATION * ********************************************** ;--------------------------------------------- ; COLD (MOD) 1 -> 2 SHIFT Vs. %TPS ; ; ; Dissassemby of BDWM ; ; TBL = (MPH * 2) - 64 ;--------------------------------------------- ORG $5E23 ; MPH, (MOD) %TPS ;--------------------------------- L5E23 FCB 128 ; 0.0 0.0 L5E24 FCB 128 ; 0.0 6.3 L5E25 FCB 124 ; -2.0 12.5 L5E26 FCB 124 ; -2.0 18.8 L5E27 FCB 124 ; -2.0 25.0 L5E28 FCB 124 ; -2.0 31.3 L5E29 FCB 124 ; -2.0 37.5 L5E2A FCB 124 ; -2.0 43.8 L5E2B FCB 124 ; -2.0 50.0 L5E2C FCB 124 ; -2.0 56.3 L5E2D FCB 124 ; -2.0 62.5 L5E2E FCB 124 ; -2.0 68.8 L5E2F FCB 124 ; -2.0 75.0 L5E30 FCB 124 ; -2.0 81.3 L5E31 FCB 124 ; -2.0 87.5 L5E32 FCB 124 ; -2.0 93.8 L5E33 FCB 124 ; -2.0 100.0 ;-------------------------------------------------- ;-------------------------------------------------- ; COLD (MOD) 2 -> 3 SHIFT Vs. %TPS ; ; ; Dissassemby of BDWM ; ; TBL = (MPH * 2) - 64 ;--------------------------------------------- ORG $5E34 ; MPH, (MOD) %TPS ;--------------------------------- L5E34 FCB 128 ; 0.0 0.0 L5E35 FCB 128 ; 0.0 6.3 L5E36 FCB 124 ; -2.0 12.5 L5E37 FCB 124 ; -2.0 18.8 L5E38 FCB 124 ; -2.0 25.0 L5E39 FCB 124 ; -2.0 31.3 L5E3A FCB 124 ; -2.0 37.5 L5E3B FCB 124 ; -2.0 43.8 L5E3C FCB 124 ; -2.0 50.0 L5E3D FCB 124 ; -2.0 56.3 L5E3E FCB 124 ; -2.0 62.5 L5E3F FCB 124 ; -2.0 68.8 L5E40 FCB 124 ; -2.0 75.0 L5E41 FCB 124 ; -2.0 81.3 L5E42 FCB 124 ; -2.0 87.5 L5E43 FCB 124 ; -2.0 93.8 L5E44 FCB 124 ; -2.0 100.0 ;--------------------------------------------- ;--------------------------------------------- ; COLD (MOD) 3 -> 4 SHIFT Vs. %TPS ; ; ; Dissassemby of BDWM ; ; TBL = (MPH * 2) - 64 ;--------------------------------------------- ORG $5E45 ; MPH, (MOD) %TPS ;--------------------------------- L5E45 FCB 128 ; 0.0 0.0 L5E46 FCB 128 ; 0.0 6.3 L5E47 FCB 128 ; 0.0 12.5 L5E48 FCB 124 ; -2.0 18.8 L5E49 FCB 124 ; -2.0 25.0 L5E4A FCB 124 ; -2.0 31.3 L5E4B FCB 124 ; -2.0 37.5 L5E4C FCB 124 ; -2.0 43.8 L5E4D FCB 124 ; -2.0 50.0 L5E4E FCB 124 ; -2.0 56.3 L5E4F FCB 124 ; -2.0 62.5 L5E50 FCB 124 ; -2.0 68.8 L5E51 FCB 124 ; -2.0 75.0 L5E52 FCB 124 ; -2.0 81.3 L5E53 FCB 124 ; -2.0 87.5 L5E54 FCB 124 ; -2.0 93.8 L5E55 FCB 124 ; -2.0 100.0 ;--------------------------------------------- ********************************************** * XMISH COLD DN SHIFT MODIFICATIONS CAIBRATION * ********************************************** ;--------------------------------------------- ; COLD (MOD) 2 -> 1 SHIFT Vs. %TPS ; ; ; Dissassemby of BDWM ; ; TBL = (MPH * 2) - 64 ;--------------------------------------------- ORG $5E56 ; MPH, (MOD) %TPS ;--------------------------------- L5E56 FCB 128 ; 0.0 0.0 L5E57 FCB 124 ; -2.0 6.3 L5E58 FCB 124 ; -2.0 12.5 L5E59 FCB 124 ; -2.0 18.8 L5E5A FCB 124 ; -2.0 25.0 L5E5B FCB 124 ; -2.0 31.3 L5E5C FCB 124 ; -2.0 37.5 L5E5D FCB 124 ; -2.0 43.8 L5E5E FCB 124 ; -2.0 50.0 L5E5F FCB 124 ; -2.0 56.3 L5E60 FCB 124 ; -2.0 62.5 L5E61 FCB 124 ; -2.0 68.8 L5E62 FCB 124 ; -2.0 75.0 L5E63 FCB 124 ; -2.0 81.3 L5E64 FCB 124 ; -2.0 87.5 L5E65 FCB 124 ; -2.0 93.8 L5E66 FCB 124 ; -2.0 100.0 ;--------------------------------------------- ;--------------------------------------------- ; COLD (MOD) 3 -> 2 SHIFT Vs. %TPS ; ; ; Dissassemby of BDWM ; ; TBL = (MPH * 2) - 64 ;--------------------------------------------- ORG $5E67 ; MPH, (MOD) %TPS ;--------------------------------- L5E67 FCB 128 ; 0.0 0.0 L5E68 FCB 124 ; -2.0 6.3 L5E69 FCB 124 ; -2.0 12.5 L5E6A FCB 124 ; -2.0 18.8 L5E6B FCB 124 ; -2.0 25.0 L5E6C FCB 124 ; -2.0 31.3 L5E6D FCB 124 ; -2.0 37.5 L5E6E FCB 124 ; -2.0 43.8 L5E6F FCB 124 ; -2.0 50.0 L5E70 FCB 124 ; -2.0 56.3 L5E71 FCB 124 ; -2.0 62.5 L5E72 FCB 124 ; -2.0 68.8 L5E73 FCB 124 ; -2.0 75.0 L5E74 FCB 124 ; -2.0 81.3 L5E75 FCB 124 ; -2.0 87.5 L5E76 FCB 124 ; -2.0 93.8 L5E77 FCB 124 ; -2.0 100.0 ;--------------------------------------------- ;--------------------------------------------- ; COLD (MOD) 4 -> 3 SHIFT Vs. %TPS ; ; ; Dissassemby of BDWM ; ; TBL = (MPH * 2) - 64 ;--------------------------------------------- ORG $5E78 ; MPH, (MOD) %TPS ;--------------------------------- L5E78 FCB 128 ; 0.0 0.0 L5E79 FCB 124 ; -2.0 6.3 L5E7A FCB 124 ; -2.0 12.5 L5E7B FCB 124 ; -2.0 18.8 L5E7C FCB 124 ; -2.0 25.0 L5E7D FCB 124 ; -2.0 31.3 L5E7E FCB 124 ; -2.0 37.5 L5E7F FCB 124 ; -2.0 43.8 L5E80 FCB 124 ; -2.0 50.0 L5E81 FCB 124 ; -2.0 56.3 L5E82 FCB 124 ; -2.0 62.5 L5E83 FCB 124 ; -2.0 68.8 L5E84 FCB 124 ; -2.0 75.0 L5E85 FCB 124 ; -2.0 81.3 L5E86 FCB 124 ; -2.0 87.5 L5E87 FCB 124 ; -2.0 93.8 L5E88 FCB 124 ; -2.0 100.0 ;--------------------------------------------- ********************************************** ********************************************** * 3 -> 2 DOWNSHIFT PATTERN 1994 4L60E XMISSION * ********************************************** L5E89: FCB $0F ; ENABLE FLAGS 1994 4L60E XMISSION ; ; b7 = not used ; b6 = not used ; b5 = not used ; b4 = not used ; ; b3 = not used ; b2 = 1 = A/C comp enabled ; b1 = 1 = temp comp enabled ; b0 = not used ;---------------------------------- ; L5E8A: FCB 00 ; 0%, MIN ALLOWED %D.C. FOR 3 -> 2 SHIFT L5E8B: FCB 230 ; 90%, MAX ALLOWED %D.C. FOR 3 -> 2 SHIFT ; L5E8C: FCB 0 ; 0 % D.C. OVERRIDE IN D3 - D2 L5E8D: FCB 0 ; 0%, 2 - 3 SHFT IN CASE OF NO LOSS L5E8E: FCB 40 ; 2 SEC'S, PERIOD OF 3 -> 2 SHIFT ; L5E8F: FCB 135 ; 2.7% D.C., A/C COMP OFFSET ; VAL = PCT * 2.56 + 128 ;--------------------------------------------- ; BASE D.C. Vs. MPH Vs. BARO ; ; Dissassemby of BDWM ; 17 x 17 TABLE ; ; TBL = %D.C. * 2.56 ;--------------------------------------------- ORG $5E90 ; ; L5E90 FCB 0 ; Min BARO Kpa Val, (128/BARO) FCB 0 ; Min MPH Value, (10 MPH, SCALED) FCB 17 ; COL'S/ROW ; ;--------------------------------------------- ; 50 Kpa BARO ; %D.C. MPH ;--------------------------------------------- FCB 25 ; 9.8 10 FCB 25 ; 9.8 14 FCB 25 ; 9.8 18 FCB 97 ; 37.9 22 FCB 172 ; 67.2 26 FCB 192 ; 75.0 30 FCB 212 ; 82.8 34 FCB 230 ; 89.8 38 FCB 230 ; 89.8 42 FCB 230 ; 89.8 46 FCB 230 ; 89.8 50 FCB 230 ; 89.8 54 FCB 230 ; 89.8 58 FCB 230 ; 89.8 62 FCB 230 ; 89.8 66 FCB 230 ; 89.8 70 FCB 230 ; 89.8 74 ;--------------------------------------------- ; 54 Kpa BARO ; %D.C. MPH ;--------------------------------------------- FCB 25 ; 9.8 10 FCB 25 ; 9.8 14 FCB 25 ; 9.8 18 FCB 97 ; 37.9 22 FCB 172 ; 67.2 26 FCB 192 ; 75.0 30 FCB 212 ; 82.8 34 FCB 230 ; 89.8 38 FCB 230 ; 89.8 42 FCB 230 ; 89.8 46 FCB 230 ; 89.8 50 FCB 230 ; 89.8 54 FCB 230 ; 89.8 58 FCB 230 ; 89.8 62 FCB 230 ; 89.8 66 FCB 230 ; 89.8 70 FCB 230 ; 89.8 74 ;--------------------------------------------- ; 58 Kpa BARO ; %D.C. MPH ;--------------------------------------------- FCB 25 ; 9.8 10 FCB 25 ; 9.8 14 FCB 25 ; 9.8 18 FCB 97 ; 37.9 22 FCB 172 ; 67.2 26 FCB 192 ; 75.0 30 FCB 212 ; 82.8 34 FCB 230 ; 89.8 38 FCB 230 ; 89.8 42 FCB 230 ; 89.8 46 FCB 230 ; 89.8 50 FCB 230 ; 89.8 54 FCB 230 ; 89.8 58 FCB 230 ; 89.8 62 FCB 230 ; 89.8 66 FCB 230 ; 89.8 70 FCB 230 ; 89.8 74 ;--------------------------------------------- ; 62 Kpa BARO ; %D.C. MPH ;--------------------------------------------- FCB 25 ; 9.8 10 FCB 25 ; 9.8 14 FCB 25 ; 9.8 18 FCB 97 ; 37.9 22 FCB 172 ; 67.2 26 FCB 192 ; 75.0 30 FCB 212 ; 82.8 34 FCB 230 ; 89.8 38 FCB 230 ; 89.8 42 FCB 230 ; 89.8 46 FCB 230 ; 89.8 50 FCB 230 ; 89.8 54 FCB 230 ; 89.8 58 FCB 230 ; 89.8 62 FCB 230 ; 89.8 66 FCB 230 ; 89.8 70 FCB 230 ; 89.8 74 ;--------------------------------------------- ; 66 Kpa BARO ; %D.C. MPH ;--------------------------------------------- FCB 25 ; 9.8 10 FCB 25 ; 9.8 14 FCB 25 ; 9.8 18 FCB 89 ; 34.8 22 FCB 164 ; 64.1 26 FCB 184 ; 71.9 30 FCB 204 ; 79.7 34 FCB 224 ; 87.5 38 FCB 230 ; 89.8 42 FCB 230 ; 89.8 46 FCB 230 ; 89.8 50 FCB 230 ; 89.8 54 FCB 230 ; 89.8 58 FCB 230 ; 89.8 62 FCB 230 ; 89.8 66 FCB 230 ; 89.8 70 FCB 230 ; 89.8 74 ;--------------------------------------------- ; 70 Kpa BARO ; %D.C. MPH ;--------------------------------------------- FCB 25 ; 9.8 10 FCB 25 ; 9.8 14 FCB 25 ; 9.8 18 FCB 81 ; 31.6 22 FCB 156 ; 60.9 26 FCB 176 ; 68.8 30 FCB 196 ; 76.6 34 FCB 216 ; 84.4 38 FCB 230 ; 89.8 42 FCB 230 ; 89.8 46 FCB 230 ; 89.8 50 FCB 230 ; 89.8 54 FCB 230 ; 89.8 58 FCB 230 ; 89.8 62 FCB 230 ; 89.8 66 FCB 230 ; 89.8 70 FCB 230 ; 89.8 74 ;--------------------------------------------- ; 74 Kpa BARO ; %D.C. MPH ;--------------------------------------------- FCB 25 ; 9.8 10 FCB 25 ; 9.8 14 FCB 25 ; 9.8 18 FCB 73 ; 28.5 22 FCB 148 ; 57.8 26 FCB 168 ; 65.6 30 FCB 188 ; 73.4 34 FCB 208 ; 81.3 38 FCB 228 ; 89.1 42 FCB 230 ; 89.8 46 FCB 230 ; 89.8 50 FCB 230 ; 89.8 54 FCB 230 ; 89.8 58 FCB 230 ; 89.8 62 FCB 230 ; 89.8 66 FCB 230 ; 89.8 70 FCB 230 ; 89.8 74 ;--------------------------------------------- ; 78 Kpa BARO ; %D.C. MPH ;--------------------------------------------- FCB 25 ; 9.8 10 FCB 25 ; 9.8 14 FCB 25 ; 9.8 18 FCB 65 ; 25.4 22 FCB 140 ; 54.7 26 FCB 160 ; 62.5 30 FCB 180 ; 70.3 34 FCB 200 ; 78.1 38 FCB 220 ; 85.9 42 FCB 230 ; 89.8 46 FCB 230 ; 89.8 50 FCB 230 ; 89.8 54 FCB 230 ; 89.8 58 FCB 230 ; 89.8 62 FCB 230 ; 89.8 66 FCB 230 ; 89.8 70 FCB 230 ; 89.8 74 ;--------------------------------------------- ; 82 Kpa BARO ; %D.C. MPH ;--------------------------------------------- FCB 25 ; 9.8 10 FCB 25 ; 9.8 14 FCB 25 ; 9.8 18 FCB 57 ; 22.3 22 FCB 132 ; 51.6 26 FCB 152 ; 59.4 30 FCB 172 ; 67.2 34 FCB 192 ; 75.0 38 FCB 212 ; 82.8 42 FCB 230 ; 89.8 46 FCB 230 ; 89.8 50 FCB 230 ; 89.8 54 FCB 230 ; 89.8 58 FCB 230 ; 89.8 62 FCB 230 ; 89.8 66 FCB 230 ; 89.8 70 FCB 230 ; 89.8 74 ;--------------------------------------------- ; 86 Kpa BARO ; %D.C. MPH ;--------------------------------------------- FCB 25 ; 9.8 10 FCB 25 ; 9.8 14 FCB 25 ; 9.8 18 FCB 49 ; 19.1 22 FCB 124 ; 48.4 26 FCB 144 ; 56.3 30 FCB 164 ; 64.1 34 FCB 184 ; 71.9 38 FCB 204 ; 79.7 42 FCB 224 ; 87.5 46 FCB 224 ; 87.5 50 FCB 224 ; 87.5 54 FCB 224 ; 87.5 58 FCB 224 ; 87.5 62 FCB 224 ; 87.5 66 FCB 224 ; 87.5 70 FCB 224 ; 87.5 74 ;--------------------------------------------- ; 90 Kpa BARO ; %D.C. MPH ;--------------------------------------------- FCB 25 ; 9.8 10 FCB 25 ; 9.8 14 FCB 25 ; 9.8 18 FCB 41 ; 16.0 22 FCB 116 ; 45.3 26 FCB 136 ; 53.1 30 FCB 156 ; 60.9 34 FCB 176 ; 68.8 38 FCB 196 ; 76.6 42 FCB 216 ; 84.4 46 FCB 216 ; 84.4 50 FCB 216 ; 84.4 54 FCB 216 ; 84.4 58 FCB 216 ; 84.4 62 FCB 216 ; 84.4 66 FCB 216 ; 84.4 70 FCB 216 ; 84.4 74 ;--------------------------------------------- ; 94 Kpa BARO ; %D.C. MPH ;--------------------------------------------- FCB 25 ; 9.8 10 FCB 25 ; 9.8 14 FCB 25 ; 9.8 18 FCB 33 ; 12.9 22 FCB 108 ; 42.2 26 FCB 128 ; 50.0 30 FCB 148 ; 57.8 34 FCB 168 ; 65.6 38 FCB 188 ; 73.4 42 FCB 208 ; 81.3 46 FCB 208 ; 81.3 50 FCB 208 ; 81.3 54 FCB 208 ; 81.3 58 FCB 208 ; 81.3 62 FCB 208 ; 81.3 66 FCB 208 ; 81.3 70 FCB 208 ; 81.3 74 ;--------------------------------------------- ; 98 Kpa BARO ; %D.C. MPH ;--------------------------------------------- FCB 25 ; 9.8 10 FCB 25 ; 9.8 14 FCB 25 ; 9.8 18 FCB 25 ; 9.8 22 FCB 100 ; 39.1 26 FCB 120 ; 46.9 30 FCB 140 ; 54.7 34 FCB 160 ; 62.5 38 FCB 180 ; 70.3 42 FCB 200 ; 78.1 46 FCB 200 ; 78.1 50 FCB 200 ; 78.1 54 FCB 200 ; 78.1 58 FCB 200 ; 78.1 62 FCB 200 ; 78.1 66 FCB 200 ; 78.1 70 FCB 200 ; 78.1 74 ;--------------------------------------------- ; 102 Kpa BARO ; %D.C. MPH ;--------------------------------------------- FCB 25 ; 9.8 10 FCB 25 ; 9.8 14 FCB 25 ; 9.8 18 FCB 25 ; 9.8 22 FCB 100 ; 39.1 26 FCB 120 ; 46.9 30 FCB 140 ; 54.7 34 FCB 160 ; 62.5 38 FCB 180 ; 70.3 42 FCB 200 ; 78.1 46 FCB 200 ; 78.1 50 FCB 200 ; 78.1 54 FCB 200 ; 78.1 58 FCB 200 ; 78.1 62 FCB 200 ; 78.1 66 FCB 200 ; 78.1 70 FCB 200 ; 78.1 74 ;--------------------------------------------- ; 106 Kpa BARO ; %D.C. MPH ;--------------------------------------------- FCB 25 ; 9.8 10 FCB 25 ; 9.8 14 FCB 25 ; 9.8 18 FCB 25 ; 9.8 22 FCB 100 ; 39.1 26 FCB 120 ; 46.9 30 FCB 140 ; 54.7 34 FCB 160 ; 62.5 38 FCB 180 ; 70.3 42 FCB 200 ; 78.1 46 FCB 200 ; 78.1 50 FCB 200 ; 78.1 54 FCB 200 ; 78.1 58 FCB 200 ; 78.1 62 FCB 200 ; 78.1 66 FCB 200 ; 78.1 70 FCB 200 ; 78.1 74 ;--------------------------------------------- ; 110 Kpa BARO ; %D.C. MPH ;--------------------------------------------- FCB 25 ; 9.8 10 FCB 25 ; 9.8 14 FCB 25 ; 9.8 18 FCB 25 ; 9.8 22 FCB 100 ; 39.1 26 FCB 120 ; 46.9 30 FCB 140 ; 54.7 34 FCB 160 ; 62.5 38 FCB 180 ; 70.3 42 FCB 200 ; 78.1 46 FCB 200 ; 78.1 50 FCB 200 ; 78.1 54 FCB 200 ; 78.1 58 FCB 200 ; 78.1 62 FCB 200 ; 78.1 66 FCB 200 ; 78.1 70 FCB 200 ; 78.1 74 ;--------------------------------------------- ; 114 Kpa BARO ; %D.C. MPH ;--------------------------------------------- FCB 25 ; 9.8 10 FCB 25 ; 9.8 14 FCB 25 ; 9.8 18 FCB 25 ; 9.8 22 FCB 100 ; 39.1 26 FCB 120 ; 46.9 30 FCB 140 ; 54.7 34 FCB 160 ; 62.5 38 FCB 180 ; 70.3 42 FCB 200 ; 78.1 46 FCB 200 ; 78.1 50 FCB 200 ; 78.1 54 FCB 200 ; 78.1 58 FCB 200 ; 78.1 62 FCB 200 ; 78.1 66 FCB 200 ; 78.1 70 FCB 200 ; 78.1 74 ;--------------------------------------------- ;--------------------------------------------- ; TEMP COMPENSATION %DC Vs. XMISH TEMP ; ; Dissassemby of BDWM ; ; TBL = %DC * 1.27+128 IF DC E.Q. or G.T. 0 ; TBL = %DC * 1.28+128 IF DC L.T. 0 ;--------------------------------------------- ORG $5FB4 ; %DC DEG c ;--------------------------------- L5FB4 FCB 96 ; -25.0 -40 L5FB5 FCB 96 ; -25.0 -28 L5FB6 FCB 96 ; -25.0 -16 L5FB7 FCB 100 ; -22.0 - 4 L5FB8 FCB 105 ; -18.0 8 L5FB9 FCB 110 ; -14.0 20 L5FBA FCB 120 ; - 6.0 32 L5FBB FCB 123 ; - 4.0 44 L5FBC FCB 128 ; 0 56 L5FBD FCB 128 ; 0 68 L5FBE FCB 128 ; 0 80 L5FBF FCB 128 ; 0 92 L5FC0 FCB 128 ; 0 104 L5FC1 FCB 128 ; 0 116 L5FC2 FCB 128 ; 0 128 L5FC3 FCB 128 ; 0 140 L5FC4 FCB 128 ; 0 152 ;--------------------------------------------- ********************************************** ********************************************** * FORCE MOTOR CALIB VALUES * ********************************************** L5FC5: FCB 0 ; 0 SEC'S MIN TIME FOR ADPATIVE RATIO CHANGE ; SEC'S * 40 L5FC6 FCB 48 ; 1.2 SEC'S MAX TIME FOR ADPATIVE 1 -> 2 SHIFT ; SEC'S * 40 L5FC7 FCB 48 ; 1.2 SEC'S MAX TIME FOR ADPATIVE 2 -> 3 SHIFT ; SEC'S * 40 L5FC8 FCB 48 ; 1.2 SEC'S MAX TIME FOR ADPATIVE 3 -> 4 SHIFT ; SEC'S * 40 L5FC9 FCB 40 ; 1.0 SEC'S TIME CK FOR JUMP SHFT AFTER 1 -> 2 L5FCA FCB 40 ; 1.0 SEC'S TIME CK FOR JUMP SHFT AFTER 2 -> 3 L5FCB FCB 80 ; 2.0 SEC'S TIME PERIOD FOR NEXT LINE L5FCC FCB 20 ; 20 PSI ADDED FOR 1 -> 3 SHIFT L5FCD FCB 80 ; 2.0 SEC'S TIME PERIOD FOR NEXT LINE L5FCE FCB 20 ; 20 PSI ADDED FOR 1 -> 4 SHIFT ; L5FCF: FCB 80 ; 2.0 SEC'S TIME SUB'ED PERIOD FOR NEXT LINE L5FD0 FCB 10 ; 10 PSI ADDED FOR 2 -> 4 SHIFT ;------------------------------- ; 6 LINE 16 BIT TABLE ;------------------------------- L5FD1 FCB 65475 ; 1 -> 2 SHIFT STARTING DERIVITIVE, (-61) L5FD3 FCB 65416 ; 2 -> 3 SHIFT STARTING DERIVITIVE (-120) L5FD5 FCB 65400 ; 3 -> 4 SHIFT STARTING DERIVITIVE (-136) L5FD7 FCB 65475 ; 1 -> 2 SHIFT STOPING DERIVITIVE, (-61) L5FD9 FCB 65416 ; 2 -> 3 SHIFT STOPING DERIVITIVE, (-120) L5FDB FCB 65400 ; 3 -> 4 SHIFT STOPING DERIVITIVE, (-136) ;------------------------------- ;------------------------------- ; GARAGE SHIFT PARAM'S ;------------------------------- L5FDD FCB 8 ; 0.2 SEC'S, DRIVE, GARAGE SHIFT LIMIT L5FDE FCB 0 ; 0 PSI DRIVE, GARAGE SHIFT OFFSET L5FDF FCB 10 ; 0.2 SEC'S, REV, GARAGE SHIFT LIMIT L5FE0 FCB 0 ; 0 PSI REV, GARAGE SHIFT OFFSET L5FE1 FCB 16 ; 8 MPH GRARAGE SHIFT SPEED LMT, (PK/NEUT) L5FE2 FCB 16 ; 8 MPH GRARAGE SHIFT SPEED LMT, (DRV/REV) L5FE3 FCB 5 ; 5 PSI DRIVE, GARAGE LO LMT, (PK/NEUT) L5FE4 FCB 5 ; 5 PSI DRIVE, GARAGE LO LMT, (DRIVE) L5FE5 FCB 5 ; 5 PSI GRARAGE SHFT PRESS LO LMT, (REV) ;-------------------------------------------------- ;-------------- ; 3 LINE TBL ;-------------- L5FE6: FCB 80 ; 2 SEC PERIOD FOR 2 -> 1 MODIFIER FCB 80 ; 2 SEC PERIOD FOR 3 -> 2 MODIFIER FCB 0 ; 0 SEC PERIOD FOR 4 -> 3 MODIFIER ;---------------- L5FE9: FCB 0 ; 0 PSI SUBED FOR A/C ON IN 1st GR L5FEA FCB 3 ; 3 PSI SUBED FOR A/C ON IN 2nd GR L5FEB FCB 5 ; 5 PSI SUBED FOR A/C ON IN 3rd GR L5FEC: FCB 5 ; 5 PSI SUBED FOR A/C ON IN 4th GR ********************************* * ADAPTIVE LEARNING PARAMS ********************************** ;------------------------------------------- ; ADAPTIVE LEARNING ; 6 LINE TBL ;------------------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Adaptive modifer cell limits to change cells ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;-Defines TPS range to change from one cell to another ; L5FED FCB 64 ;25%, upper TPS limit for cell #1 FCB 59 ;23%, lower TPS limit for cell #1 ; FCB 102 ;40%, upper TPS limit for cell #2 FCB 97 ;38%, lower TPS limit for cell #2 ; FCB 178 ;69.8%, upper TPS limit for cell #3 FCB 173 ;68.0%, lower TPS limit for cell #3 ; ;---------------------------------------------- ; REVERSE THE 2 FOLLOWING TEMPERATURE VAL'S TO ; ENABLE ADAPTIVE MODIFIERS ;---------------------------------------------- L5CF3 FCB 133 ; 60 DEG c COLD ADPTIVE TEMP THRESH L5CF4 FCB 200 ; 110 DEG c HOT ADPTIVE TEMP THRESH ;---------------------------------------------- ;----------------------- ; 3 LINE TBL ; ADAPTIVE TPS LO LMTS ;----------------------- L5FF5 FCB 64 ; 25% TPS 1st GR FCB 255 ; 99.9% TPS 2st GR FCB 255 ; 99.9% TPS 3st GR ;---------------------- ;------------------------ ; 3 LINE TBL ; ADAPTIVE TPS HI LMTS ;------------------------ L5FF8 FCB 255 ; 99.9% TPS 1st GR FCB 0 ; 0% TPS 2st GR FCB 0 ; 0% TPS 3st GR ;------------------------ L5FFB FCB 13 ; 5% APAPT TPS CHANGE THRESH L5FFC FCB 236 ; -5 PSI ADAPT MOD'ED LOWER LMT L5FFD FCB 40 ; 10 PSI ADAPT MOD'ED UPPER LMT L5FFE FCB 80 ; 2 SEC, COAST DOWM SHIFT TIME L5FFF FDB 65526 ; IF SLIP -1.3 RPM ENABLE ENG BRAKING ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Break points used for temp based press. comp. tables ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Used with tables L624B, ; L627A, and L62A9 ; ; %TPS = val/.390 ;Table offset ; L6001 FCB 0 ; 0 L6002 FCB 38 ;16 L6003 FCB 102 ;32 L6004 FCB 178 ;48 ; ;---------------------------- ; 3 LINE TABLE ; ; MINIMIM TIME BETWEEN SHIFTS ; FOR ADAPTIVE MOD ; TABL = SEC * 40 ;----------------------------- L6005 FCB 80 ; 2 SEC'S, 1 -> 2 FCB 80 ; 2 SEC'S, 2 -> 3 FCB 80 ; 2 SEC'S, 3 -> 4 ;---------------------------- ;---------------------------- ; 3 LINE TABLE ; ; DELAY AFTER RANGE CHANGE ; FOR ADAPTIVE SHIFT ; ; TABL = SEC * 40 ;----------------------------- L6008 FCB 240 ; 6 6EC'S 1 -> 2 FCB 240 ; 6 6EC'S 2 -> 3 FCB 240 ; 6 6EC'S 3 -> 4 ;----------------------------- ;---------------------------- ; 3 LINE TABLE ; ; MAX SPD CHANGE FOR ; ADAPTIVE SHIFT ; ; TBL = MPH * 2 ;----------------------------- L600B FCB 40 ; 20 MPH 1 -> 2 FCB 40 ; 20 MPH 2 -> 3 FCB 0 ; 0 MPH 3 -> 4 ;----------------------------- ;---------------------------- ; 3 LINE TABLE ; ; LARGE SHIFT TIME ERROR ; & PRESSURE MODIFIER ; ADAPTIVE SHIFT ; TBL = ;----------------------------- L600E: FCB 244 ; -300 msec 1 -> 2 FCB 244 ; -300 msec 2 -> 3 FCB 244 ; -300 msec 3 -> 4 FCB 8 ; 2 PSI MOD 1 -> 2 FCB 8 ; 2 PSI MOD 2 -> 3 FCB 8 ; 2 PSI MOD 3 -> 4 ;-------------------------------- ;---------------------------- ; 3 LINE TABLE ; ; LARGE DELAY TIME ERROR ; FOR ADAPTIVE SHIFT ; TBL = SEC * 40 ;----------------------------- L6014 FCB 32 ; 800 Msec, 1 -> 2 FCB 0 ; 0 Msec, 2 -> 3 FCB 0 ; 0 Msec, 3 -> 4 ;---------------------------- ;---------------------------- ; 3 LINE UPSHIFT TABLE ; MIN TIME LMT ;------------------------- L6017: FCB 20 ; 500 msec 1 -> 2 FCB 20 ; 500 msec 2 -> 3 FCB 255 ; 6.38 SEC'S 3 -> 4 ;----------------------------- ;------------------------------ ; 3 LINE TABLE ; LONG SHIFT DELAY PRESS MOD'ER ;------------------------------- L601A FCB 12 ; 3 PSI FCB 16 ; 4 PSI FCB 0 ; 0 PSI ;------------------------- ;----------------------------------- L601D FCB 1 ; 0000 0001, shift contingency ; ; b7 ; b6 ; b5 ; b4 ; ; b3 ; b2 ; b1 ; b0 1 = NO Long shift contingency enabled ; ;----------------------------------- L601E FCB 90 ; 90 PSI MAX FORCE MOTOR PRESSURE ;------------------------ ; 3 LINE TBL ; PRESSURE MODE TIME LMT'S ;------------------------- L601F FCB 48 ; 1.2 SEC'S, 1 -> 2 L6020 FCB 48 ; 1.2 SEC'S, 2 -> 3 L6021 FCB 48 ; 1.2 SEC'S, 3 -> 4 ;------------------------- ********************************************** * POWER ENRICH MODE * ********************************************** ;--------------------------------------------- ; POWER ENRICH PRESS MOD TABLE ; ; LINE PRESSURE Vs. XMISH RPM ; ; Dissassemby of BBWM ; ; ; TBL = PSI - 128 ;--------------------------------------------- ORG $6022 ; PSI ENG RPM ;--------------------------------- L6022 FCB 128 ; 0 0 L6023 FCB 128 ; 0 512 L6024 FCB 128 ; 0 1024 L6025 FCB 128 ; 0 1536 L6026 FCB 128 ; 0 2048 L6027 FCB 128 ; 0 2560 L6028 FCB 128 ; 0 3072 L6029 FCB 128 ; 0 3584 L602A FCB 128 ; 0 4096 L602B FCB 128 ; 0 4608 L602C FCB 128 ; 0 5120 L602D FCB 128 ; 0 5632 L602E FCB 128 ; 0 6144 L602F FCB 128 ; 0 6656 L6030 FCB 128 ; 0 7168 L6031 FCB 128 ; 0 7680 L6032 FCB 128 ; 0 8192 ;--------------------------------------------- ;--------------------------------------------- ; MAT TEMPERATURE PRESSURE OFFSET TBL ; ; Dissassemby of BBWM ; ; TBL = PSI -128 ;--------------------------------------------- ORG $6033 ; PSI MAT, Deg c ;---------------------------------- L6033 FCB 128 ; 0 -4 L6034 FCB 128 ; 0 2 L6035 FCB 128 ; 0 8 L6036 FCB 128 ; 0 14 L6037 FCB 128 ; 0 20 L6038 FCB 128 ; 0 26 L6039 FCB 128 ; 0 32 L603A FCB 128 ; 0 38 L603B FCB 128 ; 0 44 L603C FCB 128 ; 0 50 L603D FCB 128 ; 0 56 L603E FCB 128 ; 0 62 L603F FCB 128 ; 0 68 L6040 FCB 128 ; 0 74 L6041 FCB 128 ; 0 80 L6042 FCB 128 ; 0 86 L6043 FCB 128 ; 0 92 ;--------------------------------------------- *********************** * DESIRED SHIFT TIME * ALTITUDE GAIN *********************** ;--------------------------------------------- ; DESIRED SHIFT TIME ALTITUDE GAIN ; 2nd GEAR ; ; Dissassemby of BBWM ; ; ; TABLE = FACTOR * 1.28 ;--------------------------------------------- ORG $6044 ; FACTOR %TPS ;--------------------------------- L6044 FCB 0 ; 0.0 0.0 L6045 FCB 0 ; 0.0 6.3 L6046 FCB 0 ; 0.0 12.5 L6047 FCB 0 ; 0.0 18.8 L6048 FCB 0 ; 0.0 25.0 L6049 FCB 0 ; 0.0 31.3 L604A FCB 0 ; 0.0 37.5 L604B FCB 0 ; 0.0 43.8 L604C FCB 0 ; 0.0 50.0 L604D FCB 0 ; 0.0 56.3 L604E FCB 0 ; 0.0 62.5 L604F FCB 0 ; 0.0 68.8 L6050 FCB 0 ; 0.0 75.0 L6051 FCB 0 ; 0.0 81.3 L6052 FCB 0 ; 0.0 87.5 L6053 FCB 0 ; 0.0 93.8 L6054 FCB 0 ; 0.0 100.0 ;---------------------------------------------- ;---------------------------------------------- ; DESIRED SHIFT TIME ALTITUDE GAIN 3rd GR ; ; ; Dissassemby of BBWM ; ; ; TABLE = FACTOR * 1.28 ;---------------------------------------------- ORG $6055 ; FACTOR %TPS ;---------------------------------- L6055 FCB 0 ; 0.0 0.0 L6056 FCB 0 ; 0.0 6.3 L6057 FCB 0 ; 0.0 12.5 L6058 FCB 0 ; 0.0 18.8 L6059 FCB 0 ; 0.0 25.0 L605A FCB 0 ; 0.0 31.3 L605B FCB 0 ; 0.0 37.5 L605C FCB 0 ; 0.0 43.8 L605D FCB 0 ; 0.0 50.0 L605E FCB 0 ; 0.0 56.3 L605F FCB 0 ; 0.0 62.5 L6060 FCB 0 ; 0.0 68.8 L6061 FCB 0 ; 0.0 75.0 L6062 FCB 0 ; 0.0 81.3 L6063 FCB 0 ; 0.0 87.5 L6064 FCB 0 ; 0.0 93.8 L6065 FCB 0 ; 0.0 100.0 ;--------------------------------------------- ;--------------------------------------------- ; DESIRED SHIFT TIME ALTITUDE GAIN 4th ; ; ; Dissassemby of BDWM ; 10-27-1993, 11:58:44 ; ; TABLE = FACTOR * 1.28 ;--------------------------------------------- ORG $6066 ; FACTOR %TPS ;--------------------------------- L6066 FCB 0 ; 0.0 0.0 L6067 FCB 0 ; 0.0 6.3 L6068 FCB 0 ; 0.0 12.5 L6069 FCB 0 ; 0.0 18.8 L606A FCB 0 ; 0.0 25.0 L606B FCB 0 ; 0.0 31.3 L606C FCB 0 ; 0.0 37.5 L606D FCB 0 ; 0.0 43.8 L606E FCB 0 ; 0.0 50.0 L606F FCB 0 ; 0.0 56.3 L6070 FCB 0 ; 0.0 62.5 L6071 FCB 0 ; 0.0 68.8 L6072 FCB 0 ; 0.0 75.0 L6073 FCB 0 ; 0.0 81.3 L6074 FCB 0 ; 0.0 87.5 L6075 FCB 0 ; 0.0 93.8 L6076 FCB 0 ; 0.0 100.0 ;--------------------------------------------- ********************************************** ********************** * PRESSURE ALTITUDE * GAIN FACTOR * (3 TABLES) ********************** ;---------------------------------------------- ; PRESSURE ALTITUDE GAIN FACTOR Vs. %TPS ; 2nd GEAR ; ; Dissassemby of BBWM ; ; (INDEXED ADDRESS TBL AT LBB80) ; ; TABLE = FACTOR * 1.28 ;---------------------------------------------- ORG $6077 ; FACTOR %TPS ;---------------------------------- L6077 FCB 0 ; 0.0 0.0 L6078 FCB 0 ; 0.0 6.3 L6079 FCB 0 ; 0.0 12.5 L607A FCB 0 ; 0.0 18.8 L607B FCB 0 ; 0.0 25.0 L607C FCB 0 ; 0.0 31.3 L607D FCB 0 ; 0.0 37.5 L607E FCB 0 ; 0.0 43.8 L607F FCB 0 ; 0.0 50.0 L6080 FCB 0 ; 0.0 56.3 L6081 FCB 0 ; 0.0 62.5 L6082 FCB 0 ; 0.0 68.8 L6083 FCB 0 ; 0.0 75.0 L6084 FCB 0 ; 0.0 81.3 L6085 FCB 0 ; 0.0 87.5 L6086 FCB 0 ; 0.0 93.8 L6087 FCB 0 ; 0.0 100.0 ;--------------------------------------------- ;--------------------------------------------- ; PRESSURE ALTITUDE GAIN FACTOR Vs. %TPS ; 3rd GEAR ; ; Dissassemby of BBWM ; (INDEXED ADDRESS TBL AT LBB80) ; ; TABLE = FACTOR * 1.28 ;--------------------------------------------- ORG $6088 ; FACTOR %TPS ;----------------------------- L6088 FCB 0 ; 0.0 0.0 L6089 FCB 0 ; 0.0 6.3 L608A FCB 0 ; 0.0 12.5 L608B FCB 0 ; 0.0 18.8 L608C FCB 0 ; 0.0 25.0 L608D FCB 0 ; 0.0 31.3 L608E FCB 0 ; 0.0 37.5 L608F FCB 0 ; 0.0 43.8 L6090 FCB 0 ; 0.0 50.0 L6091 FCB 0 ; 0.0 56.3 L6092 FCB 0 ; 0.0 62.5 L6093 FCB 0 ; 0.0 68.8 L6094 FCB 0 ; 0.0 75.0 L6095 FCB 0 ; 0.0 81.3 L6096 FCB 0 ; 0.0 87.5 L6097 FCB 0 ; 0.0 93.8 L6098 FCB 0 ; 0.0 100.0 ;---------------------------------------------- ;---------------------------------------------- ; PRESSURE ALTITUDE GAIN FACTOR Vs. %TPS ; 4th GEAR ; ; Dissassemby of BDWM ; (INDEXED ADDRESS TBL AT LBB80) ; ; TABLE = FACTOR * 1.28 ;---------------------------------------------- ORG $6099 ; FACTOR %TPS ;---------------------------------- L6099 FCB 0 ; 0.0 0.0 L609A FCB 0 ; 0.0 6.3 L609B FCB 0 ; 0.0 12.5 L609C FCB 0 ; 0.0 18.8 L609D FCB 0 ; 0.0 25.0 L609E FCB 0 ; 0.0 31.3 L609F FCB 0 ; 0.0 37.5 L60A0 FCB 0 ; 0.0 43.8 L60A1 FCB 0 ; 0.0 50.0 L60A2 FCB 0 ; 0.0 56.3 L60A3 FCB 0 ; 0.0 62.5 L60A4 FCB 0 ; 0.0 68.8 L60A5 FCB 0 ; 0.0 75.0 L60A6 FCB 0 ; 0.0 81.3 L60A7 FCB 0 ; 0.0 87.5 L60A8 FCB 0 ; 0.0 93.8 L60A9 FCB 0 ; 0.0 100.0 ;---------------------------------------------- *********************************************** *********************** * ENGINE BRAKING *********************** ;---------------------------------------------- ; ENGINE BRAKING LINE PRESSURE Vs. MPH ; 1st GEAR ; ; Dissassemby of BBWM ; ; TBL = PSI ;---------------------------------------------- ORG $60AA ; PSI MPH ;---------------------------------- L60AA FCB 40 ; 40.0 0 L60AB FCB 40 ; 40.0 8 L60AC FCB 40 ; 40.0 16 L60AD FCB 40 ; 40.0 24 L60AE FCB 40 ; 40.0 32 L60AF FCB 40 ; 40.0 40 L60B0 FCB 40 ; 40.0 48 L60B1 FCB 90 ; 90.0 56 L60B2 FCB 90 ; 90.0 64 L60B3 FCB 90 ; 90.0 72 L60B4 FCB 90 ; 90.0 80 L60B5 FCB 90 ; 90.0 88 L60B6 FCB 90 ; 90.0 96 L60B7 FCB 90 ; 90.0 104 L60B8 FCB 90 ; 90.0 112 L60B9 FCB 90 ; 90.0 120 L60BA FCB 90 ; 90.0 128 ;---------------------------------------------- ;---------------------------------------------- ; ENGINE BRAKING LINE PRESSURE Vs. MPH ; 2nd GEAR ; ; Dissassemby of BBWM ; ; TBL = PSI ;---------------------------------------------- ORG $60BB ; PSI MPH ;---------------------------------- L60BB FCB 40 ; 40.0 0 L60BC FCB 40 ; 40.0 8 L60BD FCB 40 ; 40.0 16 L60BE FCB 40 ; 40.0 24 L60BF FCB 40 ; 40.0 32 L60C0 FCB 40 ; 40.0 40 L60C1 FCB 50 ; 50.0 48 L60C2 FCB 60 ; 60.0 56 L60C3 FCB 80 ; 80.0 64 L60C4 FCB 90 ; 90.0 72 L60C5 FCB 90 ; 90.0 80 L60C6 FCB 90 ; 90.0 88 L60C7 FCB 90 ; 90.0 96 L60C8 FCB 90 ; 90.0 104 L60C9 FCB 90 ; 90.0 112 L60CA FCB 90 ; 90.0 120 L60CB FCB 90 ; 90.0 128 ;---------------------------------------------- ;---------------------------------------------- ; ENGINE BRAKING LINE PRESSURE Vs. MPH ; 3rd GEAR ; ; Dissassemby of BBWM ; ; TBL = PSI ;---------------------------------------------- ORG $60CC ; PSI MPH ;---------------------------------- L60CC FCB 0 ; 0.0 0 L60CD FCB 0 ; 0.0 8 L60CE FCB 0 ; 0.0 16 L60CF FCB 0 ; 0.0 24 L60D0 FCB 0 ; 0.0 32 L60D1 FCB 0 ; 0.0 40 L60D2 FCB 0 ; 0.0 48 L60D3 FCB 0 ; 0.0 56 L60D4 FCB 0 ; 0.0 64 L60D5 FCB 0 ; 0.0 72 L60D6 FCB 0 ; 0.0 80 L60D7 FCB 0 ; 0.0 88 L60D8 FCB 0 ; 0.0 96 L60D9 FCB 0 ; 0.0 104 L60DA FCB 0 ; 0.0 112 L60DB FCB 0 ; 0.0 120 L60DC FCB 0 ; 0.0 128 ;---------------------------------------------- ;---------------------------------------------- ; GARAGE SHIFT LINE PRESSURE, Vs. COOL Vs. RPM ; IN DRIVE ; ; Dissassemby of BBWM ; 17 x 8 TBL ; ; TBL = PSI ;---------------------------------------------- ORG $60DD ; ; L60DD FCB 0 ; Min -40 deg C Val, (deg c+40) FCB 0 ; Min 0 RPM Value (RPM/8) FCB 17 ; COL'S/ROW ; ;---------------------------------------------- ; -40 DEG C COOL ; PSI RPM XMIS SPD ;---------------------------------------------- FCB 25 ; 25.0 0 FCB 25 ; 25.0 128 FCB 25 ; 25.0 256 FCB 25 ; 25.0 384 FCB 25 ; 25.0 512 FCB 25 ; 25.0 640 FCB 25 ; 25.0 768 FCB 25 ; 25.0 896 FCB 25 ; 25.0 1024 FCB 25 ; 25.0 1152 FCB 25 ; 25.0 1280 FCB 25 ; 25.0 1408 FCB 25 ; 25.0 1536 FCB 25 ; 25.0 1664 FCB 25 ; 25.0 1792 FCB 25 ; 25.0 1920 FCB 25 ; 25.0 2048 ;---------------------------------------------- ; -20 DEG C COOL ; PSI RPM XMIS SPD ;---------------------------------------------- FCB 20 ; 20.0 0 FCB 20 ; 20.0 128 FCB 20 ; 20.0 256 FCB 20 ; 20.0 384 FCB 20 ; 20.0 512 FCB 20 ; 20.0 640 FCB 20 ; 20.0 768 FCB 20 ; 20.0 896 FCB 20 ; 20.0 1024 FCB 20 ; 20.0 1152 FCB 20 ; 20.0 1280 FCB 20 ; 20.0 1408 FCB 20 ; 20.0 1536 FCB 20 ; 20.0 1664 FCB 20 ; 20.0 1792 FCB 20 ; 20.0 1920 FCB 20 ; 20.0 2048 ;---------------------------------------------- ; 0 DEG C COOL ; PSI RPM XMIS SPD ;---------------------------------------------- FCB 10 ; 10.0 0 FCB 10 ; 10.0 128 FCB 10 ; 10.0 256 FCB 10 ; 10.0 384 FCB 10 ; 10.0 512 FCB 10 ; 10.0 640 FCB 10 ; 10.0 768 FCB 10 ; 10.0 896 FCB 10 ; 10.0 1024 FCB 10 ; 10.0 1152 FCB 10 ; 10.0 1280 FCB 10 ; 10.0 1408 FCB 10 ; 10.0 1536 FCB 10 ; 10.0 1664 FCB 10 ; 10.0 1792 FCB 10 ; 10.0 1920 FCB 10 ; 10.0 2048 ;---------------------------------------------- ; 20 DEG C COOL ; PSI RPM XMIS SPD ;---------------------------------------------- FCB 0 ; 0.0 0 FCB 0 ; 0.0 128 FCB 0 ; 0.0 256 FCB 0 ; 0.0 384 FCB 0 ; 0.0 512 FCB 0 ; 0.0 640 FCB 0 ; 0.0 768 FCB 0 ; 0.0 896 FCB 0 ; 0.0 1024 FCB 0 ; 0.0 1152 FCB 0 ; 0.0 1280 FCB 0 ; 0.0 1408 FCB 0 ; 0.0 1536 FCB 0 ; 0.0 1664 FCB 0 ; 0.0 1792 FCB 0 ; 0.0 1920 FCB 0 ; 0.0 2048 ;---------------------------------------------- ; 40 DEG C COOL ; PSI RPM XMIS SPD ;---------------------------------------------- FCB 0 ; 0.0 0 FCB 0 ; 0.0 128 FCB 0 ; 0.0 256 FCB 0 ; 0.0 384 FCB 0 ; 0.0 512 FCB 0 ; 0.0 640 FCB 0 ; 0.0 768 FCB 0 ; 0.0 896 FCB 0 ; 0.0 1024 FCB 0 ; 0.0 1152 FCB 0 ; 0.0 1280 FCB 0 ; 0.0 1408 FCB 0 ; 0.0 1536 FCB 0 ; 0.0 1664 FCB 0 ; 0.0 1792 FCB 0 ; 0.0 1920 FCB 0 ; 0.0 2048 ;---------------------------------------------- ; 60 DEG C COOL ; PSI RPM XMIS SPD ;---------------------------------------------- FCB 0 ; 0.0 0 FCB 0 ; 0.0 128 FCB 0 ; 0.0 256 FCB 0 ; 0.0 384 FCB 0 ; 0.0 512 FCB 0 ; 0.0 640 FCB 0 ; 0.0 768 FCB 0 ; 0.0 896 FCB 0 ; 0.0 1024 FCB 0 ; 0.0 1152 FCB 0 ; 0.0 1280 FCB 0 ; 0.0 1408 FCB 0 ; 0.0 1536 FCB 0 ; 0.0 1664 FCB 0 ; 0.0 1792 FCB 0 ; 0.0 1920 FCB 0 ; 0.0 2048 ;---------------------------------------------- ; 80 DEG C COOL ; PSI RPM XMIS SPD ;---------------------------------------------- FCB 0 ; 0.0 0 FCB 0 ; 0.0 128 FCB 0 ; 0.0 256 FCB 0 ; 0.0 384 FCB 0 ; 0.0 512 FCB 0 ; 0.0 640 FCB 0 ; 0.0 768 FCB 0 ; 0.0 896 FCB 0 ; 0.0 1024 FCB 0 ; 0.0 1152 FCB 0 ; 0.0 1280 FCB 0 ; 0.0 1408 FCB 0 ; 0.0 1536 FCB 0 ; 0.0 1664 FCB 0 ; 0.0 1792 FCB 0 ; 0.0 1920 FCB 0 ; 0.0 2048 ;---------------------------------------------- ; 100 DEG C COOL ; PSI RPM XMIS SPD ;---------------------------------------------- FCB 0 ; 0.0 0 FCB 0 ; 0.0 128 FCB 0 ; 0.0 256 FCB 0 ; 0.0 384 FCB 0 ; 0.0 512 FCB 0 ; 0.0 640 FCB 0 ; 0.0 768 FCB 0 ; 0.0 896 FCB 0 ; 0.0 1024 FCB 0 ; 0.0 1152 FCB 0 ; 0.0 1280 FCB 0 ; 0.0 1408 FCB 0 ; 0.0 1536 FCB 0 ; 0.0 1664 FCB 0 ; 0.0 1792 FCB 0 ; 0.0 1920 FCB 0 ; 0.0 2048 ;---------------------------------------------- ;---------------------------------------------- ; GARAGE LINE PRESSURE IN REVERSE Vs. COOL Vs. RPM ; ; Dissassemby of BBWM ; 17 x 8 TBL ; ; TBL = PSI ;---------------------------------------------- ORG $6168 ; ; L6168 FCB 0 ; Min -40 c FCB 0 ; Min 0 RPM FCB 17 ; COL'S/ROW ;---------------------------------------------- ; -40 DEG c ; PSI RPM XMIS SPD ;---------------------------------------------- FCB 25 ; 25.0 0 FCB 25 ; 25.0 128 FCB 25 ; 25.0 256 FCB 25 ; 25.0 384 FCB 25 ; 25.0 512 FCB 25 ; 25.0 640 FCB 25 ; 25.0 768 FCB 25 ; 25.0 896 FCB 25 ; 25.0 1024 FCB 25 ; 25.0 1152 FCB 25 ; 25.0 1280 FCB 25 ; 25.0 1408 FCB 25 ; 25.0 1536 FCB 25 ; 25.0 1664 FCB 25 ; 25.0 1792 FCB 25 ; 25.0 1920 FCB 25 ; 25.0 2048 ;---------------------------------------------- ; -20 DEG c ; PSI RPM XMIS SPD ;---------------------------------------------- FCB 25 ; 25.0 0 FCB 25 ; 25.0 128 FCB 25 ; 25.0 256 FCB 25 ; 25.0 384 FCB 25 ; 25.0 512 FCB 25 ; 25.0 640 FCB 25 ; 25.0 768 FCB 25 ; 25.0 896 FCB 25 ; 25.0 1024 FCB 25 ; 25.0 1152 FCB 25 ; 25.0 1280 FCB 25 ; 25.0 1408 FCB 25 ; 25.0 1536 FCB 25 ; 25.0 1664 FCB 25 ; 25.0 1792 FCB 25 ; 25.0 1920 FCB 25 ; 25.0 2048 ;---------------------------------------------- ; -0 DEG c ; PSI RPM XMIS SPD ;---------------------------------------------- FCB 5 ; 5.0 0 FCB 5 ; 5.0 128 FCB 5 ; 5.0 256 FCB 5 ; 5.0 384 FCB 5 ; 5.0 512 FCB 5 ; 5.0 640 FCB 5 ; 5.0 768 FCB 5 ; 5.0 896 FCB 5 ; 5.0 1024 FCB 5 ; 5.0 1152 FCB 5 ; 5.0 1280 FCB 5 ; 5.0 1408 FCB 5 ; 5.0 1536 FCB 5 ; 5.0 1664 FCB 5 ; 5.0 1792 FCB 5 ; 5.0 1920 FCB 5 ; 5.0 2048 ;---------------------------------------------- ; 20 DEG c ; PSI RPM XMIS SPD ;---------------------------------------------- FCB 0 ; 0.0 0 FCB 0 ; 0.0 128 FCB 0 ; 0.0 256 FCB 0 ; 0.0 384 FCB 0 ; 0.0 512 FCB 0 ; 0.0 640 FCB 0 ; 0.0 768 FCB 0 ; 0.0 896 FCB 0 ; 0.0 1024 FCB 0 ; 0.0 1152 FCB 0 ; 0.0 1280 FCB 0 ; 0.0 1408 FCB 0 ; 0.0 1536 FCB 0 ; 0.0 1664 FCB 0 ; 0.0 1792 FCB 0 ; 0.0 1920 FCB 0 ; 0.0 2048 ;---------------------------------------------- ; 40 DEG c ; PSI RPM XMIS SPD ;---------------------------------------------- FCB 0 ; 0.0 0 FCB 0 ; 0.0 128 FCB 0 ; 0.0 256 FCB 0 ; 0.0 384 FCB 0 ; 0.0 512 FCB 0 ; 0.0 640 FCB 0 ; 0.0 768 FCB 0 ; 0.0 896 FCB 0 ; 0.0 1024 FCB 0 ; 0.0 1152 FCB 0 ; 0.0 1280 FCB 0 ; 0.0 1408 FCB 0 ; 0.0 1536 FCB 0 ; 0.0 1664 FCB 0 ; 0.0 1792 FCB 0 ; 0.0 1920 FCB 0 ; 0.0 2048 ;---------------------------------------------- ; 60 DEG C ; PSI RPM XMIS SPD ;---------------------------------------------- FCB 0 ; 0.0 0 FCB 0 ; 0.0 128 FCB 0 ; 0.0 256 FCB 0 ; 0.0 384 FCB 0 ; 0.0 512 FCB 0 ; 0.0 640 FCB 0 ; 0.0 768 FCB 0 ; 0.0 896 FCB 0 ; 0.0 1024 FCB 0 ; 0.0 1152 FCB 0 ; 0.0 1280 FCB 0 ; 0.0 1408 FCB 0 ; 0.0 1536 FCB 0 ; 0.0 1664 FCB 0 ; 0.0 1792 FCB 0 ; 0.0 1920 FCB 0 ; 0.0 2048 ;---------------------------------------------- ; 80 DEG C ; ; PSI RPM XMIS SPD ;---------------------------------------------- FCB 0 ; 0.0 0 FCB 0 ; 0.0 128 FCB 0 ; 0.0 256 FCB 0 ; 0.0 384 FCB 0 ; 0.0 512 FCB 0 ; 0.0 640 FCB 0 ; 0.0 768 FCB 0 ; 0.0 896 FCB 0 ; 0.0 1024 FCB 0 ; 0.0 1152 FCB 0 ; 0.0 1280 FCB 0 ; 0.0 1408 FCB 0 ; 0.0 1536 FCB 0 ; 0.0 1664 FCB 0 ; 0.0 1792 FCB 0 ; 0.0 1920 FCB 0 ; 0.0 2048 ;---------------------------------------------- ; 100 DEG C ; PSI RPM XMIS SPD ;---------------------------------------------- FCB 0 ; 0.0 0 FCB 0 ; 0.0 128 FCB 0 ; 0.0 256 FCB 0 ; 0.0 384 FCB 0 ; 0.0 512 FCB 0 ; 0.0 640 FCB 0 ; 0.0 768 FCB 0 ; 0.0 896 FCB 0 ; 0.0 1024 FCB 0 ; 0.0 1152 FCB 0 ; 0.0 1280 FCB 0 ; 0.0 1408 FCB 0 ; 0.0 1536 FCB 0 ; 0.0 1664 FCB 0 ; 0.0 1792 FCB 0 ; 0.0 1920 FCB 0 ; 0.0 2048 ;---------------------------------------------- ;---------------------------------------------- ; GARAGE ROLLING SHIFT LINE PRESSURE Vs. %TPS Vs. MPH ; Dissassemby of BDWM ; ; TBL = PSI ;---------------------------------------------- ORG $61F3 ; ; L61F3 FCB 0 ; Min %TPS Val FCB 0 ; Min 0 MPH Value FCB 5 ; COL'S/ROW ; ;---------------------------------------------- ; 0 %TPS ; PSI MPH ;---------------------------------------------- FCB 128 ; 128 0 FCB 128 ; 128 4 FCB 138 ; 138 8 FCB 148 ; 148 12 FCB 148 ; 148 16 ;---------------------------------------------- ; 6.25 %TPS ; PSI MPH ;---------------------------------------------- FCB 128 ; 128 0 FCB 133 ; 133 4 FCB 138 ; 138 8 FCB 138 ; 138 12 FCB 138 ; 138 16 ;---------------------------------------------- ; 12.5 %TPS ; PSI MPH ;---------------------------------------------- FCB 128 ; 128 0 FCB 138 ; 138 4 FCB 138 ; 138 8 FCB 138 ; 138 12 FCB 138 ; 138 16 ;---------------------------------------------- ; 18.27 %TPS ; PSI MPH ;---------------------------------------------- FCB 128 ; 128 0 FCB 160 ; 160 4 FCB 160 ; 160 8 FCB 160 ; 160 12 FCB 160 ; 160 16 ;---------------------------------------------- ; 25 %TPS ; PSI MPH ;---------------------------------------------- FCB 160 ; 160 0 FCB 160 ; 160 4 FCB 160 ; 160 8 FCB 160 ; 160 12 FCB 160 ; 160 16 ;---------------------------------------------- ; 31.25 %TPS ; PSI MPH ;---------------------------------------------- FCB 255 ; 255 0 FCB 255 ; 255 4 FCB 255 ; 255 8 FCB 255 ; 255 12 FCB 255 ; 255 16 ;---------------------------------------------- ; 37.50 %TPS ; PSI MPH ;---------------------------------------------- FCB 255 ; 255 0 FCB 255 ; 255 4 FCB 255 ; 255 8 FCB 255 ; 255 12 FCB 255 ; 255 16 ;---------------------------------------------- ; 43.75 %TPS ; PSI MPH ;---------------------------------------------- FCB 255 ; 255 0 FCB 255 ; 255 4 FCB 255 ; 255 8 FCB 255 ; 255 12 FCB 255 ; 255 16 ;---------------------------------------------- ; 50.0 %TPS ; PSI MPH ;---------------------------------------------- FCB 255 ; 255 0 FCB 255 ; 255 4 FCB 255 ; 255 8 FCB 255 ; 255 12 FCB 255 ; 255 16 ;---------------------------------------------- ; 56.25 %TPS ; PSI MPH ;---------------------------------------------- FCB 255 ; 255 0 FCB 255 ; 255 4 FCB 255 ; 255 8 FCB 255 ; 255 12 FCB 255 ; 255 16 ;---------------------------------------------- ; 62.5 %TPS ; PSI MPH ;---------------------------------------------- FCB 255 ; 255 0 FCB 255 ; 255 4 FCB 255 ; 255 8 FCB 255 ; 255 12 FCB 255 ; 255 16 ;---------------------------------------------- ; 68.75 %TPS ; PSI MPH ;---------------------------------------------- FCB 255 ; 255 0 FCB 255 ; 255 4 FCB 255 ; 255 8 FCB 255 ; 255 12 FCB 255 ; 255 16 ;---------------------------------------------- ; 75.0 %TPS ; PSI MPH ;---------------------------------------------- FCB 255 ; 255 0 FCB 255 ; 255 4 FCB 255 ; 255 8 FCB 255 ; 255 12 FCB 255 ; 255 16 ;---------------------------------------------- ; 81.25 %TPS ; PSI MPH ;---------------------------------------------- FCB 255 ; 255 0 FCB 255 ; 255 4 FCB 255 ; 255 8 FCB 255 ; 255 12 FCB 255 ; 255 16 ;---------------------------------------------- ; 87.5 %TPS ; PSI MPH ;---------------------------------------------- FCB 255 ; 255 0 FCB 255 ; 255 4 FCB 255 ; 255 8 FCB 255 ; 255 12 FCB 255 ; 255 16 ;---------------------------------------------- ; 93.75 %TPS ; PSI MPH ;---------------------------------------------- FCB 255 ; 255 0 FCB 255 ; 255 4 FCB 255 ; 255 8 FCB 255 ; 255 12 FCB 255 ; 255 16 ;---------------------------------------------- ; 100 %TPS ; PSI MPH ;---------------------------------------------- FCB 255 ; 255 0 FCB 255 ; 255 4 FCB 255 ; 255 8 FCB 255 ; 255 12 FCB 255 ; 255 16 ;---------------------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Trans temp based line pressure correction, 2nd gear ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Line press corr = val - 128 ; L624B FCB 0 ;0 %TPS, min %TPS FCB 0 ;-40 deg C, min trans temp FCB 11 ;# cols. ; ; Deg C: -40, -20, 0, 20, 40, 60, 80, 100, 120, 140, 160 ;%TPS ; ; FCB 133, 128, 122, 122, 123, 123, 123, 128, 128, 131, 134 ; 0 FCB 138, 133, 122, 123, 123, 123, 123, 128, 128, 131, 134 ;38 FCB 138, 133, 122, 122, 122, 122, 123, 128, 128, 134, 140 ;40 FCB 138, 133, 123, 123, 123, 123, 123, 128, 128, 134, 140 ;70 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Trans temp based line pressure correction, 3rd gear ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Line press corr = val - 128 ; L627A FCB 0 ;0 %TPS, min %TPS FCB 0 ;-40 deg C, min trans temp FCB 11 ;# cols. ; ; Deg C: -40, -20, 0, 20, 40, 60, 80, 100, 120, 140, 160 ;%TPS ; FCB 153, 148, 148, 143, 123, 123, 123, 128, 132, 131, 134 ; 0 FCB 153, 148, 148, 143, 123, 118, 123, 128, 132, 131, 134 ;38 FCB 153, 148, 148, 143, 123, 118, 123, 128, 134, 134, 140 ;40 FCB 153, 148, 148, 143, 123, 118, 123, 128, 134, 134, 140 ;70 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Trans temp based line pressure correction, 4th gear ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Line press corr = val - 128 ; L62A9 FCB 0 ;0 %TPS, min %TPS FCB 0 ;-40 deg C, min trans temp FCB 11 ;# cols. ; ; Deg C: -40, -20, 0, 20, 40, 60, 80, 100, 120, 140, 160 ;%TPS ; FCB 133, 128, 128, 128, 128, 128, 128, 128, 128, 131, 134 ; 0 FCB 138, 133, 128, 128, 128, 128, 128, 128, 128, 131, 134 ;38 FCB 138, 133, 133, 128, 128, 128, 128, 128, 128, 131, 134 ;40 FCB 138, 133, 133, 128, 128, 128, 128, 128, 128, 131, 134 ;70 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;Load based line pressure, 0-64 MPH ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; psi=val. ; L62D8 FCB 0 ;0%, min TPS FCB 0 ;0 mph, min mph x 4 FCB 17 ;# cols. ; ; MPH: 0 4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64 ; %TPS ; FCB 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; 0.00 FCB 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12 ; 6.25 FCB 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 ; 12.50 FCB 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27 ; 18.75 FCB 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32 ; 25.00 FCB 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37 ; 31.25 FCB 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42 ; 37.50 FCB 90, 90, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46 ; 43.75 FCB 90, 90, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49 ; 50.00 FCB 90, 90, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52 ; 56.25 FCB 90, 90, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54 ; 62.50 FCB 90, 90, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56 ; 68.75 FCB 90, 90, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58 ; 70.00 FCB 90, 90, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59 ; 81.25 FCB 90, 90, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59 ; 87.50 FCB 90, 90, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59 ; 93.75 FCB 90, 90, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59 ;100.00 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;Load based line pressure, 64 MPH + ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; psi=val. ; L63FC FCB 0 ;0%, min %tps FCB 0 ;64 mph, min (mph - 64) x 4 FCB 17 ;# cols ; ; MPH: 64 68 72 76 80 84 88 92 96 100 104 108 112 116 120 124 128 ; %TPS ; FCB 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; 0.00 FCB 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12 ; 6.25 FCB 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 ; 12.50 FCB 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27 ; 18.75 FCB 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32 ; 25.00 FCB 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37 ; 31.25 FCB 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42 ; 37.50 FCB 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46 ; 43.75 FCB 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49 ; 50.00 FCB 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52 ; 56.25 FCB 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54 ; 62.50 FCB 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56 ; 68.75 FCB 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58 ; 75.00 FCB 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59 ; 81.25 FCB 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59 ; 87.25 FCB 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59 ; 93.75 FCB 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59 ;100.00 ; *********************************************** * PRESSURE OFFSET NORMAL MODE * *********************************************** ;---------------------------------------------- ; PRESSURE OFFSET, NORMAL MODE Vs. %TPS ; 2nd GR ; NORMAL MODE ; ; ; Dissassemby of BDWM LINES = 17 ; 03-04-1994, 09:33:09 ; ; TBL = PSI + 128 ;---------------------------------------------- ORG $6520 ; PSI %TPS ;---------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-2nd gear load based pressure offset ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; line pressure = val - 128 ;%TPS ; L6520 FCB 128 ; 0.0 FCB 120 ; 6.3 FCB 116 ; 12.5 FCB 113 ; 18.8 FCB 113 ; 25.0 FCB 112 ; 31.3 FCB 112 ; 37.5 FCB 113 ; 43.8 FCB 115 ; 50.0 FCB 118 ; 56.3 FCB 119 ; 62.5 FCB 119 ; 68.8 FCB 119 ; 75.0 FCB 119 ; 81.3 FCB 119 ; 87.5 FCB 119 ; 93.8 FCB 119 ;100.0 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-3rd gear load based pressure offset ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; line pressure = val - 128 ;%TPS ; L6531 FCB 128 ; 0.0 FCB 123 ; 6.3 FCB 119 ; 12.5 FCB 118 ; 18.8 FCB 117 ; 25.0 FCB 117 ; 31.3 FCB 117 ; 37.5 FCB 121 ; 43.8 FCB 124 ; 50.0 FCB 129 ; 56.3 FCB 129 ; 62.5 FCB 129 ; 68.8 FCB 129 ; 75.0 FCB 129 ; 81.3 FCB 129 ; 87.5 FCB 129 ; 93.8 FCB 129 ;100.0 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-4th gear load based pressure offset ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; line pressure = val - 128 ;%TPS ; L6542 FCB 128 ; 0.0 FCB 128 ; 6.3 FCB 128 ; 12.5 FCB 128 ; 18.8 FCB 128 ; 25.0 FCB 128 ; 31.3 FCB 128 ; 37.5 FCB 128 ; 43.8 FCB 128 ; 50.0 FCB 128 ; 56.3 FCB 128 ; 62.5 FCB 128 ; 68.8 FCB 128 ; 75.0 FCB 128 ; 81.3 FCB 128 ; 87.5 FCB 128 ; 93.8 FCB 128 ;100.0 ; ********************************************** * PRESSURE MOD * NORMAL RANGE * (3 TABLES) ********************************************** ;--------------------------------------------- ; 2 -> 1 PRESSURE MOD, NORMAL RANGE ; LINE PRESSURE Vs. Vss ; ; Dissassemby of BBWM ; (INDEXED ADDR TABLE AT LBB66) ; ; TBL = 1 * (PSI MOD + 128 ;--------------------------------------------- ORG $6553 ; ; L6553 FCB 0 ; 0 MPH, Vss MIN L6554 FCB 128 ; 64 MPH Vss RANGE L6555 FCB 32 ; 4 MPH Vss INCR, (128/MPH) ; ; PSI MOD MPH ;--------------------------------- L6556 FCB 128 ; 0.0 30 L6557 FCB 128 ; 0.0 34 L6558 FCB 128 ; 0.0 38 L6559 FCB 128 ; 0.0 42 L655A FCB 128 ; 0.0 46 L655B FCB 128 ; 0.0 50 L655C FCB 128 ; 0.0 54 L655D FCB 128 ; 0.0 58 L655E FCB 128 ; 0.0 62 L655F FCB 128 ; 0.0 66 L6560 FCB 128 ; 0.0 70 L6561 FCB 128 ; 0.0 74 L6562 FCB 128 ; 0.0 78 L6563 FCB 128 ; 0.0 82 L6564 FCB 128 ; 0.0 86 L6565 FCB 128 ; 0.0 90 L6566 FCB 128 ; 0.0 94 ;--------------------------------------------- ;--------------------------------------------- ; PRESSURE MOD, NORMAL RANGE, ; LINE PRESSURE Vs. Vss ; 3 -> 2 SHIFT ; ; Dissassemby of BDWM ; (INDEXED ADDR TABLE AT LBB66) ; ; TABLE = PSI+ 128 ;--------------------------------------------- ORG $6567 ; ; L6567 FCB 28 ; 14 MPH, Vss MIN L6568 FCB 128 ; 64 MPH Vss RANGE L6569 FCB 32 ; 4 MPH Vss INCR, (128/MPH) ; ; PSI Mod MPH ;--------------------------------- L656A FCB 137 ; 9.0 14.0 L656B FCB 137 ; 9.0 18.0 L656C FCB 135 ; 7.0 22.0 L656D FCB 123 ; -5.0 26.0 L656E FCB 112 ; -16.0 30.0 L656F FCB 106 ; -22.0 34.0 L6570 FCB 106 ; -22.0 38.0 L6571 FCB 106 ; -22.0 42.0 L6572 FCB 106 ; -22.0 46.0 L6573 FCB 106 ; -22.0 50.0 L6574 FCB 106 ; -22.0 54.0 L6575 FCB 106 ; -22.0 58.0 L6576 FCB 106 ; -22.0 62.0 L6577 FCB 128 ; 0.0 66.0 L6578 FCB 128 ; 0.0 70.0 L6579 FCB 128 ; 0.0 74.0 L657A FCB 128 ; 0.0 78.0 ;--------------------------------------------- ;--------------------------------------------- ; PRESSURE MOD, NORMAL RANGE, ; LINE PRESSURE Vs. Vss ; 4 -> 3 SHIFT ; ; Dissassemby of BDWM ; (INDEXED ADDR TABLE AT LBB66) ; ; TABLE = PSI +128 ;--------------------------------------------- ORG $657B ; ; L657B FCB 60 ; 30 MPH, Vss MIN L657C FCB 128 ; 64 MPH Vss RANGE L657D FCB 32 ; 4 MPH Vss INCR, (128/MPH) ; ; PSI MPH ;--------------------------------- L657E FCB 128 ; 0.0 30 L657F FCB 128 ; 0.0 34 L6580 FCB 128 ; 0.0 38 L6581 FCB 128 ; 0.0 42 L6582 FCB 128 ; 0.0 46 L6583 FCB 128 ; 0.0 50 L6584 FCB 128 ; 0.0 54 L6585 FCB 128 ; 0.0 58 L6586 FCB 128 ; 0.0 62 L6587 FCB 128 ; 0.0 66 L6588 FCB 128 ; 0.0 70 L6589 FCB 128 ; 0.0 74 L658A FCB 128 ; 0.0 78 L658B FCB 128 ; 0.0 82 L658C FCB 128 ; 0.0 86 L658D FCB 128 ; 0.0 90 L658E FCB 128 ; 0.0 94 ;---------------------------------------------- ******************** * DESIRED SHIFT * TIME ******************** ;--------------------------------------------- ; DESIRED SHIFT TIME ; 1 -> 2 SHFT ; ; 10-07-1997 Dissassemby of BDWM Lines= 17 ; ; TBL = .04 * msec ;--------------------------------------------- ORG $658F ; msec %TPS ;--------------------------------- L658F FCB 34 ; 850 0.0 L6590 FCB 34 ; 850 6.3 L6591 FCB 29 ; 725 12.5 L6592 FCB 30 ; 750 18.8 L6593 FCB 33 ; 825 25.0 L6594 FCB 35 ; 875 31.3 L6595 FCB 35 ; 875 37.5 L6596 FCB 33 ; 825 43.8 L6597 FCB 33 ; 825 50.0 L6598 FCB 35 ; 875 56.3 L6599 FCB 35 ; 875 62.5 L659A FCB 34 ; 850 68.8 L659B FCB 35 ; 875 75.0 L659C FCB 35 ; 875 81.3 L659D FCB 36 ; 900 87.5 L659E FCB 37 ; 925 93.8 L659F FCB 37 ; 925 100.0 ;--------------------------------------------- ;--------------------------------------------- ; DESIRED SHIFT TIME ; 2 -> 3 SHFT ; ; 10-07-1997 Dissassemby of BDWM Lines= 17 ; ; TBL = .04 * msec ;--------------------------------------------- ORG $65A0 ; msec %TPS ;--------------------------------- L65A0 FCB 32 ; 800 0.0 L65A1 FCB 32 ; 800 6.3 L65A2 FCB 32 ; 800 12.5 L65A3 FCB 34 ; 850 18.8 L65A4 FCB 34 ; 850 25.0 L65A5 FCB 34 ; 850 31.3 L65A6 FCB 34 ; 850 37.5 L65A7 FCB 34 ; 850 43.8 L65A8 FCB 34 ; 850 50.0 L65A9 FCB 38 ; 950 56.3 L65AA FCB 38 ; 950 62.5 L65AB FCB 38 ; 950 68.8 L65AC FCB 38 ; 950 75.0 L65AD FCB 40 ; 1000 81.3 L65AE FCB 40 ; 1000 87.5 L65AF FCB 40 ; 1000 93.8 L65B0 FCB 40 ; 1000 100.0 ;--------------------------------------------- ;------------------------------------------------- ; DESIRED SHIFT TIME ; 3 -> 4 SHFT ; ; 10-07-1997 Dissassemby of BDWM Lines= 17 ; ; TBL = .04 * msec ;--------------------------------------------- ORG $65B1 ; msec %TPS ;--------------------------------- L65B1 FCB 32 ; 800 0.0 L65B2 FCB 32 ; 800 6.3 L65B3 FCB 32 ; 800 12.5 L65B4 FCB 32 ; 800 18.8 L65B5 FCB 32 ; 800 25.0 L65B6 FCB 32 ; 800 31.3 L65B7 FCB 32 ; 800 37.5 L65B8 FCB 32 ; 800 43.8 L65B9 FCB 32 ; 800 50.0 L65BA FCB 32 ; 800 56.3 L65BB FCB 32 ; 800 62.5 L65BC FCB 32 ; 800 68.8 L65BD FCB 32 ; 800 75.0 L65BE FCB 32 ; 800 81.3 L65BF FCB 32 ; 800 87.5 L65C0 FCB 32 ; 800 93.8 L65C1 FCB 32 ; 800 100.0 ;--------------------------------------------- ********************************************** ******************** * ADAPTIVE MODIFIER * CALIBRATIONS ******************** ;--------------------------------------------- ; ADAPTIVE PRESSURE MODIFIER ; LINE PRESSURE Vs. SHIFT TIME ERROR ; 1 -> 2 SHIFT ; ; Dissassemby of BDWM ; ; TBL = PSI * 4, -200 Msec to +200 Msec/25 MS ;--------------------------------------------- ORG $65C2 ; PSI SEC'S SHIFT ERROR ;--------------------------------- L65C2 FCB 8 ; 2.0 -200 L65C3 FCB 6 ; 1.5 -175 L65C4 FCB 5 ; 1.3 -150 L65C5 FCB 4 ; 1.0 -125 L65C6 FCB 3 ; 0.8 -100 L65C7 FCB 2 ; 0.5 -75 L65C8 FCB 1 ; 0.3 -50 L65C9 FCB 0 ; 0.0 -25 L65CA FCB 0 ; 0.0 0 L65CB FCB 0 ; 0.0 25 L65CC FCB 255 ; 63.8 50 L65CD FCB 254 ; 63.5 75 L65CE FCB 253 ; 63.3 100 L65CF FCB 252 ; 63.0 125 L65D0 FCB 251 ; 62.8 150 L65D1 FCB 250 ; 62.5 175 L65D2 FCB 248 ; 62.0 200 ;--------------------------------------------- ;--------------------------------------------- ; ADAPTIVE PRESSURE MODIFIER ; LINE PRESSURE Vs. SHIFT TIME ERROR ; 2 -> 3 SHIFT ; ; Dissassemby of BDWM ; ; TBL= PSI * 4 ;--------------------------------------------- ORG $65C2 ; PSI SEC'S SHIFT ERROR ;--------------------------------- L65D3 FCB 8 ; 2.0 -200 L65D4 FCB 6 ; 1.5 -175 L65D5 FCB 5 ; 1.3 -150 L65D6 FCB 4 ; 1.0 -125 L65D7 FCB 3 ; 0.8 -100 L65D8 FCB 2 ; 0.5 -75 L65D9 FCB 1 ; 0.3 -50 L65DA FCB 0 ; 0.0 -25 L65DB FCB 0 ; 0.0 0 L65DC FCB 0 ; 0.0 25 L65DD FCB 255 ; 63.8 50 L65DE FCB 254 ; 63.5 75 L65DF FCB 253 ; 63.3 100 L65E0 FCB 252 ; 63.0 125 L65E1 FCB 251 ; 62.8 150 L65E2 FCB 250 ; 62.5 175 L65E3 FCB 248 ; 62.0 200 ;--------------------------------------------- ;--------------------------------------------- ; ADAPTIVE PRESSURE MODIFIER ; LINE PRESSURE Vs. SHIFT TIME ERROR ; 3 -> 4 SHIFT ; ; Dissassemby of BDWM ; ; TBL= PSI * 4 ;--------------------------------------------- ORG $65E4 ; PSI sec ERROR TIME ;----------------------------- L65D3 FCB 8 ; 2.0 -200 L65D4 FCB 6 ; 1.5 -175 L65D5 FCB 5 ; 1.3 -150 L65D6 FCB 4 ; 1.0 -125 L65D7 FCB 3 ; 0.8 -100 L65D8 FCB 2 ; 0.5 -75 L65D9 FCB 1 ; 0.3 -50 L65DA FCB 0 ; 0.0 -25 L65DB FCB 0 ; 0.0 0 L65DC FCB 0 ; 0.0 25 L65DD FCB 255 ; 63.8 50 L65DE FCB 254 ; 63.5 75 L65DF FCB 253 ; 63.3 100 L65E0 FCB 252 ; 63.0 125 L65E1 FCB 251 ; 62.8 150 L65E2 FCB 250 ; 62.5 175 L65E3 FCB 248 ; 62.0 200 ;--------------------------------------------- ;--------------------------------------------- ; ADAPTIVE PRESSURE MODIFIER ; ; Dissassemby of BDWM ; ; TBL= PSI * 4 ;--------------------------------------------- ORG $65E4 ; PSI sec ERROR TIME ;--------------------------------- L65E4 FCB 8 ; 2.0 -200 L65E5 FCB 6 ; 1.5 -175 L65E6 FCB 5 ; 1.3 -150 L65E7 FCB 4 ; 1.0 -125 L65E8 FCB 3 ; 0.8 -100 L65E9 FCB 2 ; 0.5 -75 L65EA FCB 1 ; 0.3 -50 L65EB FCB 0 ; 0.0 -25 L65EC FCB 0 ; 0.0 0 L65ED FCB 0 ; 0.0 25 L65EE FCB 255 ; 63.8 50 L65EF FCB 254 ; 63.5 75 L65F0 FCB 253 ; 63.3 100 L65F1 FCB 252 ; 63.0 125 L65F2 FCB 251 ; 62.8 150 L65F3 FCB 250 ; 62.5 175 L65F4 FCB 248 ; 62.0 200 ;--------------------------------------------- ********************************************** ********************************************** * PRESURE OFFSETS, 2nd, 3rd & 4TH GEAR * TYPE $0D ECM * * LK UP ROUTINE AT $ ********************************************** ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-2nd gear pressure offset vs. %TPS ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; PSI = val - 128 ;%TPS ; L65F5 FCB 128 ; 0.0 FCB 128 ; 6.3 FCB 128 ; 12.5 FCB 128 ; 18.8 FCB 128 ; 25.0 FCB 128 ; 31.3 FCB 128 ; 37.5 FCB 128 ; 43.8 FCB 128 ; 50.0 FCB 128 ; 56.3 FCB 128 ; 62.5 FCB 128 ; 68.8 FCB 128 ; 75.0 FCB 128 ; 81.3 FCB 128 ; 87.5 FCB 128 ; 93.8 FCB 128 ;100.0 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-3rd gear pressure offset vs. %TPS ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; PSI = val - 128 ;%TPS ; L6606 FCB 128 ; 0.0 FCB 128 ; 6.3 FCB 128 ; 12.5 FCB 128 ; 18.8 FCB 128 ; 25.0 FCB 128 ; 31.3 FCB 128 ; 37.5 FCB 128 ; 43.8 FCB 128 ; 50.0 FCB 128 ; 56.3 FCB 128 ; 62.5 FCB 128 ; 68.8 FCB 128 ; 75.0 FCB 128 ; 81.3 FCB 128 ; 87.5 FCB 128 ; 93.8 FCB 128 ;100.0 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-4th gear pressure offset vs. %TPS ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; PSI = val - 128 ;%TPS ; L6617 FCB 128 ; 0.0 FCB 128 ; 6.3 FCB 128 ; 12.5 FCB 128 ; 18.8 FCB 128 ; 25.0 FCB 128 ; 31.3 FCB 128 ; 37.5 FCB 128 ; 43.8 FCB 128 ; 50.0 FCB 128 ; 56.3 FCB 128 ; 62.5 FCB 128 ; 68.8 FCB 128 ; 75.0 FCB 128 ; 81.3 FCB 128 ; 87.5 FCB 128 ; 93.8 FCB 128 ;100.0 ; ********************************************** * PRESURE RAMP DELAY * (TO QUAL, SEE TIME CALIB AT L5D1F) * * 1 -> 2 SHIFT * 2 -> 3 SHIFT * 3 -> 4 SHIFT * * LK UP AT $ ********************************************* ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-1->2 pressure ramp delay time vs %TPS ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Sec = val/40 ;%TPS ; L6628 FCB 0 ; 0.0 FCB 0 ; 6.3 FCB 0 ; 12.5 FCB 0 ; 18.8 FCB 0 ; 25.0 FCB 0 ; 31.3 FCB 18 ; 37.5 FCB 18 ; 43.8 FCB 18 ; 50.0 FCB 18 ; 56.3 FCB 18 ; 62.5 FCB 18 ; 68.8 FCB 18 ; 75.0 FCB 18 ; 81.3 FCB 18 ; 87.5 FCB 18 ; 93.8 FCB 18 ;100.0 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-2->3 pressure ramp delay time vs. %TPS ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Sec = val/40 ;%TPS ; L6639 FCB 0 ; 0.0 FCB 0 ; 6.3 FCB 0 ; 12.5 FCB 0 ; 18.8 FCB 0 ; 25.0 FCB 0 ; 31.3 FCB 0 ; 37.5 FCB 0 ; 43.8 FCB 0 ; 50.0 FCB 0 ; 56.3 FCB 0 ; 62.5 FCB 0 ; 68.8 FCB 0 ; 75.0 FCB 0 ; 81.3 FCB 0 ; 87.5 FCB 0 ; 93.8 FCB 0 ;100.0 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-3->4 pressure ramp delay time vs. %TPS ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Sec = val/40 ;%TPS ; L664A FCB 0 ; 0.0 FCB 0 ; 6.3 FCB 0 ; 12.5 FCB 0 ; 18.8 FCB 0 ; 25.0 FCB 0 ; 31.3 FCB 0 ; 37.5 FCB 0 ; 43.8 FCB 0 ; 50.0 FCB 0 ; 56.3 FCB 0 ; 62.5 FCB 0 ; 68.8 FCB 0 ; 75.0 FCB 0 ; 81.3 FCB 0 ; 87.5 FCB 0 ; 93.8 FCB 0 ;100.0 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-1->2 pressure ramp extention time vs %TPS ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Sec = val/40 ;%TPS ; L665B FCB 0 ; 0.0 FCB 0 ; 6.3 FCB 0 ; 12.5 FCB 0 ; 18.8 FCB 0 ; 25.0 FCB 0 ; 31.3 FCB 0 ; 37.5 FCB 0 ; 43.8 FCB 0 ; 50.0 FCB 0 ; 56.3 FCB 0 ; 62.5 FCB 0 ; 68.8 FCB 0 ; 75.0 FCB 0 ; 81.3 FCB 0 ; 87.5 FCB 0 ; 93.8 FCB 0 ;100.0 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-2->3 pressure ramp extention time vs %TPS ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Sec = val/40 ;%TPS ; L666C FCB 0 ; 0.0 FCB 0 ; 6.3 FCB 0 ; 12.5 FCB 0 ; 18.8 FCB 0 ; 25.0 FCB 0 ; 31.3 FCB 0 ; 37.5 FCB 0 ; 43.8 FCB 0 ; 50.0 FCB 0 ; 56.3 FCB 0 ; 62.5 FCB 0 ; 68.8 FCB 0 ; 75.0 FCB 0 ; 81.3 FCB 0 ; 87.5 FCB 0 ; 93.8 FCB 0 ;100.0 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-3->4 pressure ramp extention time vs %TPS ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Sec = val/40 ;%TPS ; L667D FCB 0 ; 0.0 FCB 0 ; 6.3 FCB 0 ; 12.5 FCB 0 ; 18.8 FCB 0 ; 25.0 FCB 0 ; 31.3 FCB 0 ; 37.5 FCB 0 ; 43.8 FCB 0 ; 50.0 FCB 0 ; 56.3 FCB 0 ; 62.5 FCB 0 ; 68.8 FCB 0 ; 75.0 FCB 0 ; 81.3 FCB 0 ; 87.5 FCB 0 ; 93.8 FCB 0 ;100.0 ; *********************************************** ;---------------------------------------------- ; 1 -> 2 PRESSURE DIFF vs %TPS ; ; Dissassemby of BDWM ; 11-23-1993, 10:54:40 ; ; TBL = (PSI/SEC) * 64 / (1.6 + 128) ;---------------------------------------------- ORG $668E ; PSI/SEC %TPS ;---------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;- 1->2 pressure diff. vs. %TPS ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; ; ; L668E FCB 128 ; 0.0 FCB 128 ; 6.3 FCB 128 ; 12.5 FCB 128 ; 18.8 FCB 128 ; 25.0 FCB 128 ; 31.3 FCB 128 ; 37.5 FCB 128 ; 43.8 FCB 128 ; 50.0 FCB 128 ; 56.3 FCB 128 ; 62.5 FCB 128 ; 68.8 FCB 128 ; 75.0 FCB 128 ; 81.3 FCB 128 ; 87.5 FCB 128 ; 93.8 FCB 128 ;100.0 ; ;---------------------------------------------- ; 2 -> 3 PRESSURE DIFF vs %TPS ; ; Dissassemby of BDWM ; ; TBL = (PSI/SEC) * 64 / (1.6 + 128) ;---------------------------------------------- ORG $639F ; PSI/SEC %TPS ;---------------------------------- L669F FCB 128 ; 0.0 0.0 L66A0 FCB 128 ; 0.0 6.3 L66A1 FCB 128 ; 0.0 12.5 L66A2 FCB 128 ; 0.0 18.8 L66A3 FCB 128 ; 0.0 25.0 L66A4 FCB 128 ; 0.0 31.3 L66A5 FCB 128 ; 0.0 37.5 L66A6 FCB 128 ; 0.0 43.8 L66A7 FCB 128 ; 0.0 50.0 L66A8 FCB 128 ; 0.0 56.3 L66A9 FCB 128 ; 0.0 62.5 L66AA FCB 128 ; 0.0 68.8 L66AB FCB 128 ; 0.0 75.0 L66AC FCB 128 ; 0.0 81.3 L66AD FCB 128 ; 0.0 87.5 L66AE FCB 128 ; 0.0 93.8 L66AF FCB 128 ; 0.0 100.0 ;---------------------------------------------- ;---------------------------------------------- ; 3 -> 4 PRESSURE DIFF vs %TPS ; ; Dissassemby of BDWM ; ; TBL = (PSI/SEC) * 64 / (1.6 + 128) ;---------------------------------------------- ORG $63B0 ; PSI/SEC %TPS ;---------------------------------- L66B0 FCB 128 ; 0.0 0.0 L66B1 FCB 128 ; 0.0 6.3 L66B2 FCB 128 ; 0.0 12.5 L66B3 FCB 128 ; 0.0 18.8 L66B4 FCB 128 ; 0.0 25.0 L66B5 FCB 128 ; 0.0 31.3 L66B6 FCB 128 ; 0.0 37.5 L66B7 FCB 128 ; 0.0 43.8 L66B8 FCB 128 ; 0.0 50.0 L66B9 FCB 128 ; 0.0 56.3 L66BA FCB 128 ; 0.0 62.5 L66BB FCB 128 ; 0.0 68.8 L66BC FCB 128 ; 0.0 75.0 L66BD FCB 128 ; 0.0 81.3 L66BE FCB 128 ; 0.0 87.5 L66BF FCB 128 ; 0.0 93.8 L66C0 FCB 128 ; 0.0 100.0 ;-------------------------------------------------- ;-------------------------------------------------- ; 1 -> 2 RAMP 2 PRESSURE DIFF vs %TPS ; ; Dissassemby of BDWM ; ; TBL = (PSI/SEC) * 64/ (K + 128) ;-------------------------------------------------- ORG $66C1 ; PSI/SEC %TPS ;------------------------------ L66C1 FCB 128 ; 0.0 0.0 L66C2 FCB 128 ; 0.0 6.3 L66C3 FCB 128 ; 0.0 12.5 L66C4 FCB 128 ; 0.0 18.8 L66C5 FCB 128 ; 0.0 25.0 L66C6 FCB 128 ; 0.0 31.3 L66C7 FCB 128 ; 0.0 37.5 L66C8 FCB 128 ; 0.0 43.8 L66C9 FCB 100 ; 50.0 L66CA FCB 100 ; 56.3 L66CB FCB 90 ; 62.5 L66CC FCB 90 ; 68.8 L66CD FCB 90 ; 75.0 L66CE FCB 85 ; 81.3 L66CF FCB 85 ; 87.5 L66D0 FCB 85 ; 93.8 L66D1 FCB 85 ; 100.0 ;-------------------------------------------------- ;-------------------------------------------------- ; 2 -> 3 RAMP 2 PRESSURE DIFF ; ; Dissassemby of BDWM ; 11-23-1993, 11:28:14 ; ; TBL = (PSI/SEC) * 64/ (K + 128) ;-------------------------------------------------- ORG $66D2 ; PSI/SEC %TPS ;---------------------------------- L66D2 FCB 128 ; 0.0 0.0 L66D3 FCB 128 ; 0.0 6.3 L66D4 FCB 128 ; 0.0 12.5 L66D5 FCB 128 ; 0.0 18.8 L66D6 FCB 128 ; 0.0 25.0 L66D7 FCB 128 ; 0.0 31.3 L66D8 FCB 128 ; 0.0 37.5 L66D9 FCB 128 ; 0.0 43.8 L66DA FCB 128 ; 0.0 50.0 L66DB FCB 128 ; 0.0 56.3 L66DC FCB 128 ; 0.0 62.5 L66DD FCB 128 ; 0.0 68.8 L66DE FCB 128 ; 0.0 75.0 L66DF FCB 128 ; 0.0 81.3 L66E0 FCB 128 ; 0.0 87.5 L66E1 FCB 128 ; 0.0 93.8 L66E2 FCB 128 ; 0.0 100.0 ;-------------------------------------------------- ;-------------------------------------------------- ; 3 -> 4 RAMP 2 PRESSURE DIFF ; ; Dissassemby of BDWM ; ; TBL = (PSI/SEC) * 64/ (K + 128) ;-------------------------------------------------- ORG $66E3 ; PSI/SEC %TPS ;---------------------------------- L66E3 FCB 128 ; 0.0 0.0 L66E4 FCB 128 ; 0.0 6.3 L66E5 FCB 128 ; 0.0 12.5 L66E6 FCB 128 ; 0.0 18.8 L66E7 FCB 128 ; 0.0 25.0 L66E8 FCB 128 ; 0.0 31.3 L66E9 FCB 128 ; 0.0 37.5 L66EA FCB 128 ; 0.0 43.8 L66EB FCB 128 ; 0.0 50.0 L66EC FCB 128 ; 0.0 56.3 L66ED FCB 128 ; 0.0 62.5 L66EE FCB 128 ; 0.0 68.8 L66EF FCB 128 ; 0.0 75.0 L66F0 FCB 128 ; 0.0 81.3 L66F1 FCB 128 ; 0.0 87.5 L66F2 FCB 128 ; 0.0 93.8 L66F3 FCB 128 ; 0.0 100.0 ;-------------------------------------------------- ;-------------------------------------------------- ; 1 -> 2 PRESSURE RAMP 2 TIME vs %TPS ; ; Dissassemby of BDWM ; ; TBL = SEC'S * K ;-------------------------------------------------- ORG $66F4 ; sec's %TPS ;------------------------------ L66F4 FCB 0 ; 0.0 0.0 L66F5 FCB 0 ; 0.0 6.3 L66F6 FCB 0 ; 0.0 12.5 L66F7 FCB 0 ; 0.0 18.8 L66F8 FCB 0 ; 0.0 25.0 L66F9 FCB 0 ; 0.0 31.3 L66FA FCB 0 ; 0.0 37.5 L66FB FCB 0 ; 0.0 43.8 L66FC FCB 0 ; 0.0 50.0 L66FD FCB 0 ; 0.0 56.3 L66FE FCB 0 ; 0.0 62.5 L66FF FCB 0 ; 0.0 68.8 L6700 FCB 0 ; 0.0 75.0 L6701 FCB 0 ; 0.0 81.3 L6702 FCB 0 ; 0.0 87.5 L6703 FCB 0 ; 0.0 93.8 L6704 FCB 0 ; 0.0 100.0 ;--------------------------------------------- ;--------------------------------------------- ; 2 -> 3 PRESSURE RAMP 2 TIME vs %TPS ; ; Dissassemby of BDWM ; ; TBL = SEC'S * K ;--------------------------------------------- ORG $6705 ; sec's %TPS ;--------------------------------- L6705 FCB 0 ; 0.0 0.0 L6706 FCB 0 ; 0.0 6.3 L6707 FCB 0 ; 0.0 12.5 L6708 FCB 0 ; 0.0 18.8 L6709 FCB 0 ; 0.0 25.0 L670A FCB 0 ; 0.0 31.3 L670B FCB 0 ; 0.0 37.5 L670C FCB 0 ; 0.0 43.8 L670D FCB 0 ; 0.0 50.0 L670E FCB 0 ; 0.0 56.3 L670F FCB 0 ; 0.0 62.5 L6710 FCB 0 ; 0.0 68.8 L6711 FCB 0 ; 0.0 75.0 L6712 FCB 0 ; 0.0 81.3 L6713 FCB 0 ; 0.0 87.5 L6714 FCB 0 ; 0.0 93.8 L6715 FCB 0 ; 0.0 100.0 ;------------------------------------------ ;------------------------------------------ ; 3 -> 4 PRESSURE RAMP 2 TIME vs %TPS ; ; Dissassemby of BDWM ; ; TBL = SEC'S * K ;------------------------------------------ ORG $6716 ; sec's %TPS ;------------------------------ L6716 FCB 0 ; 0.0 0.0 L6717 FCB 0 ; 0.0 6.3 L6718 FCB 0 ; 0.0 12.5 L6719 FCB 0 ; 0.0 18.8 L671A FCB 0 ; 0.0 25.0 L671B FCB 0 ; 0.0 31.3 L671C FCB 0 ; 0.0 37.5 L671D FCB 0 ; 0.0 43.8 L671E FCB 0 ; 0.0 50.0 L671F FCB 0 ; 0.0 56.3 L6720 FCB 0 ; 0.0 62.5 L6721 FCB 0 ; 0.0 68.8 L6722 FCB 0 ; 0.0 75.0 L6723 FCB 0 ; 0.0 81.3 L6724 FCB 0 ; 0.0 87.5 L6725 FCB 0 ; 0.0 93.8 L6726 FCB 0 ; 0.0 100.0 ;-------------------------------------------------- ******************************************************* * TCC CALIBRATIONS, BDWM * TYPE $0D ECM * 1994 5.7l (L05) * ******************************************************* ORG $6727 ;--------------------------------- L6727: FCB $6F ; 0110 1111 TCC ENABLES ; ; b7 = gradual release ; b6 = TCC off for cold engine ; b5 = TCC off for cold xmish ; b4 = not used IN MY94, see MY95 ; ; b3 = some pk/nt sw posits turn off TCC ; b2 = very low tps turns off TCC ; b1 = Rapid tps decel turns off TCC ; b0 = dn shift turns off TCC ; ;--------------------------------- L6728: FCB $1C ; 0001 1100 TCC ENABLES ; ; b7 = not used ; b6 = not used ; b5 = not used ; b4 = upshift turns off TCC ; ; b3 = specific errors turn off TCC ; b2 = min TPS turns off TCC ; b1 = A/C on & not in hot mode turns off TCC ; b0 = slip & not in hot mode turnsd off TCC ; ;--------------------------------- ; ; ENGINE Cool thresholds ; L6729 FCB 133 ; 60c COLD ENG THRESH FOR TCC OFF L672A FCB 128 ; 56c COLD ENG THRESH FOR TCC ON ; ; XMISH Temperature thresholds ; L672B FCB 80 ; 20c COLD XMISH THRESH FOR TCC OFF L672C FCB 76 ; 17c COLD XMISH THRESH FOR TCC ON ; L672D FCB 233 ;135 deg C, threshold to set flag, hot trans. L672E FCB 222 ;127 deg C, threshold to clear flag, hot trans. ;----------------- ; 6 LINE TABLE ; VAL = MPH * 2 ;----------------- L672F FCB 0 ; 0 MPH Vss LMT 2nd W A/C ON, TCC ON L6730 FCB 0 ; 0 MPH Vss LMT 3rd W A/C ON, TCC ON L6731 FCB 0 ; 0 MPH Vss LMT 4th W A/C ON, TCC ON L6732 FCB 0 ; 0 MPH Vss LMT 2nd W A/C ON, TCC OFF L6733 FCB 0 ; 0 MPH Vss LMT 3rd W A/C ON, TCC OFF L6734 FCB 0 ; 0 MPH Vss LMT 4th W A/C ON, TCC OFF ;----------------- ;----------------- ; 2 LINE TABLE ; IF TCC OFF FOR ERRORS ; & TEMP LT or GT ;----------------- L6735 FCB 222 ; 127c, XMISH LO TEMP THRESH, (LT, TCC OFF) L6736 FCB 233 ; 135c, XMISH LO TEMP THRESH, (GT, TCC OFF) ;----------------- L6737 FDB 57352 ; -1023 RPM, IF SLP L.T. , THEN TCC OFF L6739 FCB 63936 ; -200 RPM, IF OFF, STAY OFF TILL SLP GT 200 L673B FCB 76 ; 38 MPH Vss THRESH FOR TPS THRESH L673C FCB 72 ; 36 MPH Vss THRESH FOR TPS THRESH ; IF Vss LT, USE L673D FCB 2 ; 0.8%, VERY LO SPD TPS THRESH L673E FCB 4 ; 1.6%, LO SPD TPS THRESH L673F FCB 5 ; 2%, HI SPD TPS THRESH L6440 FCB 7 ; 2.7%, HI SPD TPS THRESH L6741 FCB 245 ; 173%/SEC, DIFF TPS L6742 FCB 9 ; 141%/SEC, DIFF TPS RELEASE THRESH ; L6743 FCB 0 ; STAY IN RELEASE 0 SEC'S L6744 FCB 0 ; DIFF TPS OFF 0 SEC'S L6745 FCB 31 ; 0.75 SEC'S DWN SHFT OFF TIME L6746 FCB 31 ; 0.75 SEC'S UP SHFT OFF TIME L6747 FCB 255 ; DIFF TPS CHANG TCC DC BY 4000%/SEC, ; IF DISS TPS G.T. L6742 ;------------------------ ; CAL FOR TCC BUSYNESS ;----------------------- L6748 FDB 0 ; 0 SEC MIN LK DLY TIME L674A FDB 0160 ; 4 SEC MAX BETWEEN COAST RELEASES ; PRIOR TO DELAY IS INCR L674C FDB 0160 ; 4 SEC INTERVAL USED TO INCR DELAY L674E FDB 0000 ; 0.0 Sec AMT TO INCREMENT DELAY L6750 FDB 0020 ; 0.5 Sec AMT TO DECREMENT DELAY L6752 FCB 40 ; 1 SEC TO CONTINUE ******************************* * TCC ON/OFF PARAMS * CPM $0D, L05 ******************************** L6753 FCB 0 ; L6754 FCB 0 ; L6755 FCB 251 ; 125.5 MPH 2ND GR ENGAGE DETENT THRESH L6756 FCB 150 ; 75 MPH 3RD GR ENGAGE DETENT THRESH L6757 FCB 150 ; 75 MPH 4TH GR ENGAGE DETENT THRESH L6758 FCB 250 ; 125 MPH 2ND GR RELEASE DETENT THRESH L6759 FCB 146 ; 73 MPH 3RD GR RELEASE DETENT THRESH L675A FCB 146 ; 73 MPH 4TH GR RELEASE DETENT THRESH L675B FCB 251 ; 125.5 MPH 2ND GR HOT ENGAGE DETENT THRESH L675C FCB 150 ; 75 MPH 3RD GR HOT ENGAGE DETENT THRESH L675D FCB 75 ; 34 MPH 4TH GR HOT ENGAGE DETENT THRESH L675E FCB 250 ; 125 MPH 2ND GR HOT RELEASE DETENT THRESH L675F FCB 146 ; 73 MPH 3RD GR HOT RELEASE DETENT THRESH L6760 FCB 72 ; 36 MPH 4TH GR HOT RELEASE DETENT THRESH ******************** * NORMAL CONTROLED * TCC RELEASE ******************** ;---------------------------------------------- ; NORM CONTROLED RELEASE THRESH IN MPH Vs. %TPS ; 2nd GEAR ; ; TBL = MPH * 2 ;---------------------------------------------- ORG $$6761 ; MPH %TPS ;---------------------------------- L6761 FCB 250 ; 125 0.0 L6762 FCB 250 ; 125 6.3 L6763 FCB 250 ; 125 12.5 L6764 FCB 250 ; 125 18.8 L6765 FCB 250 ; 125 25.0 L6766 FCB 250 ; 125 31.3 L6767 FCB 250 ; 125 37.5 L6768 FCB 250 ; 125 43.8 L6769 FCB 250 ; 125 50.0 L676A FCB 250 ; 125 56.3 L676B FCB 250 ; 125 62.5 L676C FCB 250 ; 125 68.8 L676D FCB 250 ; 125 75.0 L676E FCB 250 ; 125 81.3 L676F FCB 250 ; 125 87.5 L6770 FCB 250 ; 125 93.8 L6771 FCB 250 ; 125 100.0 ;---------------------------------------------- ;---------------------------------------------- ; NORM CONTROLED RELEASE THRESH IN MPH Vs. %TPS ; 3rd GR ; ; Vss Vs. %TPS ; ; Dissassemby of BDWM ; ; TBL = MPH * 2 ;---------------------------------------------- ORG $6772 ; MPH %TPS ;---------------------------------- L6772 FCB 72 ; 36 0.0 L6773 FCB 72 ; 36 6.3 L6774 FCB 72 ; 36 12.5 L6775 FCB 72 ; 36 18.8 L6776 FCB 73 ; 36 25.0 L6777 FCB 77 ; 38 31.3 L6778 FCB 82 ; 41 37.5 L6779 FCB 86 ; 43 43.8 L677A FCB 94 ; 47 50.0 L677B FCB 106 ; 53 56.3 L677C FCB 118 ; 58 62.5 L677D FCB 146 ; 73 68.8 L677E FCB 146 ; 73 75.0 L677F FCB 146 ; 73 81.3 L6780 FCB 146 ; 73 87.5 L6781 FCB 146 ; 73 93.8 L6782 FCB 146 ; 73 100.0 ;---------------------------------------------- ;---------------------------------------------- ; NORM CONTROLED RELEASE THRESH IN MPH Vs. %TPS ; 4th GR ; ; Vss Vs. %TPS ; Dissassemby of BDWM ; ; TBL = MPH * 2 ;---------------------------------------------- ORG $6783 ; MPH %TPS ;---------------------------------- L6783 FCB 72 ; 36.0 0.0 L6784 FCB 72 ; 36.0 6.3 L6785 FCB 72 ; 36.0 12.5 L6786 FCB 72 ; 36.0 18.8 L6787 FCB 73 ; 36.5 25.0 L6788 FCB 76 ; 38.5 31.3 L6789 FCB 80 ; 41.0 37.5 L678A FCB 84 ; 43.0 43.8 L678B FCB 88 ; 47.0 50.0 L678C FCB 96 ; 53.0 56.3 L678D FCB 106 ; 58.5 62.5 L678E FCB 118 ; 73.0 68.8 L678F FCB 146 ; 73.0 75.0 L6790 FCB 146 ; 73.0 81.3 L6791 FCB 146 ; 73.0 87.5 L6792 FCB 146 ; 73.0 93.8 L6793 FCB 146 ; 73.0 100.0 ;---------------------------------------------- ******************** * HOT CONTROLED * TCC RELEASE ******************** ;---------------------------------------------- ; CONTROLED HOT TCC RELEASE THRESH Vs. %TPS ; 2nd GR ; ; Vss Vs. %TPS ; Dissassemby of BDWM ; ; TBL = MPH * 2 ;---------------------------------------------- ORG $6794 ; MPH %TPS ;---------------------------------- L6794 FCB 250 ; 125 0.0 L6795 FCB 250 ; 125 6.3 L6796 FCB 250 ; 125 12.5 L6797 FCB 250 ; 125 18.8 L6798 FCB 250 ; 125 25.0 L6799 FCB 250 ; 125 31.3 L679A FCB 250 ; 125 37.5 L679B FCB 250 ; 125 43.8 L679C FCB 250 ; 125 50.0 L679D FCB 250 ; 125 56.3 L679E FCB 250 ; 125 62.5 L679F FCB 250 ; 125 68.8 L67A0 FCB 250 ; 125 75.0 L67A1 FCB 250 ; 125 81.3 L67A2 FCB 250 ; 125 87.5 L67A3 FCB 250 ; 125 93.8 L67A4 FCB 250 ; 125 100.0 ;---------------------------------------------- ;---------------------------------------------- ; CONTROLED HOT TCC RELEASE THRESH, MPH Vs. %TPS ; 3rd GR ; Vss Vs. %TPS ; ; 10-07-1997 Dissassemby of BDWM Lines= 17 ; ; TBL = 2 * MPH ;--------------------------------------------- ORG $67A5 ; MPH %TPS ;--------------------------------- L67A5 FCB 72 ; 36.0 0.0 L67A6 FCB 72 ; 36.0 6.3 L67A7 FCB 72 ; 36.0 12.5 L67A8 FCB 72 ; 36.0 18.8 L67A9 FCB 73 ; 36.5 25.0 L67AA FCB 77 ; 38.5 31.3 L67AB FCB 82 ; 41.0 37.5 L67AC FCB 86 ; 43.0 43.8 L67AD FCB 94 ; 47.0 50.0 L67AE FCB 106 ; 53.0 56.3 L67AF FCB 117 ; 58.5 62.5 L67B0 FCB 146 ; 73.0 68.8 L67B1 FCB 146 ; 73.0 75.0 L67B2 FCB 146 ; 73.0 81.3 L67B3 FCB 146 ; 73.0 87.5 L67B4 FCB 146 ; 73.0 93.8 L67B5 FCB 146 ; 73.0 100.0 ;--------------------------------------------- ;-------------------------------------------------- ; CONTROLED HOT TCC RELEASE THRESH, MPH Vs. %TPS ; 4th GR ; ; Vss Vs. %TPS ; ; Dissassemby of BDWM ; TBL = MPH * 2 ;-------------------------------------------------- ORG $67B6 ; MPH %TPS ;-------------------------------------- L67B6 FCB 72 ; 36.0 0.0 L67B7 FCB 72 ; 36.0 6.3 L67B8 FCB 72 ; 36.0 12.5 L67B9 FCB 72 ; 36.0 18.8 L67BA FCB 72 ; 36.0 25.0 L67BB FCB 72 ; 36.0 31.3 L67BC FCB 72 ; 36.0 37.5 L67BD FCB 72 ; 36.0 43.8 L67BE FCB 72 ; 36.0 50.0 L67BF FCB 72 ; 36.0 56.3 L67C0 FCB 72 ; 36.0 62.5 L67C1 FCB 72 ; 36.0 68.8 L67C2 FCB 72 ; 36.0 75.0 L67C3 FCB 72 ; 36.0 81.3 L67C4 FCB 72 ; 36.0 87.5 L67C5 FCB 72 ; 36.0 93.8 L67C6 FCB 72 ; 36.0 100.0 ;-------------------------------------------------- ***************************** * CRUISE CONTROLED * TCC RELEASE * 3rd & 4th GEAR ***************************** ;---------------------------------------------- ; CRUISE CONTROLED TCC RELEASE THRESH, ; MPH Vs. %TPS ; 3rd GR ; ; Dissassemby of BDWM ; ; TBL = MPH * 2 ;---------------------------------------------- ORG $67C7 ; MPH %TPS ;---------------------------------- L67C7 FCB 72 ; 36.0 0.0 L67C8 FCB 72 ; 36.0 6.3 L67C9 FCB 72 ; 36.0 12.5 L67CA FCB 72 ; 36.0 18.8 L67CB FCB 73 ; 36.5 25.0 L67CC FCB 77 ; 38.5 31.3 L67CD FCB 82 ; 41.0 37.5 L67CE FCB 86 ; 43.0 43.8 L67CF FCB 94 ; 47.0 50.0 L67D0 FCB 106 ; 53.0 56.3 L67D1 FCB 117 ; 58.5 62.5 L67D2 FCB 146 ; 73.0 68.8 L67D3 FCB 146 ; 73.0 75.0 L67D4 FCB 146 ; 73.0 81.3 L67D5 FCB 146 ; 73.0 87.5 L67D6 FCB 146 ; 73.0 93.8 L67D7 FCB 146 ; 73.0 100.0 ;---------------------------------------------- ;---------------------------------------------- ; CRUISE CONTROLED TCC RELEASE THRESH ; MPH Vs. %TPS ; 4th GR ; ; Vss Vs. %TPS ; ; Dissassemby of BDWM ; ; TBL = MPH * 2 ;---------------------------------------------- ORG $67D8 ; MPH %TPS ;---------------------------------- L67D8 FCB 72 ; 36.0 0.0 L67D9 FCB 72 ; 36.0 6.3 L67DA FCB 72 ; 36.0 12.5 L67DB FCB 72 ; 36.0 18.8 L67DC FCB 73 ; 36.5 25.0 L67DD FCB 77 ; 38.5 31.3 L67DE FCB 82 ; 41.0 37.5 L67DF FCB 86 ; 43.0 43.8 L67E0 FCB 94 ; 47.0 50.0 L67E1 FCB 106 ; 53.0 56.3 L67E2 FCB 117 ; 58.5 62.5 L67E3 FCB 146 ; 73.0 68.8 L67E4 FCB 146 ; 73.0 75.0 L67E5 FCB 146 ; 73.0 81.3 L67E6 FCB 146 ; 73.0 87.5 L67E7 FCB 146 ; 73.0 93.8 L67E8 FCB 146 ; 73.0 100.0 ;---------------------------------------------- *********************************************** *********************************************** * >> TCC ENGAGE THRESHOLDS << * *********************************************** *********************************************** * NORMAL ENGAGE * THRESHOLDS * 2nd, 3rd & 4th GEAR *********************************************** ;---------------------------------------------- ; NORMAL ENGAGE THRESHOLDS, MPH Vs. %TPS ; 2nd GEAR ; ; MPH Vs. %TPS ; ; Dissassemby of BDWM ; ; ; TBL = MPH * 2 ;---------------------------------------------- ORG $67E9 ; MPH %TPS ;---------------------------------- L67E9 FCB 250 ; 125.0 0.0 L67EA FCB 250 ; 125.0 6.3 L67EB FCB 250 ; 125.0 12.5 L67EC FCB 250 ; 125.0 18.8 L67ED FCB 250 ; 125.0 25.0 L67EE FCB 250 ; 125.0 31.3 L67EF FCB 250 ; 125.0 37.5 L67F0 FCB 250 ; 125.0 43.8 L67F1 FCB 250 ; 125.0 50.0 L67F2 FCB 250 ; 125.0 56.3 L67F3 FCB 250 ; 125.0 62.5 L67F4 FCB 250 ; 125.0 68.8 L67F5 FCB 250 ; 125.0 75.0 L67F6 FCB 250 ; 125.0 81.3 L67F7 FCB 250 ; 125.0 87.5 L67F8 FCB 250 ; 125.0 93.8 L67F9 FCB 250 ; 125.0 100.0 ;---------------------------------------------- ;---------------------------------------------- ; NORMAL ENGAGE THRESHOLDS, MPH Vs. %TPS ; 3rd GEAR ; ; MPH Vs. %TPS ; ; Dissassemby of BDWM ; ; TBL = MPH * 2 ;---------------------------------------------- ORG $67FA ; MPH %TPS ;---------------------------------- L67FA FCB 75 ; 37.5 0.0 L67FB FCB 75 ; 37.5 6.3 L67FC FCB 75 ; 37.5 12.5 L67FD FCB 77 ; 38.5 18.8 L67FE FCB 84 ; 42.0 25.0 L67FF FCB 93 ; 46.5 31.3 L6800 FCB 100 ; 50.0 37.5 L6801 FCB 106 ; 53.0 43.8 L6802 FCB 114 ; 57.0 50.0 L6803 FCB 150 ; 75.0 56.3 L6804 FCB 150 ; 75.0 62.5 L6805 FCB 150 ; 75.0 68.8 L6806 FCB 150 ; 75.0 75.0 L6807 FCB 150 ; 75.0 81.3 L6808 FCB 150 ; 75.0 87.5 L6809 FCB 150 ; 75.0 93.8 L680A FCB 150 ; 75.0 100.0 ;---------------------------------------------- *************************** * NORMAL TCC THRESHOLDS *************************** ;---------------------------------------------- ; NORMAL CONTROLLED ENGAGE THRESH, MPH Vs. %TPS ; 4th GEAR ; ; ; Dissassemby of BDWM ; ; TBL = MPH * 2 ;---------------------------------------------- ORG $680B ; MPH %TPS ;---------------------------------- L680B FCB 75 ; 37.5 0.0 L680C FCB 75 ; 37.5 6.3 L680D FCB 75 ; 37.5 12.5 L680E FCB 77 ; 38.5 18.8 L680F FCB 84 ; 42.0 25.0 L6810 FCB 93 ; 46.5 31.3 L6811 FCB 100 ; 50.0 37.5 L6812 FCB 106 ; 53.0 43.8 L6813 FCB 114 ; 57.0 50.0 L6814 FCB 150 ; 75.0 56.3 L6815 FCB 150 ; 75.0 62.5 L6816 FCB 150 ; 75.0 68.8 L6817 FCB 150 ; 75.0 75.0 L6818 FCB 150 ; 75.0 81.3 L6819 FCB 150 ; 75.0 87.5 L681A FCB 150 ; 75.0 93.8 L681B FCB 150 ; 75.0 100.0 ;---------------------------------------------- ***************************** * HOT CONTROLED * TCC ENGAGE * 2nd, 3rd & 4th GEAR ***************************** ;---------------------------------------------- ; HOT CONTROLLED ENGAGE THRESH, MPH Vs. %TPS ; 2nd GEAR ; ; Dissassemby of BDWM ; ; TBL = MPH * 2 ;---------------------------------------------- ORG $681C ; MPH %TPS ;---------------------------------- L681C FCB 250 ; 125.0 0.0 L681D FCB 250 ; 125.0 6.3 L681E FCB 250 ; 125.0 12.5 L681F FCB 250 ; 125.0 18.8 L6820 FCB 250 ; 125.0 25.0 L6821 FCB 250 ; 125.0 31.3 L6822 FCB 250 ; 125.0 37.5 L6823 FCB 250 ; 125.0 43.8 L6824 FCB 250 ; 125.0 50.0 L6825 FCB 250 ; 125.0 56.3 L6826 FCB 250 ; 125.0 62.5 L6827 FCB 250 ; 125.0 68.8 L6828 FCB 250 ; 125.0 75.0 L6829 FCB 250 ; 125.0 81.3 L682A FCB 250 ; 125.0 87.5 L682B FCB 250 ; 125.0 93.8 L682C FCB 250 ; 125.0 100.0 ;---------------------------------------------- ;---------------------------------------------- ; HOT CONTROLLED ENGAGE THRESH, MPH Vs. %TPS ; 3rd GEAR ; ; Dissassemby of BDWM ; ; TBL = MPH * 2 ;---------------------------------------------- ORG $682D ; MPH %TPS ;---------------------------------- L682D FCB 75 ; 37.5 0.0 L682E FCB 75 ; 37.5 6.3 L682F FCB 75 ; 37.5 12.5 L6830 FCB 77 ; 38.5 18.8 L6831 FCB 84 ; 42.0 25.0 L6832 FCB 93 ; 46.5 31.3 L6833 FCB 100 ; 50.0 37.5 L6834 FCB 106 ; 53.0 43.8 L6835 FCB 114 ; 57.0 50.0 L6836 FCB 150 ; 75.0 56.3 L6837 FCB 150 ; 75.0 62.5 L6838 FCB 150 ; 75.0 68.8 L6839 FCB 150 ; 75.0 75.0 L683A FCB 150 ; 75.0 81.3 L683B FCB 150 ; 75.0 87.5 L683C FCB 150 ; 75.0 93.8 L683D FCB 150 ; 75.0 100.0 ;---------------------------------------------- ;---------------------------------------------- ; 4TH GR HOT CONTROLLED ENGAGE THRESH, ; MPH Vs. %TPS ; 4tH GEAR ; ; Dissassemby of BDWM ; ; TBL = MPH * 2 ;---------------------------------------------- ORG $683E ; MPH %TPS ;---------------------------------- L683E FCB 75 ; 37.5 0.0 L683F FCB 75 ; 37.5 6.3 L6840 FCB 75 ; 37.5 12.5 L6841 FCB 75 ; 37.5 18.8 L6842 FCB 75 ; 37.5 25.0 L6843 FCB 75 ; 37.5 31.3 L6844 FCB 75 ; 37.5 37.5 L6845 FCB 75 ; 37.5 43.8 L6846 FCB 75 ; 37.5 50.0 L6847 FCB 75 ; 37.5 56.3 L6848 FCB 75 ; 37.5 62.5 L6849 FCB 75 ; 37.5 68.8 L684A FCB 75 ; 37.5 75.0 L684B FCB 75 ; 37.5 81.3 L684C FCB 75 ; 37.5 87.5 L684D FCB 75 ; 37.5 93.8 L684E FCB 75 ; 37.5 100.0 ;---------------------------------------------- ************************** * CRUISE CONTROLLED ENGAGE ************************** ***************************** * CRUSIE CONTROLED * TCC ENGAGE * 3rd & 4th GEAR ***************************** ;---------------------------------------------- ; CRUISE CONTROLLED ENGAGE THRESH, MPH Vs. %TPS ; 3rd GEAR ; Vss Vs. %TPS ; ; Dissassemby of BDWM ; ; TBL = MPH * 2 ;---------------------------------------------- ORG $684F ; MPH %TPS ;---------------------------------- L684F FCB 75 ; 37.5 0.0 L6850 FCB 75 ; 37.5 6.3 L6851 FCB 75 ; 37.5 12.5 L6852 FCB 77 ; 38.5 18.8 L6853 FCB 84 ; 42.0 25.0 L6854 FCB 93 ; 46.5 31.3 L6855 FCB 150 ; 75.0 37.5 L6856 FCB 150 ; 75.0 43.8 L6857 FCB 150 ; 75.0 50.0 L6858 FCB 150 ; 75.0 56.3 L6859 FCB 150 ; 75.0 62.5 L685A FCB 150 ; 75.0 68.8 L685B FCB 150 ; 75.0 75.0 L685C FCB 150 ; 75.0 81.3 L685D FCB 150 ; 75.0 87.5 L685E FCB 150 ; 75.0 93.8 L685F FCB 150 ; 75.0 100.0 ;---------------------------------------------- ;---------------------------------------------- ; CRUISE CONTROLLED ENGAGE THRESH, MPH Vs. %TPS ; 4th GEAR ; ; Dissassemby of BDWM ; ; TBL = MPH * 2 ;---------------------------------------------- ORG $6860 ; MPH %TPS ;---------------------------------- L6860 FCB 75 ; 37.5 0.0 L6861 FCB 75 ; 37.5 6.3 L6862 FCB 75 ; 37.5 12.5 L6863 FCB 77 ; 38.5 18.8 L6864 FCB 84 ; 42.0 25.0 L6865 FCB 93 ; 46.5 31.3 L6866 FCB 150 ; 75.0 37.5 L6867 FCB 150 ; 75.0 43.8 L6868 FCB 150 ; 75.0 50.0 L6869 FCB 150 ; 75.0 56.3 L686A FCB 150 ; 75.0 62.5 L686B FCB 150 ; 75.0 68.8 L686C FCB 150 ; 75.0 75.0 L686D FCB 150 ; 75.0 81.3 L686E FCB 150 ; 75.0 87.5 L686F FCB 150 ; 75.0 93.8 L6870 FCB 150 ; 75.0 100.0 ;---------------------------------------------- ****************************************** * >> TCC RELEASE CAILBRATIONS << * TYPE $0D ECM 1994 5.7L l05 ****************************************** ******************************** * NORMAL TCC RELEASE THRESHOLS * GEAR ******************************** ;---------------------------------------------- ; RELEASE OPERATING POINT NORMAL MODE CONDITION ; %D.C. Vs. %TPS ; ; GEAR 3 ; ; Dissassemby of BDWM ; ; TBL = MPH * 2 ;---------------------------------------------- ORG $6871 ; %D.C. %TPS ;---------------------------------- L6871 FCB 0 ; 0.0 0.0 L6872 FCB 0 ; 0.0 6.3 L6873 FCB 0 ; 0.0 12.5 L6874 FCB 0 ; 0.0 18.8 L6875 FCB 0 ; 0.0 25.0 L6876 FCB 0 ; 0.0 31.3 L6877 FCB 0 ; 0.0 37.5 L6878 FCB 0 ; 0.0 43.8 L6879 FCB 0 ; 0.0 50.0 L687A FCB 0 ; 0.0 56.3 L687B FCB 0 ; 0.0 62.5 L687C FCB 0 ; 0.0 68.8 L687D FCB 0 ; 0.0 75.0 L687E FCB 0 ; 0.0 81.3 L687F FCB 0 ; 0.0 87.5 L6880 FCB 0 ; 0.0 93.8 L6881 FCB 0 ; 0.0 100.0 ;---------------------------------------------- ;---------------------------------------------- ; RELEASE OPERATING POINT NORMAL MODE CONDITIONS ; %D.C. Vs. %TPS ; ; GEAR 3 ; ; Dissassemby of BDWM ; ; TBL = MPH * 2 ;---------------------------------------------- ORG $6882 ; %D.C. %TPS ;---------------------------------- L6882 FCB 0 ; 0.0 0.0 L6883 FCB 0 ; 0.0 6.3 L6884 FCB 0 ; 0.0 12.5 L6885 FCB 0 ; 0.0 18.8 L6886 FCB 0 ; 0.0 25.0 L6887 FCB 0 ; 0.0 31.3 L6888 FCB 0 ; 0.0 37.5 L6889 FCB 0 ; 0.0 43.8 L688A FCB 0 ; 0.0 50.0 L688B FCB 0 ; 0.0 56.3 L688C FCB 0 ; 0.0 62.5 L688D FCB 0 ; 0.0 68.8 L688E FCB 0 ; 0.0 75.0 L688F FCB 0 ; 0.0 81.3 L6890 FCB 0 ; 0.0 87.5 L6891 FCB 0 ; 0.0 93.8 L6892 FCB 0 ; 0.0 100.0 ;---------------------------------------------- ********************** * NORMAL TCC RELEASE * RATE ********************** ;---------------------------------------------- ; NORMAL RELEASE RATE, %D.C./SEC Vs. %TPS ; 3rd GEAR ; ; Dissassemby of BDWM ; ; TLB = %D.C./SEC * 204 ;---------------------------------------------- ORG $6893 ; ; %/S %TPS ;---------------------------------- L6893 FCB 255 ; 125.0 0.0 L6894 FCB 255 ; 125.0 6.3 L6895 FCB 255 ; 125.0 12.5 L6896 FCB 255 ; 125.0 18.8 L6897 FCB 255 ; 125.0 25.0 L6898 FCB 255 ; 125.0 31.3 L6899 FCB 255 ; 125.0 37.5 L689A FCB 255 ; 125.0 43.8 L689B FCB 255 ; 125.0 50.0 L689C FCB 255 ; 125.0 56.3 L689D FCB 255 ; 125.0 62.5 L689E FCB 255 ; 125.0 68.8 L689F FCB 255 ; 125.0 75.0 L68A0 FCB 255 ; 125.0 81.3 L68A1 FCB 255 ; 125.0 87.5 L68A2 FCB 255 ; 125.0 93.8 L68A3 FCB 255 ; 125.0 100.0 ;---------------------------------------------- ;---------------------------------------------- ; NORMAL RELEASE RATE, %D.C./SEC Vs. %TPS ; 4th GEAR ; ; ; Dissassemby of BDWM ; ; TLB = %D.C./SEC * 204 ;---------------------------------------------- ORG $68A4 ; %/S %TPS ;---------------------------------- L68A4 FCB 255 ; 125.0 0.0 L68A5 FCB 255 ; 125.0 6.3 L68A6 FCB 255 ; 125.0 12.5 L68A7 FCB 255 ; 125.0 18.8 L68A8 FCB 255 ; 125.0 25.0 L68A9 FCB 255 ; 125.0 31.3 L68AA FCB 255 ; 125.0 37.5 L68AB FCB 255 ; 125.0 43.8 L68AC FCB 255 ; 125.0 50.0 L68AD FCB 255 ; 125.0 56.3 L68AE FCB 255 ; 125.0 62.5 L68AF FCB 255 ; 125.0 68.8 L68B0 FCB 255 ; 125.0 75.0 L68B1 FCB 255 ; 125.0 81.3 L68B2 FCB 255 ; 125.0 87.5 L68B3 FCB 255 ; 125.0 93.8 L68B4 FCB 255 ; 125.0 100.0 ;---------------------------------------------- ******************************** * NORMAL TCC OPERATING POINT * ******************************** ;---------------------------------------------- ; NORMAL ENGAGE OPERATING POINT, %D.C. Vs. %TPS ; 3rd GEAR ; ; Dissassemby of BDWM ; ; TLB = %D.C. * 2.56 ;---------------------------------------------- ORG $68B5 ; %D.C. %TPS ;---------------------------------- L68B5 FCB 255 ; 100 0.0 L68B6 FCB 255 ; 100 6.3 L68B7 FCB 255 ; 100 12.5 L68B8 FCB 255 ; 100 18.8 L68B9 FCB 255 ; 100 25.0 L68BA FCB 255 ; 100 31.3 L68BB FCB 255 ; 100 37.5 L68BC FCB 255 ; 100 43.8 L68BD FCB 255 ; 100 50.0 L68BE FCB 255 ; 100 56.3 L68BF FCB 255 ; 100 62.5 L68C0 FCB 255 ; 100 68.8 L68C1 FCB 255 ; 100 75.0 L68C2 FCB 255 ; 100 81.3 L68C3 FCB 255 ; 100 87.5 L68C4 FCB 255 ; 100 93.8 L68C5 FCB 255 ; 100 100.0 ;---------------------------------------------- ;---------------------------------------------- ; NORMAL ENGAGE OPERATING POINT, %D.C. Vs. %TPS ; 4th GEAR ; ; Dissassemby of BDWM ; ; TLB = %D.C. * 2.56 ;---------------------------------------------- ORG $68C6 ; %D.C. %TPS ;---------------------------------- L68C6 FCB 255 ; 100.0 0.0 L68C7 FCB 255 ; 100.0 6.3 L68C8 FCB 255 ; 100.0 12.5 L68C9 FCB 255 ; 100.0 18.8 L68CA FCB 255 ; 100.0 25.0 L68CB FCB 255 ; 100.0 31.3 L68CC FCB 255 ; 100.0 37.5 L68CD FCB 255 ; 100.0 43.8 L68CE FCB 255 ; 100.0 50.0 L68CF FCB 255 ; 100.0 56.3 L68D0 FCB 255 ; 100.0 62.5 L68D1 FCB 255 ; 100.0 68.8 L68D2 FCB 255 ; 100.0 75.0 L68D3 FCB 255 ; 100.0 81.3 L68D4 FCB 255 ; 100.0 87.5 L68D5 FCB 255 ; 100.0 93.8 L68D6 FCB 255 ; 100.0 100.0 ;---------------------------------------------- ;---------------------------------------------- ; NORMAL ENGAGE RATE, %D.C./SEC Vs. %TPS ; 3rd GEAR ; ; ; Dissassemby of BDWM ; ; TLB = %D.C./SEC * 204 ;---------------------------------------------- ORG $68D7 ; %DC/SEC %TPS ----------------------------------- L68D7 FCB 255 ; 125.0 0.0 L68D8 FCB 255 ; 125.0 6.3 L68D9 FCB 255 ; 125.0 12.5 L68DA FCB 255 ; 125.0 18.8 L68DB FCB 255 ; 125.0 25.0 L68DC FCB 255 ; 125.0 31.3 L68DD FCB 255 ; 125.0 37.5 L68DE FCB 255 ; 125.0 43.8 L68DF FCB 255 ; 125.0 50.0 L68E0 FCB 255 ; 125.0 56.3 L68E1 FCB 255 ; 125.0 62.5 L68E2 FCB 255 ; 125.0 68.8 L68E3 FCB 255 ; 125.0 75.0 L68E4 FCB 255 ; 125.0 81.3 L68E5 FCB 255 ; 125.0 87.5 L68E6 FCB 255 ; 125.0 93.8 L68E7 FCB 255 ; 125.0 100.0 ;---------------------------------------------- ;---------------------------------------------- ; NORMAL ENGAGE RATE, %D.C./SEC Vs. %TPS ; 4th GEAR ; %D.C./SEC Vs. %TPS ; ; Dissassemby of BDWM ; ; TLB = %D.C./SEC * 204 ;---------------------------------------------- ORG $68E8 ; %D.C./SEC %TPS ;---------------------------------- L68E8 FCB 255 ; 125 0.0 L68E9 FCB 255 ; 125 6.3 L68EA FCB 255 ; 125 12.5 L68EB FCB 255 ; 125 18.8 L68EC FCB 255 ; 125 25.0 L68ED FCB 255 ; 125 31.3 L68EE FCB 255 ; 125 37.5 L68EF FCB 255 ; 125 43.8 L68F0 FCB 255 ; 125 50.0 L68F1 FCB 255 ; 125 56.3 L68F2 FCB 255 ; 125 62.5 L68F3 FCB 255 ; 125 68.8 L68F4 FCB 255 ; 125 75.0 L68F5 FCB 255 ; 125 81.3 L68F6 FCB 255 ; 125 87.5 L68F7 FCB 255 ; 125 93.8 L68F8 FCB 255 ; 125 100.0 ;---------------------------------------------- ******************************** * LOCKED TCC CALIBRATIONS * TYPE $0D ECM, 95 L05 ******************************** ;---------------------------------------------- ; LOCKED TCC CALIBRATIONS ; ; MAX TCC D.C. Vs. PSI ; ; TBL = %D.C. * 2.56 ;---------------------------------------------- ORG $68F9 ; %D.C. PSI ;---------------------------------- L68F9 FCB 230 ; 90.2 0.0 L68FA FCB 230 ; 90.2 8.0 L68FB FCB 230 ; 90.2 16.0 L68FC FCB 230 ; 90.2 24.0 L68FD FCB 230 ; 90.2 32.0 L68FE FCB 230 ; 90.2 40.0 L68FF FCB 230 ; 90.2 48.0 L6900 FCB 230 ; 90.2 56.0 L6901 FCB 230 ; 90.2 64.0 L6902 FCB 230 ; 90.2 72.0 L6903 FCB 230 ; 90.2 80.0 L6904 FCB 230 ; 90.2 88.0 L6905 FCB 230 ; 90.2 96.0 L6906 FCB 230 ; 90.2 104.0 L6907 FCB 230 ; 90.2 112.0 L6908 FCB 230 ; 90.2 120.0 L6909 FCB 230 ; 90.2 128.0 ;---------------------------------------------- ;---------------------------------------------- ; OPERATING POINT MULT Vs. LINE PRESSURE ; ; Dissassemby of BDWM ; ; TBL = MULT * 128 ;---------------------------------------------- ORG $690A ; MULT PSI ;---------------------------------- L690A FCB 128 ; 1.0 0.0 L690B FCB 128 ; 1.0 8.0 L690C FCB 128 ; 1.0 16.0 L690D FCB 128 ; 1.0 24.0 L690E FCB 128 ; 1.0 32.0 L690F FCB 128 ; 1.0 40.0 L6910 FCB 128 ; 1.0 48.0 L6911 FCB 128 ; 1.0 56.0 L6912 FCB 128 ; 1.0 64.0 L6913 FCB 128 ; 1.0 72.0 L6914 FCB 128 ; 1.0 80.0 L6915 FCB 128 ; 1.0 88.0 L6916 FCB 128 ; 1.0 96.0 L6917 FCB 128 ; 1.0 104.0 L6918 FCB 128 ; 1.0 112.0 L6919 FCB 128 ; 1.0 120.0 L691A FCB 128 ; 1.0 128.0 ;---------------------------------------------- L691B FDB 0000 ; 0% MIN TPS D.C. ; L691D FCB 12 ; 6 MPH VSS FOR MAX TCC D.C. L691E FCB 8 ; 4 MPH VSS FOR MIN TCC D.C. ; L691F FCB 0 ; 0 SEC'S DELAY ENGAGE TO SOLONOID ON L6920 FCB 0 ; 0 SEC'S DELAY SOLONOID ON TO ENGAGE ; L6921 FCB 0 ; 0 SEC'S DELAY FM END OF RELEASE TO SOLONOID OFF L6922 FCB 0 ; 0 SEC'S DELAY FM SOLONIOD OFF TO TCC DC MAX L6923 FCB 0 ; 0 SEC'S ENGAGE DURATION L6924 FCB 0 ; 0 SEC'S RELEASE DURATION *********************************************** * >>> END OF TCC CALIBRATIONS <<< *********************************************** *********************************************** * >>> FORCE MOTOR CALIBRATIONS <<< * TYPE $0D ECM, 1994 L05 *********************************************** ************************* * FORCE MOTOR CONSTANTS ************************* L6925 FCB 80 ; 0.5 SEC FOR SHORT DETECT L6926 FCB 73 ; 7.3 VDC LO VDC THRESH AT -40 Deg c ; FOR SHORT DETECT L6927 FCB 114 ; 11.4 VDC, HI VDC THRESH AT 152 DEG C ; FOR SHORT DETECT L6928 FCB 78 ; 7.8 VDC HI VDC THRESH AT -40 Deg c L6929 FCB 119 ; 11.9 VDC HI VDC THRESH AT 152 Deg c ************************* * FORCE CALIBRATIONS * (MAIN LINE PRESSURE) ************************* ;---------------------------------------------- ; POSITIVE PRESSSURE CHANGE ; ; FORCE MOTOR CURRENT Vs. PRESSURE & XMSISH TEMP ; ; Dissassemby of BDWM, 17 x 17 TABLE ; ; CURRENT Vs. PRESSURE & XMISH TEMP ; ; TBL = AMPS * 51.2 ;---------------------------------------------- ORG $692A ; ; FCB 0 ; Min DEG c Val FCB 0 ; Min PSI MIN Value FCB 17 ; COL'S/ROW ;---------------------------------------------- ; -40 DEG c XMISH TEMP ; ; AMPS PSI ;---------------------------------------------- FCB 55 ; 1.1 0.0 FCB 45 ; 0.9 6.0 FCB 45 ; 0.9 12.0 FCB 45 ; 0.9 18.0 FCB 43 ; 0.8 24.0 FCB 41 ; 0.8 30.0 FCB 39 ; 0.8 36.0 FCB 37 ; 0.7 42.0 FCB 36 ; 0.7 48.0 FCB 32 ; 0.6 54.0 FCB 31 ; 0.6 60.0 FCB 28 ; 0.5 66.0 FCB 25 ; 0.5 72.0 FCB 21 ; 0.4 78.0 FCB 17 ; 0.3 84.0 FCB 11 ; 0.2 90.0 FCB 11 ; 0.2 96.0 ;---------------------------------------------- ; -28 DEG c XMISH TEMP ; ; AMPS PSI ;---------------------------------------------- FCB 55 ; 1.1 0.0 FCB 47 ; 0.9 6.0 FCB 46 ; 0.9 12.0 FCB 45 ; 0.9 18.0 FCB 43 ; 0.8 24.0 FCB 41 ; 0.8 30.0 FCB 39 ; 0.8 36.0 FCB 37 ; 0.7 42.0 FCB 35 ; 0.7 48.0 FCB 33 ; 0.6 54.0 FCB 30 ; 0.6 60.0 FCB 28 ; 0.5 66.0 FCB 24 ; 0.5 72.0 FCB 21 ; 0.4 78.0 FCB 17 ; 0.3 84.0 FCB 11 ; 0.2 90.0 FCB 11 ; 0.2 96.0 ;---------------------------------------------- ; -16 DEG c XMISH TEMP ; ; AMPS PSI ;---------------------------------------------- FCB 55 ; 1.1 0.0 FCB 47 ; 0.9 6.0 FCB 46 ; 0.9 12.0 FCB 45 ; 0.9 18.0 FCB 43 ; 0.8 24.0 FCB 41 ; 0.8 30.0 FCB 40 ; 0.8 36.0 FCB 38 ; 0.7 42.0 FCB 36 ; 0.7 48.0 FCB 33 ; 0.6 54.0 FCB 31 ; 0.6 60.0 FCB 28 ; 0.5 66.0 FCB 25 ; 0.5 72.0 FCB 22 ; 0.4 78.0 FCB 18 ; 0.4 84.0 FCB 13 ; 0.3 90.0 FCB 13 ; 0.3 96.0 ;---------------------------------------------- ; -4 DEG c XMISH TEMP ; ; AMPS PSI ;---------------------------------------------- FCB 55 ; 1.1 0.0 FCB 47 ; 0.9 6.0 FCB 46 ; 0.9 12.0 FCB 45 ; 0.9 18.0 FCB 43 ; 0.8 24.0 FCB 41 ; 0.8 30.0 FCB 40 ; 0.8 36.0 FCB 38 ; 0.7 42.0 FCB 36 ; 0.7 48.0 FCB 33 ; 0.6 54.0 FCB 31 ; 0.6 60.0 FCB 28 ; 0.5 66.0 FCB 25 ; 0.5 72.0 FCB 22 ; 0.4 78.0 FCB 18 ; 0.4 84.0 FCB 12 ; 0.2 90.0 FCB 12 ; 0.2 96.0 ;---------------------------------------------- ; 8 DEG c XMISH TEMP ; ; AMPS PSI ;---------------------------------------------- FCB 55 ; 1.1 0.0 FCB 48 ; 0.9 6.0 FCB 46 ; 0.9 12.0 FCB 45 ; 0.9 18.0 FCB 43 ; 0.8 24.0 FCB 41 ; 0.8 30.0 FCB 39 ; 0.8 36.0 FCB 37 ; 0.7 42.0 FCB 35 ; 0.7 48.0 FCB 33 ; 0.6 54.0 FCB 30 ; 0.6 60.0 FCB 28 ; 0.5 66.0 FCB 24 ; 0.5 72.0 FCB 21 ; 0.4 78.0 FCB 17 ; 0.3 84.0 FCB 11 ; 0.2 90.0 FCB 11 ; 0.2 96.0 ;---------------------------------------------- ; 20 DEG c XMISH TEMP ; ; AMPS PSI ;---------------------------------------------- FCB 55 ; 1.1 0.0 FCB 48 ; 0.9 6.0 FCB 46 ; 0.9 12.0 FCB 45 ; 0.9 18.0 FCB 43 ; 0.8 24.0 FCB 41 ; 0.8 30.0 FCB 39 ; 0.8 36.0 FCB 37 ; 0.7 42.0 FCB 35 ; 0.7 48.0 FCB 32 ; 0.6 54.0 FCB 30 ; 0.6 60.0 FCB 27 ; 0.5 66.0 FCB 24 ; 0.5 72.0 FCB 20 ; 0.4 78.0 FCB 16 ; 0.3 84.0 FCB 10 ; 0.2 90.0 FCB 10 ; 0.2 96.0 ;---------------------------------------------- ; 32 DEG c XMISH TEMP ; ; AMPS PSI ;---------------------------------------------- FCB 55 ; 1.1 0.0 FCB 48 ; 0.9 6.0 FCB 46 ; 0.9 12.0 FCB 44 ; 0.9 18.0 FCB 42 ; 0.8 24.0 FCB 41 ; 0.8 30.0 FCB 39 ; 0.8 36.0 FCB 37 ; 0.7 42.0 FCB 35 ; 0.7 48.0 FCB 32 ; 0.6 54.0 FCB 30 ; 0.6 60.0 FCB 27 ; 0.5 66.0 FCB 23 ; 0.4 72.0 FCB 20 ; 0.4 78.0 FCB 15 ; 0.3 84.0 FCB 9 ; 0.2 90.0 FCB 9 ; 0.2 96.0 ;---------------------------------------------- ; 44 DEG c XMISH TEMP ; ; AMPS PSI ;---------------------------------------------- FCB 55 ; 1.1 0.0 FCB 47 ; 0.9 6.0 FCB 46 ; 0.9 12.0 FCB 44 ; 0.9 18.0 FCB 42 ; 0.8 24.0 FCB 40 ; 0.8 30.0 FCB 39 ; 0.8 36.0 FCB 36 ; 0.7 42.0 FCB 34 ; 0.7 48.0 FCB 32 ; 0.6 54.0 FCB 29 ; 0.6 60.0 FCB 26 ; 0.5 66.0 FCB 23 ; 0.4 72.0 FCB 19 ; 0.4 78.0 FCB 15 ; 0.3 84.0 FCB 8 ; 0.2 90.0 FCB 8 ; 0.2 96.0 ;---------------------------------------------- ; 56 DEG c XMISH TEMP ; ; AMPS PSI ;---------------------------------------------- FCB 55 ; 1.1 0.0 FCB 47 ; 0.9 6.0 FCB 46 ; 0.9 12.0 FCB 44 ; 0.9 18.0 FCB 42 ; 0.8 24.0 FCB 40 ; 0.8 30.0 FCB 38 ; 0.7 36.0 FCB 36 ; 0.7 42.0 FCB 34 ; 0.7 48.0 FCB 32 ; 0.6 54.0 FCB 29 ; 0.6 60.0 FCB 26 ; 0.5 66.0 FCB 23 ; 0.4 72.0 FCB 19 ; 0.4 78.0 FCB 15 ; 0.3 84.0 FCB 7 ; 0.1 90.0 FCB 7 ; 0.1 96.0 ;---------------------------------------------- ; 68 DEG c XMISH TEMP ; ; AMPS PSI ;---------------------------------------------- FCB 55 ; 1.1 0.0 FCB 47 ; 0.9 6.0 FCB 46 ; 0.9 12.0 FCB 44 ; 0.9 18.0 FCB 42 ; 0.8 24.0 FCB 40 ; 0.8 30.0 FCB 38 ; 0.7 36.0 FCB 36 ; 0.7 42.0 FCB 34 ; 0.7 48.0 FCB 32 ; 0.6 54.0 FCB 29 ; 0.6 60.0 FCB 26 ; 0.5 66.0 FCB 23 ; 0.4 72.0 FCB 19 ; 0.4 78.0 FCB 15 ; 0.3 84.0 FCB 7 ; 0.1 90.0 FCB 7 ; 0.1 96.0 ;---------------------------------------------- ; 80 DEG c XMISH TEMP ; ; AMPS PSI ;---------------------------------------------- FCB 55 ; 1.1 0.0 FCB 47 ; 0.9 6.0 FCB 46 ; 0.9 12.0 FCB 44 ; 0.9 18.0 FCB 42 ; 0.8 24.0 FCB 40 ; 0.8 30.0 FCB 38 ; 0.7 36.0 FCB 36 ; 0.7 42.0 FCB 34 ; 0.7 48.0 FCB 32 ; 0.6 54.0 FCB 29 ; 0.6 60.0 FCB 26 ; 0.5 66.0 FCB 23 ; 0.4 72.0 FCB 19 ; 0.4 78.0 FCB 14 ; 0.3 84.0 FCB 7 ; 0.1 90.0 FCB 7 ; 0.1 96.0 ;---------------------------------------------- ; 92 DEG c XMISH TEMP ; ; AMPS PSI ;---------------------------------------------- FCB 55 ; 1.1 0.0 FCB 47 ; 0.9 6.0 FCB 45 ; 0.9 12.0 FCB 44 ; 0.9 18.0 FCB 42 ; 0.8 24.0 FCB 40 ; 0.8 30.0 FCB 38 ; 0.7 36.0 FCB 36 ; 0.7 42.0 FCB 34 ; 0.7 48.0 FCB 32 ; 0.6 54.0 FCB 29 ; 0.6 60.0 FCB 26 ; 0.5 66.0 FCB 23 ; 0.4 72.0 FCB 19 ; 0.4 78.0 FCB 14 ; 0.3 84.0 FCB 7 ; 0.1 90.0 FCB 7 ; 0.1 96.0 ;---------------------------------------------- ; 104 DEG c XMISH TEMP ; ; AMPS PSI ;---------------------------------------------- FCB 55 ; 1.1 0.0 FCB 47 ; 0.9 6.0 FCB 45 ; 0.9 12.0 FCB 44 ; 0.9 18.0 FCB 42 ; 0.8 24.0 FCB 40 ; 0.8 30.0 FCB 38 ; 0.7 36.0 FCB 36 ; 0.7 42.0 FCB 34 ; 0.7 48.0 FCB 32 ; 0.6 54.0 FCB 29 ; 0.6 60.0 FCB 26 ; 0.5 66.0 FCB 23 ; 0.4 72.0 FCB 19 ; 0.4 78.0 FCB 14 ; 0.3 84.0 FCB 7 ; 0.1 90.0 FCB 7 ; 0.1 96.0 ;---------------------------------------------- ; 116 DEG c XMISH TEMP ; ; AMPS PSI ;---------------------------------------------- FCB 55 ; 1.1 0.0 FCB 47 ; 0.9 6.0 FCB 45 ; 0.9 12.0 FCB 44 ; 0.9 18.0 FCB 42 ; 0.8 24.0 FCB 40 ; 0.8 30.0 FCB 38 ; 0.7 36.0 FCB 36 ; 0.7 42.0 FCB 34 ; 0.7 48.0 FCB 32 ; 0.6 54.0 FCB 29 ; 0.6 60.0 FCB 26 ; 0.5 66.0 FCB 23 ; 0.4 72.0 FCB 19 ; 0.4 78.0 FCB 14 ; 0.3 84.0 FCB 7 ; 0.1 90.0 FCB 7 ; 0.1 96.0 ;---------------------------------------------- ; 128 DEG c XMISH TEMP ; ; AMPS PSI ;---------------------------------------------- FCB 55 ; 1.1 0.0 FCB 47 ; 0.9 6.0 FCB 45 ; 0.9 12.0 FCB 44 ; 0.9 18.0 FCB 42 ; 0.8 24.0 FCB 40 ; 0.8 30.0 FCB 38 ; 0.7 36.0 FCB 36 ; 0.7 42.0 FCB 34 ; 0.7 48.0 FCB 32 ; 0.6 54.0 FCB 29 ; 0.6 60.0 FCB 26 ; 0.5 66.0 FCB 23 ; 0.4 72.0 FCB 19 ; 0.4 78.0 FCB 14 ; 0.3 84.0 FCB 7 ; 0.1 90.0 FCB 7 ; 0.1 96.0 ;---------------------------------------------- ; 142 DEG c XMISH TEMP ; ; AMPS PSI ;---------------------------------------------- FCB 55 ; 1.1 0.0 FCB 47 ; 0.9 6.0 FCB 45 ; 0.9 12.0 FCB 43 ; 0.8 18.0 FCB 42 ; 0.8 24.0 FCB 40 ; 0.8 30.0 FCB 38 ; 0.7 36.0 FCB 36 ; 0.7 42.0 FCB 34 ; 0.7 48.0 FCB 31 ; 0.6 54.0 FCB 29 ; 0.6 60.0 FCB 26 ; 0.5 66.0 FCB 23 ; 0.4 72.0 FCB 19 ; 0.4 78.0 FCB 14 ; 0.3 84.0 FCB 7 ; 0.1 90.0 FCB 7 ; 0.1 96.0 ;---------------------------------------------- ; 152 DEG c XMISH TEMP ; ; AMPS PSI ;---------------------------------------------- FCB 55 ; 1.1 0.0 FCB 47 ; 0.9 6.0 FCB 45 ; 0.9 12.0 FCB 43 ; 0.8 18.0 FCB 42 ; 0.8 24.0 FCB 40 ; 0.8 30.0 FCB 38 ; 0.7 36.0 FCB 36 ; 0.7 42.0 FCB 34 ; 0.7 48.0 FCB 31 ; 0.6 54.0 FCB 29 ; 0.6 60.0 FCB 26 ; 0.5 66.0 FCB 23 ; 0.4 72.0 FCB 19 ; 0.4 78.0 FCB 14 ; 0.3 84.0 FCB 6 ; 0.1 90.0 FCB 6 ; 0.1 96.0 ;---------------------------------------------- ;---------------------------------------------- ; NEGITIVE PRESSURE CHANGE ; ; CURRENT Vs. PRESSURE & TRANS TEMP ; ; ; Dissassemby of BDWM, 17 x 17 TABLE ; ; TBL = AMPS * 51.2 ;---------------------------------------------- ORG $6A4E ; ; FCB 0 ; Min DEG c Val FCB 0 ; Min PSI MIN Value FCB 17 ; COL'S/ROW ; ;---------------------------------------------- ; -40 DEG c XMISH TEMP ; ; AMPS PSI ;---------------------------------------------- FCB 55 ; 1.1 0.0 FCB 45 ; 0.9 6.0 FCB 45 ; 0.9 12.0 FCB 45 ; 0.9 18.0 FCB 43 ; 0.8 24.0 FCB 41 ; 0.8 30.0 FCB 39 ; 0.8 36.0 FCB 37 ; 0.7 42.0 FCB 36 ; 0.7 48.0 FCB 32 ; 0.6 54.0 FCB 31 ; 0.6 60.0 FCB 28 ; 0.5 66.0 FCB 25 ; 0.5 72.0 FCB 21 ; 0.4 78.0 FCB 17 ; 0.3 84.0 FCB 11 ; 0.2 90.0 FCB 11 ; 0.2 96.0 ;---------------------------------------------- ; -28 DEG c XMISH TEMP ; ; AMPS PSI ;---------------------------------------------- FCB 55 ; 1.1 0.0 FCB 47 ; 0.9 6.0 FCB 46 ; 0.9 12.0 FCB 45 ; 0.9 18.0 FCB 43 ; 0.8 24.0 FCB 41 ; 0.8 30.0 FCB 39 ; 0.8 36.0 FCB 37 ; 0.7 42.0 FCB 35 ; 0.7 48.0 FCB 33 ; 0.6 54.0 FCB 30 ; 0.6 60.0 FCB 28 ; 0.5 66.0 FCB 24 ; 0.5 72.0 FCB 21 ; 0.4 78.0 FCB 17 ; 0.3 84.0 FCB 11 ; 0.2 90.0 FCB 11 ; 0.2 96.0 ;---------------------------------------------- ; -16 DEG c XMISH TEMP ; ; AMPS PSI ;---------------------------------------------- FCB 55 ; 1.1 0.0 FCB 47 ; 0.9 6.0 FCB 46 ; 0.9 12.0 FCB 45 ; 0.9 18.0 FCB 43 ; 0.8 24.0 FCB 41 ; 0.8 30.0 FCB 40 ; 0.8 36.0 FCB 38 ; 0.7 42.0 FCB 36 ; 0.7 48.0 FCB 33 ; 0.6 54.0 FCB 31 ; 0.6 60.0 FCB 28 ; 0.5 66.0 FCB 25 ; 0.5 72.0 FCB 22 ; 0.4 78.0 FCB 18 ; 0.4 84.0 FCB 13 ; 0.3 90.0 FCB 13 ; 0.3 96.0 ;---------------------------------------------- ; -4 DEG c XMISH TEMP ; ; AMPS PSI ;---------------------------------------------- FCB 55 ; 1.1 0.0 FCB 47 ; 0.9 6.0 FCB 46 ; 0.9 12.0 FCB 45 ; 0.9 18.0 FCB 43 ; 0.8 24.0 FCB 41 ; 0.8 30.0 FCB 40 ; 0.8 36.0 FCB 38 ; 0.7 42.0 FCB 36 ; 0.7 48.0 FCB 33 ; 0.6 54.0 FCB 31 ; 0.6 60.0 FCB 28 ; 0.5 66.0 FCB 25 ; 0.5 72.0 FCB 22 ; 0.4 78.0 FCB 18 ; 0.4 84.0 FCB 12 ; 0.2 90.0 FCB 12 ; 0.2 96.0 ;---------------------------------------------- ; 8 DEG c XMISH TEMP ; ; AMPS PSI ;---------------------------------------------- FCB 55 ; 1.1 0.0 FCB 48 ; 0.9 6.0 FCB 46 ; 0.9 12.0 FCB 45 ; 0.9 18.0 FCB 43 ; 0.8 24.0 FCB 41 ; 0.8 30.0 FCB 39 ; 0.8 36.0 FCB 37 ; 0.7 42.0 FCB 35 ; 0.7 48.0 FCB 33 ; 0.6 54.0 FCB 30 ; 0.6 60.0 FCB 28 ; 0.5 66.0 FCB 24 ; 0.5 72.0 FCB 21 ; 0.4 78.0 FCB 17 ; 0.3 84.0 FCB 11 ; 0.2 90.0 FCB 11 ; 0.2 96.0 ;---------------------------------------------- ; 20 DEG c XMISH TEMP ; ; AMPS PSI ;---------------------------------------------- FCB 55 ; 1.1 0.0 FCB 48 ; 0.9 6.0 FCB 46 ; 0.9 12.0 FCB 45 ; 0.9 18.0 FCB 43 ; 0.8 24.0 FCB 41 ; 0.8 30.0 FCB 39 ; 0.8 36.0 FCB 37 ; 0.7 42.0 FCB 35 ; 0.7 48.0 FCB 32 ; 0.6 54.0 FCB 30 ; 0.6 60.0 FCB 27 ; 0.5 66.0 FCB 24 ; 0.5 72.0 FCB 20 ; 0.4 78.0 FCB 16 ; 0.3 84.0 FCB 10 ; 0.2 90.0 FCB 10 ; 0.2 96.0 ;---------------------------------------------- ; 32 DEG c XMISH TEMP ; ; AMPS PSI ;---------------------------------------------- FCB 55 ; 1.1 0.0 FCB 48 ; 0.9 6.0 FCB 46 ; 0.9 12.0 FCB 44 ; 0.9 18.0 FCB 42 ; 0.8 24.0 FCB 41 ; 0.8 30.0 FCB 39 ; 0.8 36.0 FCB 37 ; 0.7 42.0 FCB 35 ; 0.7 48.0 FCB 32 ; 0.6 54.0 FCB 30 ; 0.6 60.0 FCB 27 ; 0.5 66.0 FCB 23 ; 0.4 72.0 FCB 20 ; 0.4 78.0 FCB 15 ; 0.3 84.0 FCB 9 ; 0.2 90.0 FCB 9 ; 0.2 96.0 ;---------------------------------------------- ; 44 DEG c XMISH TEMP ; ; AMPS PSI ;---------------------------------------------- FCB 55 ; 1.1 0.0 FCB 47 ; 0.9 6.0 FCB 46 ; 0.9 12.0 FCB 44 ; 0.9 18.0 FCB 42 ; 0.8 24.0 FCB 40 ; 0.8 30.0 FCB 39 ; 0.8 36.0 FCB 36 ; 0.7 42.0 FCB 34 ; 0.7 48.0 FCB 32 ; 0.6 54.0 FCB 29 ; 0.6 60.0 FCB 26 ; 0.5 66.0 FCB 23 ; 0.4 72.0 FCB 19 ; 0.4 78.0 FCB 15 ; 0.3 84.0 FCB 8 ; 0.2 90.0 FCB 8 ; 0.2 96.0 ;---------------------------------------------- ; 56 DEG c XMISH TEMP ; ; AMPS PSI ;---------------------------------------------- FCB 55 ; 1.1 0.0 FCB 47 ; 0.9 6.0 FCB 46 ; 0.9 12.0 FCB 44 ; 0.9 18.0 FCB 42 ; 0.8 24.0 FCB 40 ; 0.8 30.0 FCB 38 ; 0.7 36.0 FCB 36 ; 0.7 42.0 FCB 34 ; 0.7 48.0 FCB 32 ; 0.6 54.0 FCB 29 ; 0.6 60.0 FCB 26 ; 0.5 66.0 FCB 23 ; 0.4 72.0 FCB 19 ; 0.4 78.0 FCB 15 ; 0.3 84.0 FCB 7 ; 0.1 90.0 FCB 7 ; 0.1 96.0 ;---------------------------------------------- ; 68 DEG c XMISH TEMP ; ; AMPS PSI ;---------------------------------------------- FCB 55 ; 1.1 0.0 FCB 47 ; 0.9 6.0 FCB 46 ; 0.9 12.0 FCB 44 ; 0.9 18.0 FCB 42 ; 0.8 24.0 FCB 40 ; 0.8 30.0 FCB 38 ; 0.7 36.0 FCB 36 ; 0.7 42.0 FCB 34 ; 0.7 48.0 FCB 32 ; 0.6 54.0 FCB 29 ; 0.6 60.0 FCB 26 ; 0.5 66.0 FCB 23 ; 0.4 72.0 FCB 19 ; 0.4 78.0 FCB 15 ; 0.3 84.0 FCB 7 ; 0.1 90.0 FCB 7 ; 0.1 96.0 ;---------------------------------------------- ; 80 DEG c XMISH TEMP ; ; AMPS PSI ;---------------------------------------------- FCB 55 ; 1.1 0.0 FCB 47 ; 0.9 6.0 FCB 46 ; 0.9 12.0 FCB 44 ; 0.9 18.0 FCB 42 ; 0.8 24.0 FCB 40 ; 0.8 30.0 FCB 38 ; 0.7 36.0 FCB 36 ; 0.7 42.0 FCB 34 ; 0.7 48.0 FCB 32 ; 0.6 54.0 FCB 29 ; 0.6 60.0 FCB 26 ; 0.5 66.0 FCB 23 ; 0.4 72.0 FCB 19 ; 0.4 78.0 FCB 14 ; 0.3 84.0 FCB 7 ; 0.1 90.0 FCB 7 ; 0.1 96.0 ;---------------------------------------------- ; 92 DEG c XMISH TEMP ; ; AMPS PSI ;---------------------------------------------- FCB 55 ; 1.1 0.0 FCB 47 ; 0.9 6.0 FCB 45 ; 0.9 12.0 FCB 44 ; 0.9 18.0 FCB 42 ; 0.8 24.0 FCB 40 ; 0.8 30.0 FCB 38 ; 0.7 36.0 FCB 36 ; 0.7 42.0 FCB 34 ; 0.7 48.0 FCB 32 ; 0.6 54.0 FCB 29 ; 0.6 60.0 FCB 26 ; 0.5 66.0 FCB 23 ; 0.4 72.0 FCB 19 ; 0.4 78.0 FCB 14 ; 0.3 84.0 FCB 7 ; 0.1 90.0 FCB 7 ; 0.1 96.0 ;---------------------------------------------- ; 104 DEG c XMISH TEMP ; ; AMPS PSI ;---------------------------------------------- FCB 55 ; 1.1 0.0 FCB 47 ; 0.9 6.0 FCB 45 ; 0.9 12.0 FCB 44 ; 0.9 18.0 FCB 42 ; 0.8 24.0 FCB 40 ; 0.8 30.0 FCB 38 ; 0.7 36.0 FCB 36 ; 0.7 42.0 FCB 34 ; 0.7 48.0 FCB 32 ; 0.6 54.0 FCB 29 ; 0.6 60.0 FCB 26 ; 0.5 66.0 FCB 23 ; 0.4 72.0 FCB 19 ; 0.4 78.0 FCB 14 ; 0.3 84.0 FCB 7 ; 0.1 90.0 FCB 7 ; 0.1 96.0 ;---------------------------------------------- ; 116 DEG c XMISH TEMP ; ; AMPS PSI ;---------------------------------------------- FCB 55 ; 1.1 0.0 FCB 47 ; 0.9 6.0 FCB 45 ; 0.9 12.0 FCB 44 ; 0.9 18.0 FCB 42 ; 0.8 24.0 FCB 40 ; 0.8 30.0 FCB 38 ; 0.7 36.0 FCB 36 ; 0.7 42.0 FCB 34 ; 0.7 48.0 FCB 32 ; 0.6 54.0 FCB 29 ; 0.6 60.0 FCB 26 ; 0.5 66.0 FCB 23 ; 0.4 72.0 FCB 19 ; 0.4 78.0 FCB 14 ; 0.3 84.0 FCB 7 ; 0.1 90.0 FCB 7 ; 0.1 96.0 ;---------------------------------------------- ; 128 DEG c XMISH TEMP ; ; AMPS PSI ;---------------------------------------------- FCB 55 ; 1.1 0.0 FCB 47 ; 0.9 6.0 FCB 45 ; 0.9 12.0 FCB 44 ; 0.9 18.0 FCB 42 ; 0.8 24.0 FCB 40 ; 0.8 30.0 FCB 38 ; 0.7 36.0 FCB 36 ; 0.7 42.0 FCB 34 ; 0.7 48.0 FCB 32 ; 0.6 54.0 FCB 29 ; 0.6 60.0 FCB 26 ; 0.5 66.0 FCB 23 ; 0.4 72.0 FCB 19 ; 0.4 78.0 FCB 14 ; 0.3 84.0 FCB 7 ; 0.1 90.0 FCB 7 ; 0.1 96.0 ;---------------------------------------------- ; 142 DEG c XMISH TEMP ; ; AMPS PSI ;---------------------------------------------- FCB 55 ; 1.1 0.0 FCB 47 ; 0.9 6.0 FCB 45 ; 0.9 12.0 FCB 43 ; 0.8 18.0 FCB 42 ; 0.8 24.0 FCB 40 ; 0.8 30.0 FCB 38 ; 0.7 36.0 FCB 36 ; 0.7 42.0 FCB 34 ; 0.7 48.0 FCB 31 ; 0.6 54.0 FCB 29 ; 0.6 60.0 FCB 26 ; 0.5 66.0 FCB 23 ; 0.4 72.0 FCB 19 ; 0.4 78.0 FCB 14 ; 0.3 84.0 FCB 7 ; 0.1 90.0 FCB 7 ; 0.1 96.0 ;---------------------------------------------- ; 152 DEG c XMISH TEMP ; ; AMPS PSI ;---------------------------------------------- FCB 55 ; 1.1 0.0 FCB 47 ; 0.9 6.0 FCB 45 ; 0.9 12.0 FCB 43 ; 0.8 18.0 FCB 42 ; 0.8 24.0 FCB 40 ; 0.8 30.0 FCB 38 ; 0.7 36.0 FCB 36 ; 0.7 42.0 FCB 34 ; 0.7 48.0 FCB 31 ; 0.6 54.0 FCB 29 ; 0.6 60.0 FCB 26 ; 0.5 66.0 FCB 23 ; 0.4 72.0 FCB 19 ; 0.4 78.0 FCB 14 ; 0.3 84.0 FCB 6 ; 0.1 90.0 FCB 6 ; 0.1 96.0 ;---------------------------------------------- ;---------------------------------------------- ; DIFF PRESSURE Vs. XMISH TEMPERATURE ; ; TYPE $0D ECM, 94 L05 ; ; TBL = PSI ;---------------------------------------------- ORG $6B72 ; PSI XMISH TEMP Deg c ;---------------------------------- L6B72 FCB 1 ; 1.0 -40 L6B73 FCB 1 ; 1.0 -36 L6B74 FCB 1 ; 1.0 -32 L6B75 FCB 1 ; 1.0 -28 L6B76 FCB 1 ; 1.0 -24 L6B77 FCB 1 ; 1.0 -20 L6B78 FCB 1 ; 1.0 -16 L6B79 FCB 1 ; 1.0 -12 L6B7A FCB 1 ; 1.0 -8. L6B7B FCB 1 ; 1.0 -4. L6B7C FCB 1 ; 1.0 0. L6B7D FCB 1 ; 1.0 4. L6B7E FCB 1 ; 1.0 8. L6B7F FCB 1 ; 1.0 12. L6B80 FCB 1 ; 1.0 16. L6B81 FCB 1 ; 1.0 20. L6B82 FCB 1 ; 1.0 24. ;-------------------------------------------------- ************************************* * END OF TRANSMISSION CALIBRATIONS ************************************* ; ;~~~~~~~~~~~~~~~~~~~~~~ ; ; Start of main code ; ;~~~~~~~~~~~~~~~~~~~~~~ ; L7200 LDS #$03FF ;Load stack @ 0x3FF LDX #$1000 ;Base CPU address LDAA #$03 ;New base address for Regs. STAA $3D,X ;Save it, Regs. now init. at 0x3000 LDX #L3000 ;New base address LDAA #$B8 ;1011 1000 STAA $39,X ;Option Reg. ; b7=ADC powerup bit ; b6=Clock select ; b5=Configure IRQ ; b4=Enable startup delay ; b3=Clock monitor ; b2= - ; b1=CR1, COP timer rate select ; b0=CR0, COP timer rate select ; LDAA #$03 ;0000 0011, select E/16, or 524 kHz for 16 bit counter STAA $24,X ;TMSK2(Timer Mask Register 2) Reg. ; b7=Timer overflow interrupt enable ; b6=Real time interrupt enable ; b5=Pulse Accumulator Interrrupt enable ; b4=Pulse Accumulator Interrupt edge Interrupt enable ; b3= - ; b2= - ; b1=PR1, Timer Prescale select ; b0=PR0, Timer Prescale select ; BCLR $38,X,#$20 ;Clr b5=, OPT 2 REG LDAA #$1B ;0001 1011 STAA $35,X ;BPROT (EEPROM block protect) REG ; b7= - ; b6= - ; b5= - ; b4=Protect Config Reg. ; b3=BPRT3 (Block Protect) 0xB6E0-0xB7FF ; b2=BPRT2 (Block Protect) 0xB660-0xB6DF ; b1=BPRT1 (Block Protect) 0xB620-0xB65F ; b0=BPRT0 (Block Protect) 0xB600-0xB61F ; JSR LCA8A ;Reg. config routine ; ;-Perform additional clears/resets ; CLRA ;Preclear A STAA 0,X ;Port A STAA $08,X ;Port D LDAA #$7F ; LDAB #$FF ; STD L306E ; ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; SET UP HARDWARE FOR CPI/PFI MODE ; or TBI MODE ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; LDX #$B93A ;47,418, TBI mode LDY #L400B ;mode word BRCLR 0,Y,#$01,L723A ;Bra if b0=0, In TBI mode ; ;-In CPI/PFI mode ; LDX #$B91A 47,386d CPI/PFI fuel mode ; ;-Here to store ; L723A STX L3FFC ;I/O D Port JSR LF08A ;RTS, Delay LDD L3FFC ;I/O D Port JSR LF08A ;RTS, short delay ANDB #$FB ;1111 1011, clear b2 ORAB #$08 ;Set b3 STD L3FFC ;I/O D PORT ; ;-Serial Data ; LDX #L3000 ;Reg. base addr. LDD $2E,X ;Access SCI status register LDAB #$26 ;0010 0110 STAB $2D,X ;SCI Contol Reg. 2 ; b7=Transmit interrupt enable ; b6=Transmit complete interrupt enable ; b5=Recieve interrupt enable ; b4=Idle line interrupt enable ; b3=Transmit enable ; b2=Recieve enable ; b1=Reciever wake up ; b0=Send break ; ;-Clear varous regs. ; LDX #$3FC0 ;RPM = ((65536 * 120)/8)/CAL CLRA ;Preclear A CLRB ;Preclear B L725B STD 0,X ;Clear reg. INX ;+1 INX ;+1 CPX #$3FFA ;Last address to clear BNE L725B ;Bra if !=, continue ; LDX #$0036 ;Start address of RAM to clear LDD #$00C5 ;197, #of bytes to clear JSR LEF9A ;RAM clear routine ; LDX #$0100 ;Start address to clear LDD #$01C0 ;448, number of bytes to clear JSR LEF9A ;Ram clear routine ; LDX #$0800 ;Start address to clear LDD #$0100 ;256, number of bytes to clear JSR LEF9A ;RAM clear routine ; ;-Perform additional clears ; LDX #$0362 ;Start address L7282 CLR 0,X ;Clear address INX ;+1, next addresss CPX #$03FF ;Last address to clear BNE L7282 ;Bra to contine if not at last address ; JSR LEEAA ;A/D routine with multi-channel read ; JSR LEEE2 ;A/D routine, multi-channel read ; JSR LC3BA ;Read in fuel pump volts ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Check ALDL switch position ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;-Check for normal operation ; LDAA L082F ;ALDL switch voltage CMPA #100 ;2 V BCC L72C3 ;Bra if >= ; ;-Check for field test mode ; CMPA #40 ;800 mV BCS L72C3 ;Bra if < ; ;-In factory test mode ; BSET L0050,#$08 ;Set b3, In factory test mode LDAA L00A0 ;A/D TPS CMPA #252 ;4.92 V BCS L72C3 ;Bra if TPS < ; LDAA L082D ;A/D coolant CMPA #252 ;149 deg C BCS L72C3 ;Bra if cool temp is less ; LDAA L009F ;Transmission temp CMPA #5 ;-40c BHI L72C3 ;Bra if trans. temp is > ; BSET L0044,#$01 ;Status word, set b0, factory test requested CLR L0001 ;(MAX TERM CNT MJR LP SEG) LDX #$B93A ; STX L3FFC ;I/O Port D JMP L7548 ; ; ;~~~~~~~~~~~~~~ ;-Check EPROM ;~~~~~~~~~~~~~~ ; L72C3 BCLR L0005,#$10 ;Status word, clear b4=bad EPROM CLR b4, BAD EPROM FLAG LDAA L303F ;System config reg. CMPA #$0B ;0000 1011, Disable COP, enable ROM, enable EEPROM BEQ L72D2 ;EPROM checksum routine ; BSET L003A,#$04 ;Status word, set b2 BRA L72EC ;bra ; ;~~~~~~~~~~~~~~~~~~~~~~~~ ; ; EPROM checksum routine ; ;~~~~~~~~~~~~~~~~~~~~~~~~ ; L72D2 LDX #$4008 ;Start of EPROM area to check JSR LEF47 ;Checksum routine ; LDAA L4008 ;Mask ID byte CPY L4006 ;Checksum BNE L72E5 ;Bran if !=, check for test mode ; CMPA #$0D ;Mask ID BEQ L730C ;Bra if == to mask ID ; ;-Check for test mode ; L72E5 CMPA #$AA ;Test mode BEQ L730C ;Bra if == ; ;~~~~~~~~~~~~~~~~~~~ ;-Here to set error ;~~~~~~~~~~~~~~~~~~~ BSET L003A,#$02 ;Set b1, EPROM failure L72EC BSET L0005,#$10 ;Set b4, EPROM error LDD L3FFC ;I/O D Port JSR LF08A ;RTS, short delay ANDB #$F7 ;1111 1110 STD L3FFC ;I/O D Port BSET L001A,#$20 ;Set b5 BSET L000F,#$20 ;Set b5, Error 51, EPROM failure JSR LEFC3 ;RAM checksum routine STAA L0015 ;Save it, diag. checksum ; ;-Check ALDL switch status ; LDAA L082F ;ALDL A/D voltage ; L7308 CMPA #100 ;2 V BCC L7308 ;Bra if votage >, loop and wait to reset ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Here if not setting error ;~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L730C JSR LEFC3 ;RAM checksum routine CMPA L0015 ;Diag. checksum BEQ L733C ;Bra if equal ; ;-Clear RAM if bad checksum ; LDX #$0000 ;Start addr. LDD #0012 ;# of bytes to clear JSR LEF9A ;RAM clear routine ; LDX #$000B ;Start addr. LDD #42 ;# of bytes to clear JSR LEF9A ;RAM clear routine ; LDX #$02C0 ;Start addr. LDD #117 ;# of bytes to clear JSR LEF9A ;RAM clear routine ; LDAA L5B24 ;Max idle %TPS LDAB #128 ; STD L0319 ;Save it, idle TPS JSR LEF1D ;BLM reset routine ; BSET L0046,#$40 ;Status word, set b6, non-volitle memory lost 733C: L733C BSET L0082,#$08 ;(???) SET b3, 1 = UPSHIFT TQ REDUCTION TE RUESTED ; ;-Perform additional checksum ; LDX #$0327 ;Uppermost address LDAB #$0D ;# of bytes to check CLRA ; PSHB ;# of bytes to check to stack L7346 ADDA 0,X ;Add value stored at address DEX ;-1, move to next address DECB ;-1, # of bytes to check BNE L7346 ;Bra if !=0, continue PULB ;# of bytes to check TSTA ;Test checksum BEQ L735A ;Bra if ==0 ; CLRA ; ; ;-Clear RAM if checksum !=0 ; L7351 INX ;+1, step back to previous address STAA 0,X ;Clear address DECB ;-1 from # of bytes BNE L7351 ;Bra if !=0, continue ; BSET L003A,#$40 ;Set b6, bad RAM checksum L735A LDAA L4133 ;Base SA CLRB ; STD L0219 ;Save it, commanded SA ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;-Error count checking ; ; Used to keep track of # times error ; flagged. If flagged certain # of times, ; perm. store error. Else, clear error this ; time around. ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;-Check error 21, Hi TPS, counter ; LDAA L001F ;Error 21 counter BEQ L736D ;Bra if ==0 CMPA L5B1E ;Threshold to set error 21 BCC L736D ;Bra if >= ; DECA ;-1, error 21 counter STAA L001F ;save it ; ;-Check error 22, low TPS, error ; L736D LDAA L0020 ;Error 22 counter BEQ L7379 ; CMPA L5B21 ; BCC L7379 ; ; DECA ; STAA L0020 ; ; ;-Check error 24 low output trans speed, counter ; L7379 LDAA L0021 ;Error 24 counter BEQ L7385 ; ; CMPA L5B42 ; BCC L7385 ; ; DECA ; STAA L0021 ; ; ;-Check error 28, man. pressure switch, counter ; L7385 LDAA L0022 ;Error 28 counter BEQ L7391 ; ; CMPA L5B52 ; BCC L7391 ; ; DECA ; STAA L0022 ; ; ;-Check error 37, brake on, counter ; L7391 LDAA L0023 ;Error 37 counter BEQ L739D ; ; CMPA L5B58 ; BCC L739D ; ; DECA ; STAA L0023 ; ; ;-Check error 38, brake off, counter ; L739D LDAA L0024 ;Error 38 counter BEQ L73A9 ; ; CMPA L5B5E ; BCC L73A9 ; ; DECA ; STAA L0024 ; ; ;-Check error 68, trans. slipping, counter ; L73A9 LDAA L0025 ;Error 68 counter BEQ L73B5 ; ; CMPA L5B78 ; BCC L73B5 ; ; DECA ; STAA L0025 ; ;-Check error 66, 3-2 shift quad dvr. fail, counter ; L73B5 LDAA L0026 ;Error 66 counter BEQ L73C1 ; ; CMPA L5B72 ; BCC L73C1 ; ; DECA ; STAA L0026 ; ; ;-Check error 67, TCC quad dvr. fail, counter ; L73C1 LDAA L0027 ;Error 67 counter BEQ L73CD ; ; CMPA L5B74 ; BCC L73CD ; ; DECA ; STAA L0027 ; ; ;-Check error 68 counter ; L73CD LDAA L0028 ;Error 68 counter BEQ L73D9 ; ; CMPA L5B79 ; BCC L73D9 ; DECA ; STAA L0028 ; ; ;-Check error 72, output spd loss, counter ; L73D9 LDAA L0029 ;Error 72 counter BEQ L73E5 ; ; CMPA L5B8B ; BCC L73E5 ; ; DECA ; STAA L0029 ; ; ;-Check error 73, force motor current, error ; L73E5 LDAA L002A ;Error 73 counter BEQ L73F1 ; ; CMPA L5B8F ; BCC L73F1 ; ; DECA ; STAA L002A ; ; ;-Check error 81, quad dvr. 1 & shif B err., counter ; L73F1 LDAA L002B ;Error 81 counter BEQ L73FD ; ; CMPA L5B9D ; BCC L73FD ; ; DECA ; STAA L002B ; ; ;-Check error 82, quad dvr. 1 & shift A err., counter ; L73FD LDAA L002C ;Error 82 counter BEQ L7409 ; ; CMPA L5B9F ; BCC L7409 ; ; DECA ; STAA L002C ; ; ;-Check error 83, quad dvr. 1 error, counter ; L7409 LDAA L002D ;Error 83 counter BEQ L7415 ; ; CMPA L5BA1 ; BCC L7415 ; ; DECA ; STAA L002D ; ; ;-Check error 85 counter ; L7415 LDAA L002E ;Error 85 counter BEQ L7421 ; ; CMPA L5BA2 ; BCC L7421 ; ; DECA ; STAA L002E ; ; ;-Check error 86, low ratio, counter ; L7421 LDAA L002F ;Error 86 counter BEQ L742D ; ; CMPA L5BA8 ; BCC L742D ; ; DECA ; STAA L002F ; ; ;-Check error 87, high ratio, counter ; L742D LDAA L0030 ;Error 87 counter BEQ L7439 ; ; CMPA L5BAE ; BCC L7439 ; ; DECA ; STAA L0030 ; ; ;-Check error 89, Max adpt long shift, counter ; L7439 LDAA L0031 ;Error 89 counter BEQ L7445 ; ; CMPA L5BB8 ; BCC L7445 ; ; DECA ; STAA L0031 ; L7445 BRCLR L001E,#$04,L7457 ;Error word #9, bra if b2==0, no error 89 flagged ; ;-Error 89 flagged ; LDAA L0031 ;Error 89 counter CMPA L5BB8 ;Compare to threshold to set error BCC L7457 ;Bra if >=, set error ; ;-Not setting error here ; INCA ;+1 INCA ;+1 STAA L0031 ;Save it, error 89 counter BCLR L001E,#$04 ;Clear b2, bot setting error yet ; ;-Here if perm. setting error, continue ; L7457 BCLR L0019,#$04 ;Clear b2, error 45, O2 rich BCLR L0019,#$02 ;Clear b1, error 46, VATS ; ;-Check if TCC present ; LDX #$400F ;Option byte, 0000 1000 BRCLR 0,X,#$80,L7467 ;Bra if b7=0, TCC present ; ;-No TCC here, dont set VSS error ; BCLR L0017,#$20 ;Clear b5, ERR 24, Low VSS if no TCC present ; ;------------------------------------ ; CK ERR CNT'S ; AND ??? to B IF ERROR > THRESH ;------------------------------------ ;----------------------- ; XMISH ERR HANDER ; MAX ADP LONG SHIFT ; ERR 89 (L5BB5) ;----------------------- L7467 LDX #L5B00 ; INDEX ENGINE DIAGNOSTIC MODE WORD MASKS 746A: LDAA L0032 ; ERR 89 CNT'S 746C: CMPA $B5,X ; IF ERR CNT'R G.T. 0 SET ERR 89, 746E: BCS L7472 ; (1 -> 2) ; .. else 7470: STAB L0032 ; ERR 89 CNT'S ;----------------------- ;----------------------- ; MAX ADP LONG SHIFT ; ERR 89 (L5BB6) ;----------------------- 7472: L7472 LDAA L0033 ; ERR 89 CNT'R ; IF ERR CNT'R G.T. 0 SET ERR 89 7474: CMPA $B6,X ; (2 -> 3) 7476: BCS L747A ; ... else ; SAVE ERR 89 CN'S 7478: STAB L0033 ;----------------------- ;----------------------- ; MAX ADP LONG SHIFT ; ERR 89 (L5BB7) ;----------------------- 747A: L747A LDAA L0034 ; ERR 89 CNT'R 747C: CMPA $B7,X 747E: BCS L7482 7480: STAB L0034 ; ERR 89 CNT'R ;----------------------- ;----------------------- ; MAX ADP LONG SHIFT ; ERR 89 (L5BB7) ;----------------------- ; L7482 LDAA L082E ;A/D MAP, A/D conv. STAA L01E9 ;A/D MAP ; ;~~~~~~~~~~~~~~~~~~ ;-Do S/D MAP conv. ;~~~~~~~~~~~~~~~~~~ ; ;S/D MAP=(151x(MAP-26))/128 ; STAA L01E6 ;A/D MAP, filtered SUBA #26 ;A/D MAP-26 LDAB #151 ; MUL ;151x(A/D MAP-26) ADDD #64 ;+64 to round if needed ASLD ;x2 BCC L7499 ;Bra if no overflow ; LDD #$FFF ;Clear overflow ; L7499 STAA L01E3 ;Save it, SD MAP STAA L01EA ;Save it, SD MAP, filtered ; JSR LC45F ; BSET L004E,#$01 ;Set b0= BSET L0043,#$80 ;Set b7= ; BCLR L0004,#$10 ;Clear b4, hot restart in effect ; LDAA L0006 ;Cool temp, linear PSHA ;To the stack JSR LC78A ;Cool temp lookup routine ; JSR LC805 ;Routine to do look ups based on cool temp. ; JSR LC879 ;Routine to do lookups related to SA and knock LDAA L0006 ;Cool temp, linear STAA L02A5 ;Prev. cool temp (for restart) ; PULB ;Get coolant back CMPB L4950 ;95 Deg c, previous run temp, min temp for hot restart BCS L74CA ;Bra if cool temp is < ; CMPA L4951 ;110 Deg c, min temp for hot restart BCS L74CA ;Bra if cool temp is < ; BSET L0004,#$10 ;Status word, non-vol. ram, set b4=hot restart ; L74CA JSR L9341 ;(???) ; ;-Init O2 ; LDAA L48B4 ;450 mV, O2 init value 450 Mv, o2 INIT VALUE STAA L01F8 ;A/D O2 volts STAA L01F3 ;Major loop filtered O2 STAA L01F5 ;Slow filtered O2 volts (based on airflow) JSR LB24D ;Idle %TPS routine ; JSR LB185 ;Do trans. tps based params. ; ;-Init TPS ; LDAA L01FC ;TPS STAA L01FF ;(???) STAA L01FD ;(???) STAA L01FE ;(???) STAA L0201 ;(???) ; LDAA L489B ;Max position for closed EGR pintle STAA L01D8 ;Save it, closed EGR pintle pos. JSR LD075 ;Linear EGR routine ; LDAA L0192 ;Cool temp CLRB ;Clear LSB STD L0193 ; JSR L755E ; ; CLRB ; LDAA L00A2 ;Load linear cool temp CMPA L4071 ;Threshold to init cat temp to default value BCS L750C ;Bra if cool temp less then threshold ; ;-Cool temp > threshold, init cat temp to default val, otherwise, clear cat temp ; LDAB L4072 ;Cat init temp when cool temp is hot ; L750C STAB L0078 ;Cat temp LDD L3FCA ;16 bit RPM counter STD L0228 ;Store it, 16 bit RPM value ; LDD L3012 ;TIC 2 STD L0851 ;TIC 2 result ; LDAA L48DD ;14.7:1, stoich AFR STAA L026D ;AFR LDAA #$0E ;dec 14 STAA L0002 ;Loop counter LDAA #128 ; STAA L026B ;BLM multiplier LDAA #$14 ;dec 20 STAA L0049 ;Major loop counter JSR LEF2B ;BLM clamp routine ; ;-Do COP ; LDAA #$55 ;0101 0101 STAA L303A ;COP reset reg ; LDAA #$AA ;1010 1010 STAA L303A ;COP reset reg ; LDAA #$40 ;0100 0000 STAA L004C ;Port C ; BRCLR L0004,#$08,L7548 ;Status word, bra if b3==0, last shut down ; ;-Bad shutdown ; LDAA L4D8C ;Init value for DRP counter on bad shutdown STAA L02F1 ;Stored DRP counts. ; ;-Here if no bad shutdown ; L7548 LDAA #255 ;1111 1111 STAA L3023 ;Timer interrups flag register 1 ; ;-Set TOC 3 value ; LDD L300E ;16 bit free running CPU counter ADDD #$08 ; STD L301A ;Save it, Timer output compare 3 ; LDAA #$A0 ;1010 0000 STAA L3022 ;Timer interrupt mask reg. 1 ; JMP L7BE6 ; ; ;~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; (???) ; ;~~~~~~~~~~~~~~~~~~~~~~~~~ ; L755E CLR L012E ; CLRB ; LDAA #$51 ; CMPA #$51 ; BCS L756A ;Bra if <= BRA L756C ; L756A LDAA #$51 ; ; L756C STAA L012F ; STD L306C ; ; LDAA #$01 ;Set b1, normal shift pattern requested STAA L0099 ;Trans shift pattern word ; LDD #$DFFF ; ; LDX #L400F ;Option byte BRCLR 0,X,#$40,L7583 ;Bra if b6==0, using electronic trans ; ; LDD #$D000 ; ; L7583 STD L3FCC ; JSR LF08A ;RTS, delay ; LDD #$D000 STD L3FEA JSR LF08A ;Short delay ; LDAA #$02 ;2nd gear STAA L00D3 ;Gear number RTS ;Return ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; DRP/crank fuel/injector handling routine ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L7597 BRCLR L0044,#$01,L759E ;Bra if b0==0, factory test not requested ; ;~~~~~~~~~~~~~~~~~~~~~~~~ ; Factory test requested ;~~~~~~~~~~~~~~~~~~~~~~~~ ; JMP LF8BB ; ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; No factory test req., continue ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L759E LDD L300E ;Load 16 bit free running counter PSHB ;Push counter to stack PSHA ; ; ;-Look up knock window delay time vs RPM ; LDAB L0062 ;RPM/25 LSRB ;/2 ANDB #$FE ;Clear b0, double byte offset LDX #L4653 ;Knock window delay time vs. RPM ABX ;Add offset into X PULA ;Get free running counter val. back PULB ; ADDD 0,X ;Add in delay to counter STD L3016 ;Save it Timer output compare 1 ; LDX #L3062 ;I/O port D BCLR 0,X,#$40 ;Clear b6 BSET 0,X,#$40 ;Set b6 ; BRSET L0044,#$10,L75C3 ;Bra if b4==1, shutting down ; BSET L0050,#$20 ;Set b5, DRP ocured ; L75C3 LDAB #255 ;1111 1111 STAB L306F ;Hardware, fuel pump relay control BRCLR L0050,#$01,L75DB ;Bra if b0==0, dont read in MAP yet ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Read in A/D channel 5, MAP ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; LDAA #$05 ;0000 0101, A/D channel 5 STAA L3030 ;A/D control reg ASLD ;33 cycle delay for A/D channel conv. MUL ; MUL ; MUL ; LDAA L3031 ;Get A/D MAP STAA L082E ;Save it, A/D MAP val. ; L75DB BRCLR L004F,#$10,L75E2 ;Bra if b4==0, engine not above crank to run threshold ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Engine above crank to run threshold ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; JMP L76FD ;Transition from crank to run ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Engine not yet above crank to run threshold here ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L75E2 LDD L0068 ;Filtered RPM/6.26 STD L006A ;Filtered RPM/6.25, derivative term BRSET L0044,#$10,L75F5 ;Status word, bra if b4==1, shutting down ; ;-Here if not shutting down ; LDAB L02F0 ;DRP counter INCB ;+1 BEQ L75FF ;Bra if roll-over ; STAB L02F0 ;Save it, DRP counter BRA L75FF ;Bra to continue ; ;-Here if shutting down/not time for fuel yet ; L75F5 LDX #L3000 ;Load base CPU reg addr. ; LDAA #$01 ;0000 0001 STAA $23,X ;Reset TIC3 flag, TFLG1 reg. JMP L7873 ;Return from interrupt ; ;-Here if not shutting down ; L75FF LDAA L0006 ;Cool temp, linear LDX #L4DC3 ;Crank fueling delay vs. cool temp table JSR LF15E ;2D lookup ; CMPA L02F0 ;DRP counter BCC L75F5 ;Bra if DRPs less, Reset TIC3/TFLG1 and RTI ; ;-Here if its time to run the loop ; LDX #L400C ;Opt. byte BRCLR 0,X,#$04,L7626 ;Bra if b2==0, dont fire all inj. each DRP ; LDD L02F2 ;PW JSR L78D4 ;Cranking PW correction routine STD L026F ;Sync BPW LDX #L400B ;Opt. byte BRSET 0,X,#$10,L7629 ;Bra if b4==1, async. double fire ; JMP L76D7 ;Output BPW to harware and continue ; L7626 JMP L76DD ;Continue ; ;-Check for err 41, cam sensor ; L7629 BRCLR L0019,#$40,L7634 ;Err. word #4, bra if no error 41, 1x cam sens. ; ;-Here if err. 41 ; LSRD ;PW/2 for double fire STD L026F ;Save it, BPW JMP L76D7 ;Output to hardware and contine ; ;-Here if err. 41 not set ; L7634 ADDB L0279 ;Add in bias to comp. for batt volts ADCA #0 ;Perform carry if needed BPL L763E ;Bra if < 32767 ; LDD #$7FFF ;Clear overflow L763E STD L0273 ;Save it, TOC 5 value ; ; ; LDX #L3000 ;Base CPU reg. addr. ; BRSET $23,X,#$01,L76A4 ;Bra if edge detected for TIC3 ; LDAA L02F0 ;DRP counter CMPA #$01 ; BNE L7654 ;Bra if !=1 ; BSET L0053,#$20 ;Status word, set b5, inj. firing pending BRA L7678 ; L7654 BRCLR L0053,#$20,L7678 ;Bra if injector firing is not pending ; ;-Injector firing is pending ; PSHX ;Push CPU addr, to stack LDX #L0273 ;Addr. of TOC 5 val LDAA L4956 ;Crank BPW mult. for 2nd inj. firing JSR LF1ED ;8x16 mult. routine ; PULX ;Get base CPU addr. back ASLD ;BPW x 2 BCC L7669 ;Bra if no overflow ; LDD #$FFFF ;Clear overflow ; L7669 STD L0273 ;Save as TOC 5 value LDAA L02F1 ;DRP counter DECA ;-1, maintain at zero CMPA #255 ;Check for underflow BNE L7675 ;Bra if no underflow INCA ;+1 ; L7675 STAA L02F1 ;DRP counter ; ;-Here if DRPs > 1/no inj. firing pending ; L7678 BSET $20,X,#$03 ;TCTL1, set TOC 5 output line to 1 BSET $0B,X,#$08 ;CFORC, force output level for TOC 5 JSR L7907 ;Check for cam sens. error ; LDD L0273 ;TOC 5 value ASLD ;x2 BCC L768A ;Bra if no overflow ; LDD #$FFFF ;Clear overflow ; L768A ADDD $0E,X ;Add in free running counter STD L0825 ;Save it, outputted val. to TOC 5 BCLR $20,X,#$01 ;Clear b0, set TOC 5 output line to 0 LDD $0E,X ;16 bit free running timer ADDD #$02 ;+2 CPD L0825 ;TOC 5 value BPL L76A0 ;Bra if interrupt not pending ; LDD L0825 ;Load previous value instead ; L76A0 STD $1E,X ;Save it, TOC 5 BRA L76DD ;Bra to continue ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Here if edge detected for TIC3 ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L76A4 LDAA #$01 ;0000 0001 STAA $23,X ;Reset TIC3 flag, TFLG1 reg. CLR L084E ;Err. 41 counter ; BSET $20,X,#$0C ;Set b2,b3, set TOC3 on successful compare, BSET $0B,X,#$10 ;Set b4, force compare for TOC4 ; BCLR L0053,#$20 ;Status word, clear b5, injector fired at first DRP CLR b5, A INJECTOR FIRED AT 1st DRP ; LDD L0273 ;PW value used in TOC 5 output ASLD ;x2 BCC L76BD ;Bra if no overflow ; LDD #$FFFF ;Clear overflow ; L76BD ADDD $0E,X ;Add in 16 bit free running counter STD L0827 ;Save as TOC 4 value ; BCLR $20,X,#$04 ;Clear TOC 4 line on interrupt ; LDD $0E,X ;16 bit free running counter ADDD #$02 ;+2 counts CPD L0827 ;TOC 4 value BPL L76D3 ;Bra if >= ; LDD L0827 ;Load TOC 4 instead if still pending ; L76D3 STD $1C,X ;Save it, TOC 4 timer val. BRA L76DD L76D7 LDD L026F ;Sync BPW JSR L862B ;Output BPW to hardware ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Here to increment DRP counter and limit in case of FP relay failure ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L76DD LDAA L02F1 ;Load DRP counter INCA ;+1 BNE L76E5 ;Bra if no roll-over ; LDAA #$F0 ;Reset to 240 after roll-over ; L76E5 STAA L02F1 ;Save it LDAB L0055 ;Load fuel pump volts CMPB L4D8E ;Lower voltage threshold for fuel pump functioning BHI L76FA ;Bra if greater then threshold ; CMPA L4D8D ;Upper counts limit when pump volts low/zero BLS L76FA ;Bra if counter is less ; LDAA L4D8D ;Load max ; STAA L02F1 ;Save it, cranking fuel counter #2 L76FA JMP L7873 ;Return from interrupt ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Here to transition from crank to run ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L76FD LDAA L02EC ;AFR crank transition AFR BEQ L7743 ;Bra if ==0 ; LDAA L028B ;Elapsed DRPs INCA ;+1 BEQ L770B ;Bra if roll-over ; STAA L028B ;If no roll-over, save it ; ;-Look up transition decay delay DRP value ; L770B LDX #L4CB5 ;Addr. of table LDAA L0006 ;Load cool temp, linear JSR LF15E ;2D look up ; TAB ;Looked up val. to B ; ;-Transition decay delay multiplier ; LDX #L4CC6 ;Table addr. LDAA L02F1 ;Stored DRP counts ASLA ;x2 ASLA ;x2 BCC L7720 ;Bra if no overflow LDAA #255 ;Clear overflow ; L7720 JSR LF15E ;2D lookup MUL ; ; ;-# of elapsed DRPs to delay = (DRPs x delay multipier)/256 ; CMPA L028B ;Elapsed DRPs BCC L7743 ;Bra if timer <= ; ;-Run the routine on every third count of L081E, skip otherwise ; INC L081E ;+1, execution delay timer LDAA L081E ;exec. delay timer CMPA L495A ;# counts to run routine BCS L7743 ;Bra if timer less, skip transition adj. CLR L081E ;Reset timer for next pass LDAA L02EC ;AFR crank transition ratio SUBA L028A ;Sub. AFR decay rate vs cool temp BCC L7740 ;Bra if no underflow ; CLRA ;Clear underflow ; L7740 STAA L02EC ;AFR crank to run transition ratio ; L7743 LDAA L400C ;Option byte BITA #$08 ;Test b3, Asnyc/single fire BEQ L7786 ;Bra if ==0, Async fueling instead ; ;~~~~~~~~~~~~~~~~~~~~ ; Here if CPI in use ;~~~~~~~~~~~~~~~~~~~~ ; BRSET L0019,#$40,L7786 ;Bra if b6==1, err 41, 1x cam sensor ; BRSET L0051,#$01,L7767 ;Status word, bra if b0==1, in single fire mode ; BRCLR L0053,#$40,L77C9 ;Status word, bra if b6==0, 1=Single fire alt. exit desired ; BCLR L0053,#$40 ;Clear b4, single fire alt exit desired ; LDD L0277 ;Sync. BPW ASLD ;x2 for single fire mode BCC L7762 ;Bra if no overflow LDD #$FFFF ;Clear overflow ; L7762 STD L0277 ;Save it BPW BRA L77AF ;Bra to continue if BPW maxed out ; ;-Here if in single fire ; L7767 INC L0829 ;+1, DRP counter LDAA L0829 ;DRP counter CMPA #$03 ;3 DRPs BCC L7789 ;Bra if >= ; ;-Check for async/single fire mode ; LDD L0277 ;Sync. BPW CPD L4920 ;Threshold for double to single fire mode BCS L77C9 ;Bra if BPW less ; ;-In sync/double fire mode here ; LDAA L0829 ;Load DRP counter CMPA #$01 ;1 DRP BNE L77BF ;Bra if != ; BSET L0053,#$40 ;Set b6, single fire alt. exit desired BRA L77BF ; ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Here if tbi in use instead ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L7786 JMP L7812 ;Bra to continue ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Here if 3 or more DRPs have occured ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L7789 LDX #L3000 ;Load base CPU reg. addr. ; LDAA #$01 ;Set b0, TIC 3 flag STAA $23,X ;Save it, timer interrupts flag reg. 1 ; LDD L0277 ;sync BPW CPD L4920 ;Threshold for single to double fire mode BCC L77A5 ;Bra if sync BPW is > ; ;-Still in single fire mode ; LDAA L0829 ;DRP counter CMPA #$04 ;4 drps to reset counter BNE L7812 ;Bra if !=, continue ; CLR L0829 ;Clear DRP counter BRA L7812 ;Bra to continue ; ;-Above threshold to transition to double fire mode ; L77A5 LDAA L0829 ;DRP counter CMPA #$04 ;4 DRPs BNE L77AF ;Bra if != ; BSET L0053,#$40 ;Set b6, single fire alt. exit desired L77AF LDD L0277 ;BPW ADDB L0279 ;Batt volts BPW correction ADCA #$0000 ;round if needed BPL L77BC ;Bra if no signed overflow LDD #$7FFF ;Load max BPW ; L77BC STD L0273 ;PW value used in TOC 5 interrupt ; L77BF BCLR L0051,#$01 ;Status word, clear b0, CPI single fire mode CLRA ; STAA L082A ;Period in double fire STAA L0829 ;DRP counter ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Transition from double to single fire mode ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L77C9 LDY #L400B ;Load option byte BRSET 0,Y,#$20,L77D5 ;Bra if b5==1, 180 deg offset ; BSET L0051,#$80 ;Set b7, transition from double to single fire mode ; L77D5 LDX #L3000 ;Load base CPU reg. addr. BRCLR $23,X,#$01,L77F9 ;Bra if TIC 3 flag not set ; LDAA #$01 ; STAA $23,X ;Reset TIC 3 CLR L084E ;Err. 41 counter BRSET 0,Y,#$20,L7801 ;Bra if b5==1. 180 deg offfset ; ;-No offset ; L77E8 JSR L78A4 ;Routine to set up TOC 4 interrupt ; BRSET L0051,#$80,L7812 ;Bra if transition already flagged ; BSET L0051,#$80 ;Set b7, transition in progress ; CLRA ;Clear time based delay for next pass CLRB ; STD L081F ;Time based delay for injector firing BRA L7801 ;Bra to continue ; JSR L7907 ;Routine to check for cam sens. error ; BRSET 0,Y,#$20,L77E8 ;Bra if b5==1, 180 deg offset L7801 JSR L7874 ;Routine to set up for TOC 5 interrupt ; BRSET L0051,#$80,L7812 ;Status word, bra if b7==1, transitioning from ;double to single fire mode ; BSET L0051,#$80 ;Set b7, transition in progress CLRA ; CLRB ; STD L081F ;Clear time delay for injector firing BRA L77E8 ;Bra to continue ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Here to continue and return from interrupt ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L7812 LDD L3FFA ;CPU status ORAA L0073 ;CPU status word BCLR L0073,#$40 ;CPU status word, clear b6 ; BITA #$40 ;Test b6 BEQ L7873 ;Bra if ==0, return ; ;-Check quals for generating RPM derivative term ; LDAB L0067 ;RPM/6.25 CMPB L450C ;Threshold to be idling BCS L783B ;Bra if RPMs < ; LDAB L01FC ;%TPS CMPB L48D0 ;TPS threshold for idling BHI L783B ;Bra if TPS >, limit derivative term ; ;-Filter RPM derivative term ; LDD L0068 ;Filtered RPM/6.25 LDX #$006A ;RPM/6.25, derivative term LDY #L450E ;Filter coeff. JSR LF116 ;Lag filter routine ; BRA L783D ;Bra to save ; ;-Here to skip filtering ; L783B LDD L0068 ;Filtered RPM/25 ; L783D STD L006A ;Save it LDAA L400B ;Opt. byte BITA #$01 ;Test b0 BEQ L7873 ;Bra if not on CPI/PFI mode ; ;-In CPI/PFI mode here ; LDAA L400C ;Opt byte BITA #$08 ;Test b3 BEQ L7851 ;Bra if async double fire mode ; BRCLR L0019,#$40,L7873 ;Err. word, bra if b6==0, no err. 41 ; L7851 BRCLR L0051,#$01,L7865 ;Bra if b0==1, in single fire mode ; BRCLR L003F,#$10,L7870 ;Status word, bra if b4==0, sync/async flag ; ;-Check if ok to exit single fire mode ; LDD L0277 ;BPW CPD L4920 ;Threshold to go from single to double fire mode BLS L7865 ;Bra if BPW <= ; ;-Here to exit single fire ; BCLR L0051,#$01 ;Status word, clear b0, not in single fire mode ; L7865 BCLR L003F,#$10 ;Clear b4, sync/async flag ; JSR L7874 ;Routine to set up for TOC 5 interrupt JSR L78A4 ;Routine to set up for TOC 4 interrupt ; BRA L7873 ;Bra to return ; L7870 BSET L003F,#$10 ;Set b4, sync/async flag ; ;-Jump here if ign. off ; L7873 RTI ;Return from interrupt ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Routine to set up for TOC 5 interrupt ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L7874 LDX #$3000 ;Base CPU reg. addr. ; L7877 LDD L081F ;Time based delay for inj. firing CPD #$0006 ;11.4 usec, min delay BCC L7883 ;Bra if >= ; LDD #$06 ;Load min allow. value ; L7883 ADDD $0E,X ;Add to 16 bit counter STD L0821 ;Save it, TOC 5 timer value ; LDAA #$08 ;Set b3, Reset TOC 5 STAA $23,X ;TFLG1 reg. ; BSET $22,X,#$08 ;Set b3, TMSK1, req. TOC 5 interrupt BRCLR 0,X,#$08,L789B ;Bra if b3 of port A (TOC 5) ==0 ; ;-Interrupt has already occured here ; LDD L0821 ;TOC 5 counter val CPD $1E,X ;Timer val at TOC 5 reg. BPL L78A3 ;Bra if >= TOC 5 timer val ; ;-If previous interrupt not pending, reset and continue ; L789B BSET $20,X,#$03 ;Set b1, b0 of Timer Control Reg. 1 (TCTL1), ;set output line to 1 on compare LDD L0821 ;TOC 5 counter value STD $1E,X ;Save it TOC 5 ; L78A3 RTS ;Return ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Routine to set up TOC 4 interrupt ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L78A4 LDX #L3000 ;Base CPU reg. addr. LDD L081F ;Time based delay for inj. firing CPD #$0006 ;11.4 usec, min delay BCC L78B3 ;Bra if >= ; LDD #$06 ;Load min allowed value ; L78B3 ADDD $0E,X ;Add in to free running counter val. STD L0823 ;Save it, TOC 4 counter val. ; LDAA #$10 ;0001 0000 STAA $23,X ;Reset TOC 4, TFLG1 reg. ; BSET $22,X,#$10 ;Set b4, TOC 4 interrupt req. BRCLR 0,X,#$10,L78CB ;Bra if b4 of port A (TOC 4) ==0 ; ;-Interrupt has already occured here ; LDD L0823 ;TOC 4 counter val. CPD $1C,X ;Compare to timer val. @ TOC 4 reg BPL L78D3 ;Bra if >= TOC 4 ; ;-If previous interrupt not pending, reset and continue ; L78CB BSET $20,X,#$0C ;Set b2, b3 of Timer Control Reg. 1 (TCTL1), ;set output line to 1 on compare LDD L0823 ;Load TOC 4 counter val STD $1C,X ;Save it, TOC 4 ; L78D3 RTS ;Return ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Cranking PW correction routine ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L78D4 PSHB ;Push pulsewidth to stack PSHA ; ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Choose one of the below tables as the multipliers to use depending on the conditions ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; LDAB L02F1 ;Load stored DRP counts CMPB #23 ;23 counts BLS L78E4 ;Bra if counts <= 23 ; ;-Counts > 23 here, use table to cycle the fueling ; ANDB #$07 ;0000 0111, clear all but b0-b2, cycle crank fuel if cranking longer then this ; ;-Do cycling crank fuel mult. vs counts when counts > 23 ; LDX #L4E1C ;Addr. of cycling crank fuel mult. vs crank fuel counter BRA L78F8 ;Jump to do indexed lookup ; ;-Use hot restart crank fuel mult. if hot restart in effect ; L78E4 LDX #L4E04 ;Addr. of hot restart crank fuel mult. vs cranking fuel counter ; BRSET L0004,#$10,L78F8 ;Bra if hot restart in effect, do lookup ; ;-Use cold crank mult. vs cranking counts if cool temp < 15 deg C ; LDX #L4DEC ;Address of cold cranking mult. vs cool temp ; LDAA L0006 ;Cool temp, linear CMPA L4D8F ;Lower threshold to use table BCC L78F8 ;Bra if cool temp is greater, do lookup ; ;-Use this table if cool temp >= 15 deg C ; LDX #L4DD4 ;Crank fuel mult. vs cranking counts ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Here to do indexed lookup ;~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L78F8 ABX ;Add in cranking fuel counter #2 LDAA 0,X ;Get address of mult. from selected table TSX ;Get current stack pointer into X JSR LF1ED ;(A x X*)/256 ; PULX ;Clean up stack, get PW back ASLD ;Result x 2, now (mult. x PW)/128 BCC L7906 ;Bra if no overflow, return ; LDD #$FFFF ;Clear overflow ; L7906 RTS ;Return ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Error 41, cam pulse sensor fail ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L7907 LDAA L5B03 ;Error mask 4 BITA #$40 ;Test b6, error 41, cam pulse sens. fail BEQ L7921 ;Bra if not checking error, return ; LDAA L084E ;Error 41 counter CMPA #255 ; BEQ L7919 ;Bra if ==255, compare to threshold to set err ; INCA ;+1, error 41 counter ; STAA L084E ;Save it L7919 CMPA L4E65 ;Threshold to set error BLS L7921 ;Bra if less dont set error yet ; ;-Error counter above threshold ; BSET L0019,#$40 ;Set b6, error 41, 1x cam sens. ; L7921 RTS ;Return ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *********************************************** * TOC5 INTERUPT ROUTINE * * *********************************************** L7922 LDX #L3000 ; CPU REG'S BASE ; 7925: LDAA #$08 ; SET b3, TIC 1 7927: STAA $23,X ; TFLG1 7929: BRCLR 0,X,#$08,L7972 ; BR IF NOT b3, PORT A ; ... else 792D: BCLR $22,X,#$08 ; CLR b3, TIC4/T0C5, TMSK 1 7930: BCLR $20,X,#$01 ; CLR b0, OUTPUT LVL ; 7933: BRCLR L0046,#$01,L7954 ; BR IF NOT b0, SYNC ACELL ENRICH ; ... else ; ; SET UP TOC 5 FOR ASYNC BPW ; 7937: LDD L0273 ; TOC 5 VAL 793A: ADDD L025D ; ASYNC BPW 793D: BCS L7942 ; BR IF OVERFLOW ; ... else 793F: ASLD ; x2 7940: BCC L7945 ; BR IF NO OVERFLOW ; ... else 7942: L7942 LDD #$FFFF ; USE MAX VALUE, 65,535d ; ; OUTPUT ASYNC BPW TO TOC 5 ; 7945: L7945 ADDD $1E,X ; TOC 5 7947: STD L0825 ; 794A: CLRA ; ZERO ASYNC BPW 794B: CLRB ; 794C: STD L025D ; NEW ASYNC BPW ; 794F: BCLR L0046,#$01 ; CLR b0, SYNC ACELL ENRICH 7952: BRA L7962 7954: L7954 LDD L0273 ; TOC 5 VAL 7957: ASLD ; x2 7958: BCC L795D ; BR IF NO OVERFLOW ; ... else 795A: LDD #$FFFF ; USE MAX VALUE, 65,535d 795D: L795D ADDD $1E,X ; TOC 5 795F: STD L0825 ; 7962: L7962 LDD $0E,X ; 16 BIT FREE RUN CNT'R 7964: ADDD #$02 ; ADD 2 CNT'S 7967: CPD L0825 ; 796B: BPL L7983 ; ; ... else 796D: LDD L0825 ; 7970: BRA L7983 7972: L7972 BSET $20,X,#$01 ; SET b0, TCTCL1 REG, OL5 7975: LDD $0E,X ; 16 BIT FREE RUN CNT'R 7977: ADDD #$02 ; 797A: CPD L0821 ; 797E: BPL L7983 ; ; ... else 7980: LDD L0821 ; 7983: L7983 STD $1E,X ; TOC 5 7985: RTI *********************************************** *********************************************** * TOC4 INTERUPT ROUTINE * * *********************************************** L7986 LDX #$3000 ; CPU REG'S BASE ; 7989: LDAA #$10 ; b4, TOC 4 FLAG 798B: STAA $23,X ; TFLG 1 REG ; 798D: BRCLR 0,X,#$10,L79D6 ; BR IF NOT b4, PORT A ; ... else 7991: BCLR $22,X,#$10 ; CLR b4, TMSK 1, TOC 4 INT FLG 7994: BCLR $20,X,#$04 ; CLR b2, TCTL 1, OL4 7997: BRCLR L0046,#$01,L79B8 ; BR IF NOT b0, SYNC ACELL ENRICH ; ... else ; ; .... ; 799B: LDD L0273 ; TOC 5 VAL 799E: ADDD L025D ; ASYNC BPW 79A1: BCS L79A6 ; BR IF OVERFLOW ; ... else 79A3: ASLD ; n x 2 79A4: BCC L79A9 ; ; ... else 79A6: L79A6 LDD #$FFFF ; MAX VALUE 79A9: L79A9 ADDD $1C,X ; TOC 4 79AB: STD L0827 ; ; 79AE: CLRA ; CLEAR ASYNC BPW 79AF: CLRB ; 79B0: STD L025D ; ASYNC BPW ; 79B3: BCLR L0046,#$01 ; CLR b0, SYNC ACELL ENRIC 79B6: BRA L79C6 ;---------------------------------------------- ;---------------------------------------------- ; ; ; ;---------------------------------------------- 79B8: L79B8 LDD L0273 ; TOC 5 VAL 79BB: ASLD ; x2 79BC: BCC L79C1 ; BR IF NOT OVERFLOW ; ... else 79BE: LDD #$FFFF ; USE MAX VAL, 65,535 79C1: L79C1 ADDD $1C,X ; TOC 4 79C3: STD L0827 ; ; 79C6: L79C6 LDD $0E,X ; 16 BIT CPU TIMER 79C8: ADDD #$02 ; 79CB: CPD L0827 ; 79CF: BPL L79E7 ; BR IF ; ... else 79D1: LDD L0827 ; ; 79D4: BRA L79E7 ; 79D6: L79D6 BSET $20,X,#$04 ; 79D9: LDD 0E,X ; 16 BIT CPU TIMER 79DB: ADDD #$02 ; 79DE: CPD L0823 ; 79E2: BPL L79E7 ; ; ... else 79E4: LDD L0823 ; 79E7: L79E7 STD $1C,X ; 79E9: RTI *********************************************** *********************************************** * TOC3 INTERUPT ROUTINE * (6.25 msec) * *********************************************** ; ;~~~~~~~~~~~~~~~~~~~~~~ ; ; Main vector handler ; ;-Run every 6.25 msec ; ;~~~~~~~~~~~~~~~~~~~~~~ ; ;-Set up for next interrupt ; L79EA LDD L301A ;TOC 3 reg ADDD #0819 ;819, 6.25 msec STD L301A ;Save it, time to next TOC 3 interrupt LDAA #$20 ;0010 0000, Reset TOC 3 flag STAA L3023 ;TFLG 1 reg. BSET L0000,#$01 ;Set b0, ;----------------------------- ; MINOR LOOP MODE WD ; b0 1 = FACTORY TEST REQUESTED ;----------------------------- ; ;-Check for factory test ; BRCLR L0044,#$01,L7A05 ;Status word, bra if b0==0, no factory test req. ; ;-Factory test req. ; INC L0002 ;Loop count JMP LF705 ;Go do factory test ; ;-No factory test req., check for loop overrun ; L7A05 BRSET L003A,#$20,L7A17 ;Status word, bra of b5==1, loop overrun already flagged BRCLR L004F,#$04,L7A14 ;Status word, bra if b2==0, loop didnt overrun ; ;-Here if loop overran ; LDAA L0002 ;Loop counter STAA L0003 ;Loop counter, one delayed BSET L003A,#$20 ;Status word, set b5, loop overrun flagged ; L7A14 BSET L004F,#$04 ;Status word, reset b2 to 1 ; L7A17 TSX ;Get stack pointer into X CPX #$03F7 ; BEQ L7A20 ; ; BSET L003A,#$08 ;Status word, set b3==1, L7A20 LDS #$03FF ;Load stack ;------------------------------------------- ; $F4, MODE 4 ; ; CK ENGINE LIGHT ; L0391 b2 ENG LIGHT ENABLE ; L0392 b2 ENG LIGHT ON ; ; XMISH DIAG DISABLE ;------------------------------------------- BRCLR L003B,#$10,L7A3B ;Serial data status word, bra if b4==0, not in mode 4 ; ; ... else LDAB L0391 ; $F4, ALDL MODE 4, DISRETE ENABLES BITB #$04 ; b2, 1 = CHECK ENGINE LIGHT ENABLE BEQ L7A3B ; BR IF NOT b2 ; ; ... else BCLR L0072,#$80 ; CLR b7, (turn off light) ; ; LDAB L0392 ; $F4, ALDL MODE 4, DISCREET STATES BITB #$04 ; b2, 1 = CHECK ENGINE LIGHT ON BEQ L7A3B ; BR IF NOT b2, ; ; ... else BSET L0072,#$80 ; SET b7 I/OD PRT A TEMP STORE, (turn on light) ; ;------------------------------------------- L7A3B JSR L9286 ;IAC control routine ; JSR LF08B ;I/O routine ; LDAA L082E ;A/D MAP val. LDAB L006F ;Status word BITB #$48 ;Test b6=High MAP err, b3=Low MAP err. BEQ L7A73 ;Bra if ==0, no map errors set ; BRCLR L004F,#$10,L7A70 ;Status word, bra if b4==0, engine off/cranking ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Low/High map errors set, generate default MAP val. ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; LDAA L4E5F ;Load TPS coeff. for default MAP LDAB L01FC ;TPS MUL ;Coeff x TPS ASLD ;x2 BCS L7A70 ;Bra if overflow ASLD ;x2 BCS L7A70 ;Bra if overflow PSHA ;Push to stack ; ;-Get default MAP bias ; LDAA L0062 ;RPM/25 LSRA ;/2 for lookup LDX #L4E60 ;Default MAP bias vs. RPM LDAB #16 ;800 RPM offset JSR LF137 ;2D lookup with UL ; PULB ; ABA ;Add in the bias BCS L7A70 ;Bra if overflow ; ;-Default MAP = (TPS x default MAP coeff.)/64 + default MAP bias ; CMPA L4E5E ;Upper limit for default MAP BLS L7A73 ;Bra if less, use calculated default MAP ; ;-Here to load default MAP if overflow from prev. ops./not running ; L7A70 LDAA L4E5E ;90.8 Kpa default MAP, if not running/overflow from default MAP calc. ; L7A73 LDAB L4139 ;Transient MAP filter coeff BRSET L0047,#$01,L7A7D ;Bra if b0==1, load transient MAP filter coeff. ; LDAB L4138 ;Load standard MAP filter coeff L7A7D LDX L01E6 ;Load old filtered MAP JSR LF0F6 ;Lag filter routine STD L01E6 ;Save filtered MAP ASLB ;Shift LSB left ADCA #$0 ;Round if LSB >= 128 STAA L01E9 ;Save it, current MAP ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Read in force motor current ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; SEI ;Disable interrupts LDAA #$07 ;0000 0111, 4 consec. reads of channel 7 STAA L3030 ;A/D control reg. (ADCTL) ; ; ; LDX #L3000 ;Base CPU reg. addr. L7A95 BRCLR $30,X,#$80,L7A95 ;ADCTL, bra if b7==0, A/D conversion not done yet ; ;-A/D conversion complete, average readings ; CLRA ;Preclear A LDAB L3031 ;A/D result reg. 1, first A/D read ADDB L3032 ;Add in second result from A/D read ADCA #$00 ;Perform carry if needed ADDB L3033 ;Add in third result ADCA #$00 ;Carry if needed ADDB L3034 ;Add in fourth result ADCA #$00 ;Carry if needed LSRD ;/2 LSRD ;/2 ADCB #$00 ;Round up if needed STAB L0148 ;Save it, average of four reads JSR LEEE2 ;Read in TPS, MAP, and O2 A/D vals. ; CLI ;Enable interrupts JSR L7CF6 ;Force motor control routine ; SEI ;Disable interrupts LDD L3FFA ;CPU status STD L0073 ;Save it CLI ;Re-enable interrupts BITA #$04 ;Test b2, BEQ L7AD4 ;Bra if b2==0, No VSS pulses ; LDD L3FC4 ;VSS counter CPD L080D ;Stored VSS counter val. from previous pass BEQ L7AD4 ;Bra if no change ; INC L080C ;+1, VSS pulse ocured STD L080D ;Save VSS counter L7AD4 LDAB L0146 ;Force motor DC LDAA #$06 ; STD L3068 ;Output to hardware ; JSR L7E04 ;Brake switch handling routine ; LDAA L0002 ;Loop counter INCA ;+1 CMPA #160 ;1 second BNE L7B00 ;Bra if !=, continue ; ;-Here to increment engine run time ; LDAB L0043 ; EORB #$20 ;Toggle b5, STAB L0043 ;Save it BRCLR L004F,#$80,L7AFF ;Status word, bra if b7==0, engine not running ; LDX L00F8 ;Load engine run time INX ;+1 BEQ L7AF7 ;Bra if roll-over STX L00F8 ;Engine run time L7AF7 CPX L4953 ;Min run time to clear hot restart BCS L7AFF ;Bra if run time < ; ;-Clear hot restart status ; BCLR L0004,#$10 ;Status word, clear b4, hot restart in effect L7AFF CLRA ;Preclear A ; ;-Here if 1 sec has not yet passed ; L7B00 STAA L0002 ;Loop counter SEI ;Disable interrupts LDAA L003B ;Serial data status word ANDA #$FB ;Clear b2, diagnostics disabled BRSET L0051,#$08,L7B0F ;Bra if shutdown in effect, disable diagnostics ; BITA #$18 ;Test b3=in mode 4, b4=in mode 4 BEQ L7B11 ;Bra if ==0, dont disable diag. ; L7B0F ORAA #$04 ;Set b2, disable diagnostics ; L7B11 STAA L003B ;Save serial data status word CLI ;Re-enable interrupts ; BRCLR L001A,#$20,L7B2D ;Bra if b5==0, No err 51 set, faulty prom ; ;-Err. 51, faulty prom set ; BRCLR L0002,#$01,L7B7C ;Loop counter, bra if b1==0, run every other pass ; BSET L0043,#$80 ;Set b7, JSR LAD0C ;RPM calc. routine ; ;-Do COP ; LDD #$AA55 ;1010 1010 0101 0101 STAA L303A ;COP STAB L303A ;COP BRA L7B7C ;Bra ; ;-No err 51 set. ; L7B2D BRSET L0002,#$01,L7B51 ;Loop counter, bra if b0 set, run every other pass ; ;~~~~~~~~~~~~~~~~~~~~~ ; First 80 Hz cluster ;~~~~~~~~~~~~~~~~~~~~~ ; JSR L924A ;I/O control routine ; JSR LA53C ;Spark minor loop ; JSR LD075 ;EGR pos. read in routine ; JSR LD11D ;EGR pos. PID control routine ; JSR LF285 ;(???) ; ;-Alternate passes for each set of loops ; BRCLR L0002,#$02,L7B49 ;Loop counter, bra if b1==0, run second cluster ; ;~~~~~~~~~~~~~~~~~~~~~ ; First 20 Hz cluster ;~~~~~~~~~~~~~~~~~~~~~ ; JSR LB773 ; ; BRA L7B7C ; ;~~~~~~~~~~~~~~~~~~~~~~ ; Second 20 Hz cluster ;~~~~~~~~~~~~~~~~~~~~~~ ; L7B49 JSR LCF65 7B4C: JSR LAF40 7B4F: BRA L7B7C ; ;~~~~~~~~~~~~~~~~~~~~~~ ; Second 80 Hz cluster ;~~~~~~~~~~~~~~~~~~~~~~ ; ; 7B51: L7B51 JSR L7E2E 7B54: JSR LCC05 ; ; CK SDMW, SERIAL DATA MD WORD STATUS ; CK FOR ENG CONTROLLER MODE ; 7B57: BRCLR L003B,#$10,L7B6A ; BR IF NOT b4, IN MODE 4, ($F4) ; ... else 7B5B: LDAA L0393 7B5E: BITA #$80 7B60: BEQ L7B6A ; ... else ;----------------------------- ; MINOR LOOP MODE WD ; b2 1 = SKIP ERR 43 DUE TO ALDL ;----------------------------- 7B62: BSET L0044,#$04 ; SET b2 7B65: BSET L0043,#$80 7B68: BRA L7B6D 7B6A: L7B6A JSR LF081 7B6D: L7B6D BRCLR L0002,#$02,L7B79 ; MJR LOOP SEGMENT COUNT 7B71: JSR L94B3 7B74: JSR LC307 7B77: BRA L7B7C 7B79: L7B79 JSR LB3B5 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Execute Real Time Subroutines ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L7B7C LDAB L0002 ;Loop counter ANDB #$0F ;Clear all but lower 4 bits LDX #L7BEA ;Addr. of RTS table ASLB ;x2 for double byte values ABX ;Add in as offset LDX 0,X ;Load RTS addr. JSR 0,X ;Go run the routine ; 7B89: BCLR L004F,#$04 ; CLR b2, LOOP OVERRAN 6,25 MS PERIOD 7B8C: BRCLR L0082,#$40,L7BA9 ; BR IF NOT b6, ???? ; ... else 7B90: LDAB L0002 ; MJR LOOP SEGMENT COUNT 7B92: ANDB #$0F ; 7B94: ASLB ; 7B95: LDX #$02F6 ; 7B98: ABX ; ; ; SET TOC 3 VALUE ; 7B99: LDD L300E ; 16 BIT FREE RUN CPU CNT'R 7B9C: SUBD L301A ; TOC 3 7B9F: ADDD #$0333 ; 819d 7BA2: CPD 0,X ; 7BA5: BLS L7BA9 ; ; ... else 7BA7: STD 0,X ; 7BA9: L7BA9 LDX L02BE ; 7BAC: L7BAC CPX #$0400 ; 1024d 7BAF: BNE L7BB7 ; ; ... else 7BB1: LDX #$0800 ; 2048d 7BB4: STX L02BE ; 7BB7: L7BB7 CPX #$0900 ; 2304d 7BBA: BEQ L7BE6 ; ; ... else 7BBC: SEI 7BBD: LDD 0,X 7BBF: STD 0,X 7BC1: LDD $02,X 7BC3: STD $02,X 7BC5: LDD $04,X 7BC7: STD $04,X 7BC9: LDD $06,X 7BCB: STD $06,X 7BCD: LDD $08,X 7BCF: STD $08,X 7BD1: LDD $0A,X 7BD3: STD $0A,X 7BD5: LDD $0C,X 7BD7: STD $0C,X 7BD9: LDD $0E,X 7BDB: STD $0E,X 7BDD: LDAB #$10 7BDF: ABX 7BE0: STX L02BE 7BE3: CLI 7BE4: BRA L7BAC ;---------------------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Here to wait for interrupt ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L7BE6 CLI ;Clear interrupt bit, enable interrupts WAI ;Wait for interrupts BRA L7BE6 ;Loop ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Real Time Subroutine table ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Addr. ;RTS # ; L7BEA FDB L7C0B ; 0 FDB L7C12 ; 1 FDB L7C1C ; 2 FDB L7C22 ; 3 FDB L7C35 ; 4 FDB L7C6B ; 5 FDB L7C7C ; 6 FDB L7C83 ; 7 FDB L7C9C ; 8 FDB L7CA0 ; 9 FDB L7CAA ;10 FDB L7CAE ;11 FDB L7CBE ;12 FDB L7CC2 ;13 FDB L7CCC ;14 FDB L7CDD ;15 ; L7C0A RTS ; ; ;~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Real time subroutine #0 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~ ; L7C0B JSR LC3BA ;A/D leadin to retrieve FP volts JSR LCD23 ;(???) RTS ;Return ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Real time subroutine #1 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~ ; L7C12 JSR LC3CE ;MAP/Baro handling JSR LC4B3 ;Trans baro handling JSR LAE65 ;Non CC trans TCC handling RTS ;Return ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Real time subroutine #2 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~ ; L7C1C SEI ;Disable interrupts JSR LEEAA ;Lead-in for A/D routine, multi channel read CLI ;Enable interrupts RTS ;Return ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Real time subroutine #3 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~ ; L7C22 JSR LF26C ; JSR LD425 ; ; ; CK DIG I/O MD WD ; LDX #$400F ; MODE WD, DIG I/O BRCLR 0,X,#$C0,L7C31 ; BR IF NOT b6 & b7 ; b7 1 = MAN, (0 = TCC) BRA L7C34 ; ; L7C31 JSR LC32A ; ; L7C34 RTS ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7C35: JSR LC6D1 ; ; 7C38: BRCLR L0002,#$10,L7C4A ; BR OF NOT b4, MJR LOOP SEGMENT COUNT ; ... else 7C3C: JSR LE860 ; 7C3F: JSR LE893 ; 7C42: JSR LC6F6 ; 7C45: JSR LC71D ; 7C48: BRA L7C59 7C4A: L7C4A JSR LE50E ; ; 7C4D: JSR LE542 ; ; 7C50: JSR LC78A ; ; 7C53: JSR LC7E0 ; ; 7C56: JSR LC805 ; ; 7C59: L7C59 BCLR L006F,#$24 ; ; ; CURRENT ERR MD 1 ; $F5 ; 7C5C: BRCLR L0016,#$01,L7C63 ; BR IF N0T b0, ERR 21, TPS SENSOR HIGH ; ... else 7C60: BSET L006F,#$04 ; SET b2 ; ; ; CURRENT ERR WD 2 ; $F5 ; 7C63: L7C63 BRCLR L0017,#$80,L7C6A ; BR IF NOT b7, ERR 22, LOW TPS ; ... else 7C67: BSET L006F,#$20 ; SET b5 ; 7C6A: L7C6A RTS 7C6B: JSR LD2D7 7C6E: JSR LD399 ; VARI TUNR ROUTINE ; ; CK DIG I/O MD WD ; 7C71: LDX #$400F ; MODE WD, DIG I/O 7C74: BRSET 0,X,#$40,L7C7B ; BR IF b6, TCC (Non Elect xmish) ; ... else 7C78: JSR LC506 7C7B: L7C7B RTS 7C7C: JSR LC923 7C7F: JSR LCC1E 7C82: RTS ; ; CK DIG I/O MD WD ; 7C83: L7C83 LDX #$400F ; MODE WD, DIG I/O 7C86: BRCLR 0,X,#$C0,L7C8C ; BR IF NOT b6 & B7 ; b7 1 = MAN, (0 = TCC) ; b6 1 = TCC (Non Elect xmish) ; ... else 7C8A: BRA L7C8F 7C8C: L7C8C JSR LC32A 7C8F: L7C8F JSR LF279 7C92: JSR L9F7C 7C95: JSR LC879 7C98: JSR LAD62 7C9B: RTS 7C9C: JSR LCCC9 7C9F: RTS 7CA0: JSR LCE3D 7CA3: JSR LA386 7CA6: JSR LD414 7CA9: RTS 7CAA: JSR LD1D9 7CAD: RTS 7CAE: JSR LD425 ; ; CK DIG I/O MD WD ; 7CB1: LDX #$400F ; MODE WD, DIG I/O 7CB4: BRCLR 0,X,#$C0,L7CBA ; BR IF NOT b6 & b7 ; b7 1 = MAN, (0 = TCC) ; b6 1 = TCC (Non Elect xmish) ; ... else 7CB8: BRA L7CBD 7CBA: L7CBA JSR LC32A 7CBD: L7CBD RTS 7CBE: JSR LCA43 7CC1: RTS 7CC2: L7CC2 JSR LCACF 7CC5: JSR LD9BB 7CC8: JSR LDA49 7CCB: RTS 7CCC: LDX L02BE 7CCF: CPX #$0900 7CD2: BEQ L7CD9 ; ; NVMW, NON-VOL RAM MODE WD ; 7CD4: BSET L0004,#$04 ; SET b2, 7CD7: BRA L7CDC 7CD9: L7CD9 CLR L02BE 7CDC: L7CDC RTS ; ; CK DIG I/O MD WD ; 7CDD: LDX #$400F ; MODE WD, DIG I/O 7CE0: BRCLR 0,X,#$C0,L7CE6 ; b7 1 = MAN, (0 = TCC) ; b6 1 = TCC (Non Elect xmish) ; ... else 7CE4: BRA L7CE9 7CE6: L7CE6 JSR LC32A 7CE9: L7CE9 JSR LC30B 7CEC: JSR LE3ED 7CEF: JSR LE4B9 7CF2: JSR LE046 7CF5: RTS ;---------------------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L7CF6 BRSET L004C,#$20,L7D08 ; BR IF b5, I/O PORT D ; CLRA ;Perform clears CLRB ; STD L014A ; STAA L0146 ; STAA L0149 ; JMP L7D8B ; ; L7D08 LDAA L0149 ;previous delta Force Motor Current LDAB L014E ;previous deltaFMC multiplier vs trans. temp MUL ; TST L0149 ;Test previous deltaFMC value BPL L7D17 ;Bra if previous deltaFMC is positive ; SUBA L014E ;Subtract mult, now = -multipler x |previous deltaFMC val.| ; L7D17 PSHB ;Push to stack PSHA ; LDAA L0147 ;Desired force motor current CMPA #57 ;1113 mA BLS L7D22 ;Bra if <= ; LDAA #57 ;Load max ; L7D22 SUBA L0148 ;-A/D force motor current RORA ;Rotate right ROLA ;rotate left BVC L7D2D ;Bra if overflow clear ; ;-Clear invalid result ; LDAA #127 ;Load max deltaFMC ADCA #00 ; ; L7D2D CMPA #01 ;Delta = 1 BEQ L7D35 ;Bra if ==, clear deltaFMC ; CMPA #255 ;Delta = -1 BNE L7D36 ;Bra if !=, continue ; L7D35 CLRA ;Clear delta value ; L7D36 STAA L0149 ;Save it, deltaFMC = (DFMC - ADFMC) LDAB L014D ;multiplier vs. trans temp MUL ;multiplier x delta TST L0149 ; BPL L7D45 ;Bra if result was positive ; SUBA L014D ;Subtract mult, now = -multipler x |delta val.| ; L7D45 TSX ;Get stack pointer into X SUBD 0,X ;subtract previous result, D = multipler x deltaFMC - previous delta multipler... ; ; x previous deltaFMC BVC L7D51 ;Bra if oveflow clear ; ;-Clear invalid result ; LDD #$8000 ; SBCB #00 ; SBCA #00 ; ; L7D51 ASRA ; RORB ;/2 ASRA ; RORB ;/2 ADCB #00 ;Round if needed ADCA #00 ; PULX ;Clean up the stack TSTA ; BMI L7D6B ;Bra if negative result ; ;-Positive result ; ADDD L014A ; CPD #$0E00 ; 3584d BLS L7D79 ; LDD #$0E00 ; 3584d BRA L7D79 ; L7D6B ADDD L014A ; BCC L7D76 ; ; CPD #$0000 ; BCC L7D79 ; L7D76 LDD #$0000 ; L7D79 STD L014A ; ; L7D7C LDX #$0E00 ; 3584d FDIV ; XGDX ; ADDD #128 ; BCC L7D88 ; ; LDAA #255 ;Max force motor DC ; L7D88 STAA L0146 ;Force motor DC ; ; ; L7D8B BRSET L008A,#$80,L7DC6 ; BR IF b7 ; BRSET L0082,#$01,L7DC6 ; BR IF b0, 1 = REIVE OR REV GEAR ; LDD L014A ; CPD #$0E00 ; 3584d BNE L7DC6 ; ; LDAA L00F6 ; FORCE MTR SHORT DETECT TIMER INCA ; INCRFORCE MTR SHORT DETECT TIMER CMPA L6925 ; 0.5 SEC FOR SHORT DETECT (FORCE MTR) BLS L7DC4 ; ; CLR L00F6 ; FORCE MTR SHORT DETECT TIMER LDAA L6927 ; 11.4 VDC, HI VDC THRESH AT 152 DEG C (short detect SUBA L6926 ; 7.3 VDC LO VDC THRESH AT -40 Deg c (short detect) LDAB L00AF ; XMISH TEMP MUL ; ADDD #128 ; ADDA L6926 ; 7.3 VDC LO VDC THRESH AT -40 Deg c CMPA L00A1 ; BATTERY A/D BLS L7DBF ; BR IF ; BSET L0082,#$01 ; SET b0, 1 = REIVE OR REV GEAR ; BRA L7DC6 ; L7DBF BSET L008A,#$80 ; SET b7 ; BRA L7DC6 ; ; STAA L00F6 ; FORCE MTR SHORT DETECT TIMER L7DC6 BRSET L008A,#$80,L7DDA ; BR IF b7 ; BRSET L0082,#$01,L7DDA ; BR IF b0, 1 = REIVE OR REV GEAR ; LDD L014A ; CPD #$0E00 ; 3584d BCC L7DDA ; ; CLR L00F6 ; FORCE MTR SHORT DETECT TIMER ; L7DDA BRCLR L0082,#$01,L7E03 ; BR IF NOT b0, 1 = REIVE OR REV GEAR ; LDAA L6929 ; 11.9 VDC HI VDC THRESH AT 152 Deg c SUBA L6928 ; 7.8 VDC HI VDC THRESH AT -40 Deg c LDAB L00AF ; XMISH TEMP MUL ; ADDD #128 ; ADDA L6928 ; 7.8 VDC HI VDC THRESH AT -40 Deg c CMPA L00A1 ; BATTERY A/D BCC L7E03 ; BR IF BATTERY LT THRESH ; LDAA L00F6 ; FORCE MTR SHORT DETECT TIMER INCA ; CMPA L6925 ; 0.5 SEC FOR SHORT DETECT (FORCE MTR) BLS L7E01 ; ; CLR L00F6 ; FORCE MTR SHORT DETECT TIMER BCLR L0082,#$01 ; CLR b0, 1 = REIVE OR REV GEAR BRA L7E03 ; ; L7E01 STAA L00F6 ; FORCE MTR SHORT DETECT TIMER ; L7E03 RTS ;Return ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Brake status routine ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;-L004D, 1=brakes not applied, 0=brakes applied ; L7E04 BRCLR L004D,#$02,L7E0E ;Port C I/O word, bra if brake switch on ; ;-Brakes not applied here ; BRSET L0096,#$01,L7E17 ;Status word, bra if brakes where previously applied ; BRA L7E12 ;Bra, no change in state ; ;-Brakes applied here ; L7E0E BRCLR L0096,#$01,L7E17 ;Status word, bra if brakes whre previously not applied ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-No change in state, clear timer and return ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L7E12 CLR L00F5 ;Clear brake status min change state timer BRA L7E2D ;Bra to return ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Change in state, update if state remains the same for long enough ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L7E17 LDAB L00F5 ;Brake status min change state timer CMPB L5D04 ;Min time to change state BCC L7E23 ;Bra if >= ; INCB ;+1 STAB L00F5 ;Save it, brake status min change state timer BRA L7E2D ;Bra to return ; ;-Here to update ; L7E23 BCLR L0096,#$01 ;Status word, preclear b1, brake status bit BRSET L004D,#$02,L7E2D ;Port C I/O word, bra if brakes not applied ; BSET L0096,#$01 ;Status word, set b0, brakes applied ; L7E2D RTS ;Return ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;~~~~~~~~~~~~~~~~ ; ; Main fuel loop ; ;~~~~~~~~~~~~~~~~ ; L7E2E LDX L02A1 ;Shutdown timer BRCLR L0044,#$10,L7E73 ;Status word, bra if b4==0, not shutting down ; ;~~~~~~~~~~~~~~~~~~~~ ; Shutting down here ;~~~~~~~~~~~~~~~~~~~~ ; CPX #$0008 ; BCS L7E90 ; ; BCLR L0004,#$83 ;Status word, clear b7, EST error, ;b1, Closed loop timer, and ;b0, O2 sensor ready BCLR L0019,#$40 ;Clear b6. error 41, 1x cam sens. CLR b6, ERR 41, 1x CAM SENSOR BCLR L0019,#$20 ;Clear b5, Err 42, EST CLRA ; CLRB ; STD L00F8 ;Clear engine run time STD L026F ;Clear (???) STAA L0062 ;Clear rpm/25 STAA L02F0 ;Clear DRP counter STAA L02F1 ;Clear DRP counts STAA L028B ;Clear elapsed DRP BSET L0051,#$08 ;Status word, set b3, shutdown in effect BCLR L0082,#$08 ;Status word, clear b3, ignition is off BCLR L004F,#$80 ;Status word, clear b7, engine running flag BCLR L004F,#$10 ;Clear b4, engine off ; BCLR L0004,#$08 ;Status word, clear b3, bad shutdown CPX L4009 ;Timer threshold for shutdown BCS L7E90 ;Bra if less, not shutting down yet ; ;-Momentarily shut down the MCU ; LDD #$5008 ;0101 0000 0000 1000 ;CCR: Allow stops, mask XIRQ, disable interrupts, ;and set carry bit ;Opt. reg: Enable clock monitor STAB L3039 ;Save B to option reg. TAP :Load cond. code reg. from A STOP ;Stop MCU clocks L7E71 BRA L7E71 ;Loop here if stop not allowed ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Here if not shutting down ;~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L7E73 BRCLR L0051,#$08,L7E8A ;Status word, bra if b3==0, not shutting down ; ; ... else BCLR L0051,#$08 ;Clear b3, not shutting down yet BCLR L0046,#$80 ;Status word, clear b7, have been in closed lp once ;since startup BCLR L0044,#$08 ;Status word, clear b3, first valid DRP recieved BCLR L003E,#$08 ;Status word, clear b3, A/F decay int done for cold P/D ; CLRA ; STAA L0246 ;Clear error 32 timer STAA L02A0 ;Clear cold P/N timer ; L7E8A BSET L0082,#$08 ;Status word, set b3, ingition is on LDX #$FFFF ;Clear engine shutdown timer ; L7E90 INX ;+1 STX L02A1 ;Save it shutdown timer ; ;-Service COP ; LDAA #$55 ;0101 0101 STAA L303A ;COP reset reg. LDAA L0041 ;Status word ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Check quals for transient MAP ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ANDA #$10 ;Clear all but b4, A/C on/off flag TST L400F ;Opt. byte BMI L7EA7 ;Bra if b7==1, manual trans in use ; ;-Here if TCC in use ; LDAB L0085 ;Status word ANDB #$20 ;Clear all but b5, TCC commanded to lock flag ABA ;Add it into A ; ;-Here if manual tran in use ; L7EA7 LDAB L0047 ;Status word ANDB #$FE ;Mask all but b0 CBA ;Compare A + B BNE L7ECA ;Bra if !=, change in status ; ;-No changes in A/C, TCC status here ; LDAB L0063 ;Load RPM/12.5 SUBB L0065 ;RPM/12.5, one delayed BCC L7EB5 ;Bra if RPMs rising ; ;-RPMs falling here ; NEGB ;Get abs. value of delta RPMs ; L7EB5 CMPB L413B ;Delta RPM theshold for transient MAP BHI L7ECA ;Bra if delta RPMs greater ; BRCLR L0050,#$80,L7ECA ;Status word, bra if b7==0, not idling ; BRCLR L003E,#$A0,L7ECA ;Status word, bra if b5, b7==0 ;not in closed loop, no open loop idle condition ; LDAB L01E8 ;Load transient MAP apply timer BEQ L7ED2 ;Bra if ==0, no transient MAP ; ;-Here to apply transient MAP for time specified ; DECB ;-1, BRA L7ECD ;Bra to save and set flag ; ;-Here to apply transient MAP ; L7ECA LDAB L413A ;Transient MAP apply timer val. ; L7ECD STAB L01E8 ;Save it, transient MAP apply timer ORAA #$01 ;Set b0, do transient MAP ; ;-Here for no transient MAP ; L7ED2 STAA L0047 ;Save it, status word LDAA L01FC ;Load %TPS ; STAA L01FD ;%TPS, one delayed JSR LB270 ;Engine TPS routine ; BRSET L0092,#$01,L7EE6 ;Status word, bra if b0==1, trans TPS error ; STAA L01FC ;Save it, %TPS BRA L7EEC ;Bra to continue ; ;-Here if TPS fault ; L7EE6 LDAA L5B23 ;Default TPS if error STAA L01FC ;Save it, %TPS ; ;~~~~~~~~~~~~~~~ ; Filter the O2 ;~~~~~~~~~~~~~~~ ; L7EEC LDAB L48B3 ;Slow O2 idle filter coeff. BRSET L0050,#$80,L7EFD ;Status word, bra if b7==0, idling ; ;-Not idling here, load slow filter coeff. ; LDAA L029E ;Airflow, gms/sec LDX #L4CFB ;Slow O2 filter coeff. vs airflow table JSR LF15E ;2D lookup ; TAB ;O2 filter coeff. to B ; ;-Check lower O2 limit for filtering ; L7EFD LDAA L48B1 ;Lower O2 limit for slow filtering CMPA L01F8 ;O2 A/D volts BHI L7F10 ;Bra if O2 < ; ;-Check upper O2 limit for filtering ; LDAA L48B2 ;Upper O2 limit for slow filtering CMPA L01F8 ;O2 A/D volts BCS L7F10 ;Bra if O2 > ; ;-Load O2 volts ; LDAA L01F8 ;O2 A/D volts ; ;-Here to limit slow O2 ; L7F10 LDX L01F5 ;Slow filtered O2 JSR LF0F6 ;Lag filter routine ; STD L01F5 ;Save it, slow filtered O2 LDAA L400F ;Opt. byte ANDA #$01 ;Clear all but b0, governor opt. BEQ L7F23 ;Bra if ==0, no governor present ; ;-Here if using governor ; JSR L91B6 ;Governor actuator subroutine ; ;-Calculate actual kPa x 256 from A/D map ; L7F23 LDAB L01E9 ;A/D MAP CLRA ; LDX #0694 ;256 x .369 FDIV ;Fractional Div XGDX ;Get result into D ADDD #2649 ;+2649, 256 x 10.34 STD L027A ;MAP value, kPa x 256 ; BRSET L004F,#$10,L7F89 ;Status word, bra if b4==1, engine running ; ;~~~~~~~~~~~~~~~~~ ; Engine off here ;~~~~~~~~~~~~~~~~~ ; JSR LAF17 ;VATS routine ; CLRB ; LDAA L01E3 ;SD MAP STD L01EA ;SD MAP, filtered per cool temp ; LDAA L01FC ;TPS STD L0201 ;(???) STD L01FF ;TPS, filtered based on cool temp ; JSR L8695 ;Crank fuel lookup routine ; ASLD ;BPW x2 BCC L7F52 ;Bra if no overflow LDD #$FFFF ;Clear overflow ; L7F52 STD L02F2 ;Save it, cranking PW JSR LC3BA ;FP volts A/D lead-in ; ;-Look up BPW correction vs. fuel pump volts ; LDAA L0055 ;Load fuel pump volts LDX #L497E ;BPW mult. vs fuel pump volts JSR LF15E ;2D lookup ; LDX #L02F2 ;Cranking PW JSR LF1ED ;(A x X*)/256 ; ; STD L02F2 ;Save it, cranking PW ; ;-Check and perform crank fueling delay per DRPs ; LDX #L400C ;Option byte BRSET 0,X,#$04,L7F7D ;Bra if b2==1, no DRP adjustments to crank fueling ; LDAA L0006 ;Cool temp, linear LDX #L4DC3 ;Crank fueling delay vs. cool temp table JSR LF15E ;2D lookup ; CMPA L02F0 ;Compare to DRP counter BLS L7F80 ;Bra if <= to DRP counter ; ;-Here if not enough DRPs for crank fueling yet ; L7F7D JMP L860F ;Skip save ; ;-Enough DRPs for crank fueling here ; L7F80 LDD L02F2 ;Crank PW JSR L78D4 ;Crank PW correction routine ; JMP L85D8 ;Go save and continue ; ;~~~~~~~~~~~~~~~~~~~~~ ; Engine running here ;~~~~~~~~~~~~~~~~~~~~~ ; L7F89 JSR LAF17 ;VATS routine ; ;-Check for VATS fail ; BRSET L003D,#$02,L7F95 ;Status word, bra if b1==1, VATS passed ; ;-Here if VATS failed ; CLRA ;Clear PW CLRB ; JMP L85D8 ;Bra to save and continue ; L7F95 CLRB ; LDAA L01E3 ;SD MAP SUBD L01EA ;SD MAP, filtered per cool temp BLS L7FFA ;Bra if MAP falling, no MAP AE ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; MAP rising, see about accel enrich ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ADDD #128 ;Round up STAA L01ED ;Save it, delta MAP for AE ; ;-Check quals for MAP AE ; LDAB L48B6 ;delta MAP threshold for AE if idling BRSET L0050,#$80,L7FAE ;Status word, bra if b7==1, iding ; LDAB L48B5 ;Delta MAP threshold for AE ; ;-Double delta MAP threshold if TPS high enough ; L7FAE LDAA L01FC ;TPS CMPA L48B7 ;TPS threshold to double delta MAP threshold ; BHI L7FBB ;Bra if TPS > ; ASLB ;Delta MAP threshold x2 BCC L7FBB ;Bra if no overflow ; LDAB #255 ;Clear overflow ; L7FBB LDAA L01ED ;Delta MAP for AE CBA ;Compare to threshold BLS L7FFD ;Bra if delta MAP AE is less ; ;~~~~~~~~~~~~~~~~~ ; Do delta MAP AE ;~~~~~~~~~~~~~~~~~ ; LDX #L4B3F ;MAP AE anyc PW vs delta MAP JSR LF153 ;2D lookup ; ;-Check if enough TPS to double MAP AE ; LDAB L01FC ;%TPS CMPB L48B8 ;TPS threshold to double MAP AE BLS L7FD4 ;Bra if TPS <= ; ASLA ;AE x 2 BCC L7FD4 ;Bra if no overflow ; LDAA #255 ;Clear overflow ; ;-Perform RPM correction ; L7FD4 PSHA ;Push async AE to stack LDAA L0062 ;RPM/25 LDAB #16 ;400 RPM, lower limit for lookup LDX #L4B9A ;MAP AE JSR LF137 ;2D lookup with UL ; PULB ;Get async AE back MUL ;AE x RPM correction factor ASLD ;x2 BCC L7FE6 ;Bra if no overflow ; LDAA #255 ;Clear overflow ; ;-Perform temp correction ; L7FE6 LDAB L0260 ;AE temp correction mult. MUL ;AE x mult. LSRD ;/2 LSRD ;/2 LSRD ;/2 LSRD ;/2 LSRD ;/2, now AE mult divided by 32 TSTA ;Test MSB BEQ L7FF4 ;Bra if no overflow ; LDAB #255 ;Clear overflow ; L7FF4 TBA ;Get AE into A BSET L0005,#$80 ;Status word, set b7, MAP AE in effect BRA L8001 ; ;~~~~~~~~~~~~~~~~~~~ ; Here if no MAP AE ;~~~~~~~~~~~~~~~~~~~ ; L7FFA CLR L01ED ;Clear delta SD MAP for AE ; L7FFD CLRA ;clear MAP AE BCLR L0005,#$80 ;Clear b7, MAP AE no longer in effect ; ;-Here to continue with AE ; L8001 STAA L0261 ;Save it, MAP AE PW ; ;~~~~~~~~~~~~~~~~ ; Perform TPS AE ;~~~~~~~~~~~~~~~~ ; LDAA L01FC ;TPS SUBA L01FF ;AE TPS, filtered based on cool temp BLS L804F ;Bra if TPS is falling, no AE ; ;-TPS is rising ; TST L0200 ;Test LSB BPL L8014 ;Bra if < 128 ; DECA ;Round down BEQ L804F ;Bra if ==0, no TPS AE ; L8014 BRSET L0005,#$40,L801D ;Bra if TPS AE already in effect ; ;-Check quals for TPS AE ; CMPA L48B9 ;TPS threshold to double delta TPS BLS L804F ;Bra if TPS <=, no TPS AE ; L801D ASLA ;Delta TPS x2 BCC L8022 ;Bra if no overflow ; LDAA #255 ;Clear overflow ; ;-Look up AE ; L8022 LDX #L4B45 ;TPS AE vs delta TPS JSR LF15E ;2D lookup ; LDAB L02A7 ;MPH CMPB L48BB ;MPH threshold to apply multiplier BCC L803D ;Bra if MPH >= ; ;-Apply off-idle TPS AE multiplier ; LDAB L48BA ;TPS AE off-idle multiplier MUL ;AE x multiplier ADDD #64 ;round if needed ASLD ;x2, now /128 BCC L803D ;Vra if no overflow LDD #65525 ;Clear overflow ; L803D LDAB L0207 ;Delta TPS AE baro factor MUL ;Baro factor x AE ADDD #64 ;Round if needed ASLD ;x2. now /128 BCC L804A ;Bra if no overflow ; LDD #65525 ;Clear overflow ; L804A BSET L0005,#$40 ;Status word, set b6, TPS AE in effect BRA L8053 ;Bra to continue ; ;~~~~~~~~~~~~~~~~~~~ ; Here if no TPS AE ;~~~~~~~~~~~~~~~~~~~ ; L804F CLRA ;Clear AE BCLR L0005,#$40 ;Clear b6, TPS AE no longer in effect ; L8053 STAA L0262 ;Save it, TPS AE BRCLR L0002,#$02,L8069 ;Loop counter, bra if b1==0, no filtering this pass ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Here to filter TPS @ 40 Hz ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; LDAB L0208 ;AE TPS filtering coeff. LDAA L01FC ;TPS LDX L01FF ;AE TPS, filtered based on cool temp JSR LF0F6 ;Filter routine ; STD L01FF ;Save it, filtered TPS ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Construct needed fueling terms ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;-Scale SD MAP for lookup, 20-40 in 5 kPa incs., 40+ in 10 kPa incs. ; L8069 LDAB L01E3 ;SD MAP CMPB #64 ;40 kPa BLS L8075 ; ; LSRB ;Div. MAP by 2 ADCB #$00 ;Round if needed ADDB #32 ;Add in 40 kPa offset ; ;-Check TPS quals for idle VE ; L8075 LDAA L01FC ;TPS CMPA L48D0 ;TPS threshold for idling BCC L808B ;Bra if TPS >= ; ;-Check MPH quals for idle VE ; LDAA L02A7 ;MPH CMPA L48CE ;Upper MPH limit for idle VE table BCC L808B ;Bra if MPH >= ; ;-Check RPM limits for idle VE ; LDAA L0062 ;RPM/25 CMPA #72 ;1800 RPM BCS L8098 ;Bra if RPMs <=, use idle VE table ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Use open throttle VE table ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L808B LDAA L0062 ;RPM/25 LDX #L49CB ;Open throttle VE table BSET L004F,#$08 ;Status word, set b3, switch to open VE table JSR LF17B ;3D lookup ; BRA L80B8 ;Bra to continue ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Here to use idle VE table ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L8098 LDAA L0063 ;RPM/12.5 CMPA #144 ;1800 rpm, max val. for lookup BLS L80A0 ;Bra if RPMs <= ; LDAA #144 ;Load max ; L80A0 LDX #L4A7E ;Addr. of idle VE table JSR LF17B ;3D lookup BRCLR L004F,#$08,L80B8 ;Bra if b3==0, not previously using open throttle VE ; ;-Reset INT if needed ; LDAB L0232 ;Current INT CMPB L4905 ;Lower INT threshold to reset if switching tables BHI L80B5 ;Bra if INT >, no reset ; BSET L004F,#$20 ;Status word, set b5, reset INT on VE table change L80B5 BCLR L004F,#$08 ;Clear b3, switch to open VE table ; ;-Here if using open throttle VE table ; L80B8 STAA L0254 ;Save it, VE ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Calculate mass of air in cylinder ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; [kPa x 256] x [VE x 256] x [cyl. volume x 222] ; Mass of air term [g] = ------------------------------------------------ ; [air density x 45064] ; ; Note: kPa ref pressure incorperated into air density multiplier ; ; LDD L027A ;MAP kPa x 256 LDX L0259 ;Inv. air density val. FDIV ;kPa / Inv. air density val. PSHX ;Result to stack TSX ;Get current stack pointer LDAA L4D8A ;Cyl volume JSR LF1ED ;(A x X*)/256 ; PULX ;Get previous result back STD L025B ;Save it, max mass of air in cyl.term LDAA L0254 ;Load VE LDX #L025B ;Addr. of max. mass of air JSR LF1ED ;(A x X*)/256 ; STD L0257 ;Save it, mass of air in cyl. x 32768 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Calculate overall airflow ;~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; g/cyl x 32768 ; Airflow [g/s] = 256 x 2 x ---------------- x revs/sec x 4 ; 65536 ; ; ; LDX L020B ;Load DRP period IDIV ;Int. div., divide airflow by drp period PSHX ;Result to stack LDX L020B ;DRP period FDIV ;Fract. divide, resolve remainder XGDX ;Get result into D TAB ;Divide result by 256 PULA ;Get MSB of airflow TSTA ;Test MSB of result PULA ;Get LSB of result BNE L80ED ;Bra if MSB !=0, result out of range ; ASLD ;Result x 2, now gms/sec x 256 BCC L80F0 ;Bra if no overflow L80ED LDD #$FFFF ;Clear overflow ; L80F0 STD L0255 ;Save it, gms/sec x 256 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Divide mass air in cyl by AFR to get needed mass of fuel ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; g/cyl ; mass of fuel [g] = 209715 x ------- ; AFR ; LDX L0257 ;grams of air per cyl. x 32768 LDAA L026D ;AFR x 10 CLRB ;Clear LSB for divide XGDX ;Swap AFR and g/cyl. LSRD ;/2 LSRD ;/2 FDIV ;([g/cyl x 8192]/[AFR x 2560]) x 65536 XGDX ;Get result into D ; ;-Make mass fuel needed a time based PW ; LDX L4D88 ;Injector flowrate IDIV ;Int. divide, mass of fuel / mass flowrate PSHX ;Push result to stack LDX L4D88 ;Injector flowrate into X FDIV ;Fract. divide, resolve remainder XGDX ;Get result into D TAB ;/256 PULA ;MSB of idiv result TSTA ;Test MSB PULA ;Get LSB or result into A BEQ L8112 ;Bra if MSB ==0, result is within range ; LDD #65535 ;Clear out of range result ; ; grams of fuel/cyl ; BPW = 65536 x --------------------- ; flowrate of injector ; L8112 STD L0271 ;Save it, sync BPW ; ; ; ; UPDATE ADDYS FOR CODE BELOW ; ; ; ; ;-Adjust injector pw to compensate for EGR ; LDD L01D5 ;%EGR flow ADDD #128 ;Round if needed LDX #L0271 ;Sync BPW JSR LF1ED ;(A x X*)/256 ; LSRD ;/2 LSRD ;/2 STD L0275 ;Save it, EGR BPW correction ; LDD L0271 ;Sync BPW SUBD L0275 ;-EGR BPw correction STD L0271 ;Save it, sync BPW ; ;-Apply BLM ; LDAA L026B ;BLM BMI L8138 ;Bra if BLM >= 128, apply correction regardless ; ;-Check for PE operation ; BRSET L003D,#$20,L813B ;Status word, bra if b5==1, in PE ; L8138 JSR L81D1 ;Go add blm correction to the BPW ; ;-In PE here ; L813B BRSET L0016,#$10,L817F ;Error word #1, bra if b4==1, VSS error BR IF b4, ERR 16, Vss BUFFER ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Perform trans abuse test ;~~~~~~~~~~~~~~~~~~~~~~~~~~ ; LDX #L400F ;Opt. byte BRSET 0,X,#$80,L8156 ;Bra if b7==1, manual trans in use ; LDAA L514B ;Time to perform test in PE BRSET L0041,#$20,L8153 ;Status word, bra if b5==1, in P/N ; LDAA L084D ;Trans abuse test timer BEQ L817F ;Bra if ==0, skip test ; DECA ;-1 ; L8153 STAA L084D ;Trans abuse test timer ; L8156 LDAA L0812 ;MPH CMPA L514C ;Min MPH threshold for test BHI L817F ;Bra if VSS <, skip test ; LDAA L01FC ;TPS CMPA L514F ;Min TPS threshold for test BLS L817F ;Bra if TPS <=, skip test ; LDAA L514D ;RPM threshold to flag high rpms BRCLR L0053,#$08,L8170 ;Bra if b3==0, high rpm not yet flagged ; LDAA L514E ;RPM threshold to clear high rpm flag ; L8170 CMPA L0061 ;Scaled RPMs BCS L8179 ;Bra if RPMs > ; BCLR L0053,#$08 ;Clear b3, high RPM not present BY XMISH (ABUSE LOGIC) BRA L817F ;Bra to continue ; ;-Excessive RPMs present ; L8179 BSET L0053,#$08 ;Set b3, high RPMs flagged JMP L8300 ;Bra to decay out fuel ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Check and limit excessive engine RPMs/vehicle speed ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L817F LDX #L400F ;Opt. byte ; L8182 BRCLR 0,X,#$01,L818A ;Bra if b0==0, governor option not selected ; ;-Here if governor in use, use routine if errors ; BRCLR L006F,#$34,L81E9 ;Bra if b2, b4, b5==0 ; L818A LDX #L495D ;RPM limit to enter fuel cut-off LDY #L4961 ;MPH limit enter fuel cut-off ; BRCLR L0046,#$10,L8198 ;Status word, bra if b4==0, no fuel cut-off ; ;-Fuel cut-off in effect ; INX ;+1, RPM limit to exit fuel cut-off INY ;+1, MPH threshold to exit fuel cut-off ; L8198 BRSET L0016,#$10,L81A0 ;Err. word 31, bra if b4==1, VSS error ; BRCLR L0093,#$03,L81A2 ;Status word, bra if b0==0, no external errors, ;and b1==0, no shift error ; ;-Trans errors present ; L81A0 INX ;+1 INX ;+1, index alternate fuel cut-off threshold ; ;-Check for high RPMs and cut fuel ; L81A2 LDAB L0062 ;RPM/25 CMPB 0,X ;Threshold to cut fuel BHI L81C5 ;Bra if RPMs >, cut fuel ; ;-Check for high speed and cut fuel if needed ; LDAB L02A7 ;MPH CMPB 0,Y ;MPH threshold to cut fuel BLS L81E9 ;Bra if MPH <= ; ;-High speed present ; LDAB L0062 ;RPM/25 CMPB L495C ;RPM threshold to re-enable fuel BLS L81E9 ;Bra if RPMs <= ; LDAB L028D ;Fuel cut-off delay timer CMPB L495B ;Delay to cut fuel ; BCC L81C5 ;Bra if timer >= ; INCB ;+1 STAB L028D ;Fuel cut-off delay timer BRA L81EC ;Bra ; ;-High RPMs/speed present ; L81C5 BSET L0046,#$10 ;Status word, set b4, fuel cut-off in effect LDD #$0000 ; STD L0271 ;Clear sync BPW JMP L8300 ; ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Routine to apply BLM to BPW ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L81D1 PSHA ;BLM to stack LDD L0271 ;Sync BPW ASLD ;x2 BCC L81DB ;Bra if no overflow ; LDD #65535 ;Clear overflow ; L81DB STD L0271 ;Save it ; PULA ;Get BLM back ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Entrance point to add item to BPW ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L81DF LDX #L0271 ;Sync BPW JSR LF1ED ;(A x X*)/256 STD L0271 ;Sync BPW RTS ;Return ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;-Here to exit fuel cut-off ; L81E9 CLR L028D ;Clear fuel cut-off delay timer ; L81EC BCLR L0046,#$10 ;Status word, clear b4, bo fuel cut-off LDAA L087F ; Acell Enrich PW ADDER ; ;---------------------------------------------- ; NWAF1, A/F MODE WD 1 ; ; b0 1 = DECELL FUEL C/O TPS ACELL ENRICH ;---------------------------------------------- BRCLR L003E,#$01,L81FE ; BR IF NOT b0, DECELL FUEL C/O TPS ACEL ENRICH ; ... else 81F6: BCLR L003E,#$01 ; CLR b0, DECELL FUEL C/O TPS ACEL ENRICH ; 81F9: ADDA L48BC ; 6.1 MSEC BPW AE PW IF DECEL CUT OFF ; OFF'ED BY TPS INCREASE 81FC: BCS L8218 ; ; ... else 81FE: L81FE BRSET L0041,#$10,L8207 ; BR IF b4. A/C PRESSURE SW, (A/C ON) 8202: BCLR L0041,#$08 ; CLR b3, A/C ACCEL ENR ENABLED 8205: BRA L8213 8207: L8207 BRSET L0041,#$08,L8213 ; BR IF b3, A/C ACCEL ENR ENABLED ; ... else 820B: BSET L0041,#$08 ; CLR b3, A/C ACCEL ENR ENABLED ; 820E: ADDA L48BD ; 1.2 MSEC AE PW IF A/C OFF -> ON XISITION 8211: BCS L8218 ; ; 8213: L8213 ADDA L0262 ; ... else 8216: BCC L821A ; BR IF NO OVERFLOW ; ... else 8218: L8218 LDAA #255 ; FORCE MAX VALUE 821A: L821A BNE L8222 ; BR IF NZ 821C: BRSET L0005,#$80,L822F 8220: BRA L8247 8222: L8222 LDAB L025F 8225: MUL 8226: LSRD 8227: LSRD 8228: LSRD 8229: ADDD L025D ; ASYNC BPW 822C: STD L025D ; ASYNC BPW ;----------------------------- ; AFR MD WORD 0, $003D ; b6 1 = ACELL ENR IS ACTIVE ;----------------------------- 822F: L822F BRSET L003D,#$40,L8236 ; BR IF b6, ACELL ENR IS ACTIVE ; ... else 8233: BSET L006E,#$08 ; SET b3, ACELL ENR 1st TIME ;----------------------------- ; AFR MD WORD 0, $003D ; b7 1 = DELIVER ASYNC PULSE ; b6 1 = ACELL ENR IS ACTIVE ;----------------------------- 8236: L8236 BSET L003D,#$C0 ; SET b6 & b7 8239: BSET L006E,#$01 ; SET b0, EGR DIAG INT RESET 823C: BSET L0044,#$02 ; SET b1, ACELL ENR CLAMP ACTIVE 823F: LDAA L48C0 ; HOLD INT HI n SEC AFTER Acell Enr PW 8242: STAA L081D 8245: BRA L8258 8247: L8247 BCLR L003D,#$40 ; CLR b6, ACELL ENR IS ACTIVE ; 824A: LDAA L081D ; 824D: BEQ L8255 ; ; ... else 824F: DECA ; 8250: STAA L081D ; 8253: BRA L8258 8255: L8255 BCLR L0044,#$02 ; CLR b1, ACELL ENR CLAMP ACTIVE 8258: L8258 LDAA L0006 ; COOL 825A: CMPA L493A ; 55c Cool, MIN TEMP FOR DECEL FUEL CUT OFF 825D: BCC L8262 ; BR IF COOL GT THRESH ; ... else 825F: JMP L8330 8262: L8262 BRSET L0041,#$20,L82CA ; BR IF b5, PARK/NEUTRAL ; ... else 8266: LDAB L006F 8268: BITB #$24 826A: BNE L8284 826C: LDAB #32 ; ;---------------------------------------------- ; DECEL FUEL CUT OFF %TPS THRESH Vs. RPM ; ; TBL = %TPS * 2.56 ;---------------------------------------------- 826E: LDAA L0062 ; RPM/25 8270: LDX #$4C8A ; 8273: JSR LF137 ; 2d LK UP W/LMT ; 8276: CMPA L01FC ; %TPS 8279: BHI L8284 ; ; 827B: BRCLR L0046,#$08,L82E0 ; BR IF NOT b3, DECEL FUEL C/O ; ... else 827F: BSET L003E,#$01 ; SET b0, DECELL FUEL C/O TPS ACEL ENRICH 8282: BRA L82E0 8284: L8284 LDAA L0065 ; OLD RPM/12.5 8286: SUBA L0063 ; RPM/12.5 8288: BLS L828F ; BR IF ; ... else 828A: CMPA L493B ; DROP 3175 RPM TO DISABLE DECEL FUEL CUT OFF 828D: BHI L82CA ; ; ... else 828F: L828F LDAB L006F ; 8291: BITB #$48 ; 8293: BNE L82B8 ; ; ... else 8295: LDAA L01ED ; 8298: CMPA L493C ; 79.4 Kpa INCR TO DISABLE DECEL FUEL CUT OFF 829B: BHI L82CA ; ; ... else 829D: LDAA L01F2 ; ; ;------------------------------ ; AFR MD BYTE 4, ; ;------------------------------ 82A0: LDAB L400E ; MODE WD, 0000 0000 AFR 4 82A3: BITB #$02 ; b1, (1 = USE ALT CMAP Vs. ; .. MAP LD FOR FUEL CUR HYST PAIR) 82A5: BNE L82AA ; BR IF b1, ; ... else 82A7: LDAA L01E3 ; S/D MAP 82AA: L82AA CMPA L4933 ; 22.5 kpa MAX FOR DECEL FUEL CUT OFF 82AD: BCS L82B8 ; BR IF MAP LT 22.5 Kpa ; ... else 82AF: BRCLR L0046,#$08,L82E3 ; BR IF NOT b3, DECEL FUEL C/O ; ... else 82B3: CMPA L4934 ; 37.5 Kpa TO DISABLE DECEL FUEL CUT OFF 82B6: BCC L82E3 ; BR IF S/D MAP GT THRESH ; ... else 82B8: L82B8 LDAA L0266 ; ; 82BB: BRSET L0046,#$08,L82C6 ; BR IF b3, DECEL FUEL C/O ; ... else 82BF: ADDA L4930 ; 200 RPM DECEL FUEL CUT OFF HYS 82C2: BCC L82C6 82C4: LDAA #255 ; 6375 RPM 82C6: L82C6 CMPA L0062 ; RPM/25 82C8: BCS L82E8 ; BR IF RPM GT ; ... else 82CA: L82CA LDAA L0268 ; DECEL FUEL C/O EXIT TIMER 82CD: BEQ L82E0 ; BR IF .. = Z ; ... else 82CF: LDD L025D ; ASYNC BPW 82D2: ADDD L4935 ; 7.72 MSEC ASYNC BPW IF 82D5: BCC L82DA ; BR IF NOT OVERFLOW ; ... else 82D7: LDD #32767 ; MAX ASYNC BPW 82DA: L82DA STD L025D ; ASYNC BPW ;----------------------------- ; AFR MD WORD 0, ; b7 1 = DELIVER ASYNC PULSE ;----------------------------- 82DD: BSET L003D,#$80 ; SET b7 82E0: L82E0 CLR L0268 ; DECEL FUEL C/O EXIT TIMER 82E3: L82E3 LDAA L4937 82E6: BRA L8325 ; ; CURRENT ERR MD 1 ; $F5 ; 82E8: L82E8 BRSET L0016,#$10,L82FB ; BR IF b4, ERR 16, Vss BUFFER. ; ... else 82EC: LDAA L4931 ; 15 MPH MIN FOR DECEL FUEL CUT OFF 82EF: BRCLR L0046,#$08,L82F6 ; BR IF NOT b3, DECEL FUEL C/O ; ... else 82F3: LDAA L4932 ; 10 MPH TO DISABLE DECEL FUEL CUT OFF 82F6: L82F6 CMPA L02A7 ; Vss/1. (KPH = 1.61) 82F9: BHI L82CA ; BR IF Vss ; ... else 82FB: L82FB LDAA L0269 82FE: BNE L831E ; ; ... else L8300 BSET L0046,#$08 ; SET b3, DECEL FUEL C/O 8303: LDAA L4938 ; 400 Msec, MAX TIME AFTER EXIT TO DO L4935 BPW 8306: STAA L0268 ; DECEL FUEL C/O EXIT TIMER ;----------------------------- ; AFR MD WORD 0, ; b4 1 = DECEL ENLEAN IS ACTIVE ;----------------------------- 8309: BSET L003D,#$10 ; SET b4, DECEL ENLEAN IS ACTIVE 830C: LDAA L0267 ; DECEL ENLEANMENT TIMER 830F: SUBA L4939 ; 0.8%, CUT OFF MULT, ; (Decrement % per 12.5 msec LP) 8312: BCC L8315 ; BR IF TIMER NZ (OR 0) ; 8314: CLRA ; CLR DECEL ENLEANMENT TIMER 8315: L8315 STAA L0267 ; DECEL ENLEANMENT TIMER 8318: JSR L81DF ; 831B: JMP L83D0 ;---------------------------------------------- 831E: L831E LDAB L0002 ; MJR LOOP SEGMENT COUNT 8320: ANDB #$0E ; 0000 1110 8322: BNE L8325 ; ; 8324: DECA ; 8325: L8325 STAA L0269 ; ; 8328: LDAA L0268 ; DECEL FUEL C/O EXIT TIMER 832B: BEQ L8330 ; ; ... else 832D: DEC L0268 ; DECEL FUEL C/O EXIT TIMER ; 8330: L8330 BCLR L0046,#$08 ; CLR b3, DECEL FUEL C/O 8333: LDAA #255 ; USE MAX VALUE 8335: STAA L0267 ; DECEL ENLEANMENT TIMER 8338: LDD L0201 833B: ASLB 833C: ADCA #$0000 833E: BCC L8341 8340: DECA 8341: L8341 SUBA L01FC ; TPS 8344: BCC L8349 8346: JMP L83CA 8349: L8349 STAA L082B 834C: LDX #$400B ; MODE WD, 0000 1100 AF 834F: BRCLR 0,X,#$80,L8357 ; BR IF NOT b7, (DE-LATCH) ; ... else 8353: BRSET L0053,#$02,L8362 ; BR IF b1, DLATCH ACTIVE ; .. else 8357: L8357 LDAA L082B 835A: CMPA L492C ; NEG 4.7% DIFF TPS NEG ; ENABLE DECEL ENLEAN 835D: BLS L83CA 835F: BSET L0053,#$02 ; SET b1, DLATCH ACTIVE 8362: L8362 LDD L01EA ; OLD MAP 8365: ASLB 8366: ADCA #$0000 8368: BCC L836B 836A: DECA 836B: L836B SUBA L01E3 ; S/D MAP 836E: BCS L83CA ; ... else 8370: CMPA L492D ; NEG 3.8 Kpa DIFF NEG MAP ; ENABLE DECEL ENLEAN 8373: BLS L83CA ; ; ... else 8375: CMPA #160 8377: BLS L837B 8379: LDAA #160 837B: L837B LDX #$4B16 837E: JSR LF15E ; 2D LK UP 8381: TAB 8382: LDX #$4B21 8385: LDAA L082B 8388: JSR LF15E ; 2D LK UP 838B: ABA 838C: BCC L8390 838E: LDAA #$00FF 8390: L8390 LDAB L0265 8393: MUL 8394: ASLD 8395: BCS L839D 8397: ASLD 8398: BCS L839D 839A: ASLD 839B: BCC L839F 839D: L839D LDAA #255 839F: L839F LDAB L02A7 ; Vss/1. (KPH = 1.61) 83A2: CMPB L492F ; 6 MPH 83A5: BCC L83B4 ; BR IF Vss GT THRESH ; ... else 83A7: LDAB L492E ; FILT FACTOR DECELL 83AA: MUL 83AB: ADDD #$40 83AE: ASLD 83AF: BCC L83B4 83B1: LDD #$FFFF 83B4: L83B4 NEGA 83B5: BEQ L83CA ;----------------------------- ; AFR MD WORD 0, ; b4 1 = DECEL ENLEAN IS ACTIVE ;----------------------------- 83B7: BSET L003D,#$10 ; SET b4 83BA: PSHA 83BB: LDX #$025D ; ASYNC BPW 83BE: JSR LF1ED ; 8 x 16 Mult w/16b result rounded to upper 16b ; 83C1: STD L025D ; ASYNC BPW 83C4: PULA 83C5: JSR L81DF 83C8: BRA L83D0 ;----------------------------- ; AFR MD WORD 0, ; b4 1 = DECEL ENLEAN IS ACTIVE ;----------------------------- 83CA: L83CA BCLR L003D,#$10 ; CLR b4, 83CD: BCLR L0053,#$02 ; CLR b1, DLATCH ACTIVE 83D0: L83D0 LDAA L0067 83D2: CMPA L450C ; 1600 RPM 83D5: BCS L83EE 83D7: LDAA L01FC ; TPS 83DA: CMPA L48D1 ; 2%, TPS MAX FOR DERIV RPM CALC 83DD: BHI L83EE ; ... else 83DF: LDAA L02A7 ; Vss/1. (KPH = 1.61) 83E2: CMPA L48D2 ; 2 MPH MAX FOR DERIV RPM CALC 83E5: BHI L83EE ; ... else 83E7: LDAA L0006 ; COOL 83E9: CMPA L48D3 ; 75c MIN FOR DERIVI RPM CALC 83EC: BCC L83F4 ; BR IF COOL GT THRESH ; .... else 83EE: L83EE LDAA #128 ; USE MID VALUE 83F0: STAA L006C ; DRIVITIVE RPM/SPK/FUEL 83F2: BRA L8425 ; ;-Calc. transient RPM ratio ; L83F4 LDD L006A ;Filtered RPM/6.25 LSRD ;/2 LDX L0068 ;Filtered RPM/6.25 FDIV ;Fract. divide XGDX ;Get result into D ADDD #128 ;Round if needed BCC L8402 ;Bra if no overflow ; LDAA #255 ;Clear overflow ; ;-Transient rpms = 128 x ([delayed RPM/6.25]/[RPM/6.25]) ; L8402 STAA L006C ;Save it, transient RPM ratio CMPA L4510 ; 141d, LIMIT ADJ FM DRIVITIVE RPM/SPK/FUEL BCS L840E ; ; ... else LDAA L4510 ; 141d, LIMIT ADJ FM DRIVITIVE RPM/SPK/FUEL BRA L8416 840E: L840E CMPA L450F ; 116d, MIM ADJ FM DRIVITIVE RPM/SPK/FUEL 8411: BCC L8416 ; BR IF DRIVITIVE GT THRESH ; ... else 8413: LDAA L450F ; 116d, USE MIM ADJ FM DRIVITIVE RPM/SPK/FUEL 8416: L8416 LDX #$0271 ; ADDR OF SYNC BPW VALUE 8419: JSR LF1ED ; 8 x 16 Mult w/16b result rounded to upper 16b ; 841C: ASLD ; n * 2 841D: BCC L8422 ; ; ... else 841F: LDD #$FFFF ; 65,536, (1000 msec) 8422: L8422 STD L0271 ; SYNC BPW 8425: L8425 LDAA L01E9 ; CURRENT MAP VAL 8428: CMPA #216 ; 87.5 Kpa 842A: BLS L842E ; BR IF MAP GT THRESH ; ... else 842C: LDAA #216 ; 87.5 Kpa 842E: L842E LDAB #151 8430: MUL 8431: ADDD #145 8434: LDAB L01EF ; CURRENT BARO ;---------------------------------------------- ; BPW ALTITUDE FACTOR Vs. BARO & MAP ; 75 - 105 Kpa BARO ; ; MULT FACTOR * 128 ;---------------------------------------------- 8437: LDX #$49A0 ; LK UP BPW ALTITUDE FACTOR 843A: JSR LF17B ; 3d LOOK UP ; 843D: LDX #$0271 ; SYNC BPW 8440: JSR LF1ED ; 8 x 16 Mult w/16b result rounded to upper 16b 8443: ASLD ; x2 8444: BCC L8449 ; BR IF NO OVERFLOW ; .. else 8446: LDD #$FFFF ; 65,535, 8449: L8449 ASLD ; x2 844A: BCC L844F ; BR IF NO OVERFLOW ; .. else 844C: LDD #$FFFF ; 65,536, (1000 msec) 844F: L844F STD L0271 ; SYNC BPW ;---------------------------------------------- ; BPW MULT Vs. BATTERY ; ; FACTOR * 138 ;---------------------------------------------- 8452: LDAA L0055 ; FUEL PUMP VDC 8454: LDX #$497E ; BPW MULT TBL 8457: JSR LF15E ; 2D LK UP 845A: LDX #$0271 ; SYNC BPW 845D: JSR LF1ED ; 8 x 16 Mult w/16b result rounded to upper 16b ; 8460: STD L0271 ; SYNC BPW 8463: CLRA 8464: LDAB L0292 8467: BMI L8473 ; ... else 8469: ADDD L0271 ; SYNC BPW 846C: BCC L847F ; BR IF NO OVERFLOW ; ... else 846E: LDD #$FFFF ; USE AS MAX LMT 8471: BRA L847F 8473: L8473 NEGB 8474: SUBD L0271 ; SYNC BPW 8477: BCS L847B ; ... else 8479: CLRA 847A: CLRB 847B: L847B NEGA 847C: NEGB 847D: SBCA #$0000 847F: L847F STD L0271 ; SYNC BPW 8482: CLRA 8483: LDAB L0261 8486: ADDD L0271 ; SYNC BPW 8489: BCC L848E ; ... else 848B: LDD #$FFFF 848E: L848E STD L0271 ; SYNC BPW 8491: STD L0277 ; BPW ;----------------------------- ; MINOR LOOP MODE WD ; b4 1 = IGNITION OFF ;----------------------------- 8494: BRCLR L0044,#$10,L84A0 ; BR IF NOT b4. 8498: CLRA 8499: CLRB 849A: STD L0271 ; SYNC BPW 849D: JMP L859F 84A0: L84A0 LDX #$400B ; MODE WD, 0000 1100 AF 84A3: BRCLR 0,X,#$01,L84DE ; BR IF NOT B0, (CPI/PFI MODE) ; ... else BRCLR L0051,#$01,L84AD ; BR IF NOT b0 ; ... else 84AB: BRA L84D3 ;------------------------------------------ ;------------------------------------------ ; HERE IF CPI/PFI MODE ; ; ;------------------------------------------ L84AD SEI ;Disable interrupts LDAA L082A ;Period in double fire INCA ;+1 BEQ L84B7 ;Bra if roll-over ; ; ... else STAA L082A ; ; L84B7 CLI ; 84B8: LDY L0277 ; BPW 84BC: CPY L4922 ; SYNC to ASYNC IF BPL L.T. or ; E.Q 500 usec 84C0: BHI L84DC ; BR IF ; ... else 84C2: LDAA L082A ; PERIOD IN DBL FIRE 84C5: CMPA L496A ; MIN PERIOD IN DBL FIRE 84C8: BCS L84DC ; BR IF PERIOD LT THRESH, (EXIT) ; ... else 84CA: BSET L0051,#$01 ; SET b0 84CD: BSET L003F,#$10 ; SET b4, SYNC/ASYNC BPW FLAG ; 84D0: LDD L0271 ; SYNC BPW 84D3: L84D3 ASLD ; 84D4: BCC L84D9 ; ; ... else 84D6: LDD #$FFFF ; USE MAX 65536 84D9: L84D9 STD L0271 ; SYNC BPW 84DC: L84DC BRA L8555 ;---------------------------------------------- ;---------------------------------------------- ; HERE IF TBI ; ; ;---------------------------------------------- 84DE: L84DE LDX #$400B ; MODE WD, 0000 1100 AF 84E1: BRCLR 0,X,#$04,L84E9 ; BR IF NOT b2, (SYNC FUEL AT IDLE, TBI) ; ... else 84E5: BRSET L0050,#$80,L854C ; BR IF b7, IDLE FLAG ; ... else 84E9: L84E9 LDX #$4920 ; INDEX ASYNC/SYNC CALIB'S ; 84EC: BRSET L003E,#$10,L84F2 ; BR IF b4, ASYNC PULSE FLAG ; ... else 84F0: INX ; ADJ INDEX FOR SYNC to ASYNC CALIB 84F1: INX ; ; 84F2: L84F2 BSET L003E,#$10 ; SET b4, ASYNC PULSE FLAG ; 84F5: LDD 4,X ; GET MAP/RPM QUALS (SYNC or ASYNC) 84F7: LDX 0,X ; SW TRHESH PW CALIB (SYNC or ASYNC) 84F9: CPX L0271 ; SYNC BPW 84FC: BCC L8507 ; BR IF BPW ; ... else 84FE: CMPA L01E3 ; S/D MAP 8501: BCC L854C ; BR IF MAP LT THRESH (50/55 Kpa) ; .... else 8503: CMPB L0062 ; RPM/25 8505: BCC L854C ; BR IF RPM LT THRESH, (1200/1300 RPM) ; ... else 8507: L8507 CLRA ; 8508: CLRB ; 8509: STD L3FCE ; ; 850C: JSR LF08A ; VERY SHORT DELAY ; ; SYNC ROUTINE ; 850F: LDD L3FC0 ; RPM = ((65536 * 120)/8)/CAL 8512: ASLD ; N x 2 8513: BCC L8518 ; BR IF NO OVERFLOW ; ... else 8515: LDD #$FFFF 8518: L8518 XGDX 8519: LDD L0271 ; SYNC BPW 851C: FDIV 851D: LDD #$0050 8520: XGDX 8521: IDIV 8522: PSHX 8523: LDX #$0050 8526: FDIV 8527: XGDX 8528: PULX 8529: ADDD #$0080 852C: STAA L0281 852F: XGDX 8530: BCC L8535 8532: ADDD #$0001 ; 8535: L8535 STD L027F ; 8538: LDD L027D 853B: ADDD L0280 853E: STD L027D 8541: LDAA L027C ; BPW 8544: ADCA L027F 8547: STAA L027C 854A: BRA L8559 ; ; ASYNC ROUTINE ; 854C: L854C BCLR L003E,#$10 ; CLR b4, ASYNC PULSE FLAG 854F: LDX #$0000 8552: STX L027C ; BPW ;----------------------------- ; AFR MD WORD 0, ; b7 1 = DELIVER ASYNC PULSE ;----------------------------- 8555: L8555 BRCLR L003D,#$80,L859F ; BR IF NOT b7 ; ... else 8559: L8559 LDD L027C ; BPW 855C: ADDD L025D ; ASYNC BPW 855F: CPD L4928 ; 12 MSEC MAX ASYNC BPW 8563: BHI L8576 ; BR IF BPW GT THRESH ; ... else 8565: CPD L492A ; 500 Usec MIN ASYNC 8569: BLS L8599 ; BR IF ASYNC BPW LT THRESH ; ... else 856B: LDX #$0000 ; ZERO BPW'S 856E: STX L025D ; ASYNC BPW 8571: STX L027C ; BPW 8574: BRA L858C 8576: L8576 LDD L027C ; BPW 8579: SUBD L4928 ; 12 msec MAX ASYNC BPW 857C: BCC L8586 ; BR IF BPW GT 12 msec ; ... else 857E: ADDD L025D ; ASYNC BPW 8581: STD L025D ; ASYNC BPW ; 8584: CLRA ; ZERO OUT BPW 8585: CLRB ; 8586: L8586 STD L027C ; BPW ; 8589: LDD L4928 ; 12 msec MAX ASYNC BPW 858C: L858C SEI ; SECURE INTERUPTS 858D: JSR L862B 8590: CLI ;----------------------------- ; AFR MD WORD 0, ; b7 1 = DELIVER ASYNC PULSE ;----------------------------- 8591: BSET L003D,#$80 ; SET b7 8594: BCLR L0046,#$01 ; CLR b0, SYNC ACELL ENRIC 8597: BRA L859F 8599: L8599 BSET L0046,#$01 ; SET b0, SYNC ACELL ENRICH ;----------------------------- ; AFR MD WORD 0, ; b7 1 = DELIVER ASYNC PULSE ;----------------------------- 859C: BCLR L003D,#$80 ; CLR b7 859F: L859F LDD L0271 ; SYNC BPW ; 85A2: BRCLR L003E,#$10,L85AE ; BR IF NOT b4, ASYNC PULSE FLAG ; ... else 85A6: STD L026F ; 85A9: BCLR L003F,#$80 ; CLR b7, SHORT BPW FLAG ; 85AC: BRA L860F 85AE: L85AE BEQ L85D8 ; ; ... else 85B0: CPD #$0100 ; 85B4: BCC L85C9 ; ; ... else 85B6: TBA ; 85B7: LDAB #32 ; LOW BPW OFSET Vs. BPW ;-------------------------------------------------- ; LOW BPW OFSET vs BPW ; ; SELECTED BY L400E BIT 4, (NOT USED THIS BNKM) ; TBL = (MSEC + L4965) * 65.536 ;--------------------------------------------------- 85B9: LDX #$496F ; 2d LU 85BC: JSR LF15A ; OFFSET VALUE, (488 usec) ; 85BF: TAB ; Low BPW OFFSET 85C0: CLRA ; 85C1: ADDD L0271 ; SYNC BPW 85C4: SUBD L4967 ; 400 usec OFFSET BIAS FOR SMALL BPW 85C7: BCS L85D2 ; BR IF BPW LT 400 usec 85C9: L85C9 BCLR L003F,#$80 ; CLR b7, SHORT BPW FLAG 85CC: CPD L4963 ; 400 usec MIN SYNC BPW 85D0: BCC L85D8 ; BR IF SYNC PW GT 400 usec 85D2: L85D2 BSET L003F,#$80 ; SET b7, SHORT BPW FLAG ; ; SET MIN BPW VALUE ; 85D5: LDD L4965 ; 400 usec SYNC BP IF FINAL BPW LT CAL 85D8: L85D8 STD L026F ; SYNC BPW 85DB: BEQ L85EB ; BR IF BPW = 0 85DD: ADDB L0279 ; 85E0: ADCA #$00 ; 85E2: CPD #32767 ; MAX PW LMT, (500 msec)S 85E6: BCS L85EB ; 85E8: LDD #32767 ; USE MAX VAL, 32,767 85EB: L85EB STD L0273 ; TOC 5 VAL ;-------------------------------------------- ; AFR MD BYTE 1,0C 0000 1100 ; ; b7 1 = DE-LATCH ; b6 1 = MAT SENSOR ; b5 1 = 180 DEG OFFSET ; b4 1 = ASDF CRANK ; ; b3 1 = ACCEL ENRICH LMT OPTION ; b2 1 = SYNC FUEL AT IDLE (TBI) ; b1 1 = AIR MANAGE ; b0 1 = CPI/PFI MODE ;-------------------------------------------- 85EE: LDX #$400B ; MODE WD, 0000 1100 AF 85F1: BRSET 0,X,#$01,L85FA ; BR IF b0, (CPI/PFI MODE) 85F5: STD L3FCE ; HARDWARE 85F8: BRA L860F ; ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Here if in CPI/PFI mode, calc. time based delay for inj. firing ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Time based delay = 4 x (deg delay x DRP) / 256 ; ; L85FA LDAA L4969 ;Load deg delay from DRP to injector firing LDX #L005F ;Load DRP period JSR LF1ED ;8 x 16 multiply routine ; ;-Scale to sync with free running MCU counter ; ASLD ;x2 BCS L8609 ;Bra if overflow ; ASLD ;x2 BCC L860C ;Bra if overflow ; L8609 LDD #$FFFF ;Clear overflow ; L860C STD L081F ;Save it, time based delay for injector firing ; L860F BRSET L0002,#$02,L861B ; BR IF b1, MJR LOOP COUNT 8613: JSR L8720 8616: JSR LD3CA 8619: BRA L862A ;---------------------------------------------- 861B: L861B JSR L86F6 861E: BRCLR L0002,#$04,L8627 ; BR IF NOT b2 ; MJR LOOP SEGMENT COUNT 8622: JSR L8A01 8625: BRA L862A ;---------------------------------------------- 8627: L8627 JSR L8F97 862A: L862A RTS ;---------------------------------------------- ;--------------------------------------------- ; b4 1 = USE L4965 WITH ASYNC FUEL DELIVERY ; (LOW BPW OFSET vs BPW) ;-------------------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Routine to output inj. pulsewidth ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L862B LDX #L400E ;Opt. byte BRCLR 0,X,#$10,L864F ;Bra if b4==0, no added injector bias ; CPD #$0100 ;3907 usecs BCC L864F ;Bra if BPW >= ; ;-Here if BPW < 3907 usecs, look up BPW inj. offset ; PSHB ;Push BPW to stack PSHA ; TBA ;Get LSB into A for lookup ; ;-Look up injector bias based on BPW ; LDAB #32 ;488 usecs offset for lookup LDX #L496F ;BPW offset table JSR LF15A ;2D lookup with SBA ; TAB ;Get offset into B PULX ;Get BPW back ABX ;Add in the offset XGDX ;Get the result into D SUBD L4967 ;Subtract offset BCC L864F ;Bra if no underflow LDD #$0000 ;Clear underflow ; L864F ADDB L0279 ;Batt. volts. BPW bias correction ADCA #0 ;Perform carry if needed STD L3FF2 ;Save it, outputted BPW ; JSR LF08A ;Short delay ; LDD L3FFC ;I/O D port ANDA #$FB ;Clear b2= JSR LF08A ;Short delay ; STD L3FFC ;Save it. ; ORAA #$04 ;Set b2 JSR LF08A ;Short delay ; STD L3FFC ;Save it, I/O D port RTS ;Return ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; RPM/6.25 calc. routine ; ;~~~~~~~~~~~~~~~~~~~~~~~~~ ; L866E LDX L3FC0 ;DRP counter LDAA L4142 ;# of cyls. LDAB #32 ;32, calc DRP relative to 8 cyl. MUL ;(# cyls. x 32) TBA ;/ result by 256 BEQ L8681 ;Bra if 8 cyl in use ; ;-Here if less then 8 cyl. ; PSHX ;DRP counts to stack TSX ;Get current stack pointer JSR LF1ED ;(A x X*)/256 ; PULX ;Get DRP counts back XGDX ;Swap result into X ; ;-Here if 8 cyl. present. ; L8681 CPX #$0000 ;0 DRP counts BHI L8689 ;Bra if !=0 ; CLRA ;Clear RPMs BRA L8694 ;Bra to return ; L8689 LDD #614 ;9.37 msec, 1600 RPM FDIV ;Fract. divide XGDX ;Get result into D, now RPMs/6.25 CMPA #127 ;800 RPM limit BLS L8694 ;Bra if <= ; LDAA #127 ;Return with limit instead ; L8694 RTS ;Return ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Crank fuel lookup routine ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L8695 LDAA L0006 ;Cool temp, linear LDX #L4D92 ;Crank BPW vs. cool temp JSR LF15E ;2D lookup ; LDX #L4D90 ;Scalar for crank BPW JSR LF1ED ;(A x X*)/256 ; PSHB ;Push crank BPW to stack PSHA ; LDAA L02F1 ;DRP counter CMPA L4D8B ;DRP threshold to use RPM multipliers BLS L86C4 ;Bra if DRPs <= ; JSR L866E ;RPM/6.25 calc. routine ; ;-Perform crank fuel corr. based on RPMs ; LDX #L4DA3 ;Crank fuel mult. vs RPM BRCLR L0004,#$10,L86BA ;Status word, bra if b4==0, no hot restart ; ;-Hot restart in effect ; LDX #L4DAC ;Hot restart crank fuel mult. vs RPM ; L86BA JSR LF15E ;2D lookup ; TSX ;Current stack pointer into X JSR LF1ED ;(A x X*)/256 ; PULX ;Get old crank BPW back PSHB ;Push crank BPW to stack PSHA ; ; ;-Perform baro correct ; L86C4 LDAA L01EF ;Baro LDAB #96 ;Offset for lookup LDX #L4DB5 ;Crank fuel mult. vs baro table JSR LF15A ;2D lookup with SBA ; TSX ;Get current stack pointer into X JSR LF1ED ;(A x X*)/256 ; PULX ;Get crank BPW ASLD ;x2, now /128 BCC L86DA ;Bra if no overflow ; LDD #$FFFF ;Clear overflow ; L86DA BCS L86F5 ;Bra if overflow, return ; ;-Perform TPS crank fuel correction ; PSHB ;Crank BPW to stack PSHA ; LDAA L01FC ;TPS LDX #L4DB9 ;Crank fuel mult. vs TPS table JSR LF153 ;2D lookup w/ linecount ; TSX ;Get current stack pointer JSR LF1ED ;(A x X*)/256 ; PULX ;Get old BPW back off the stack ASLD ;x2 BCS L86F2 ;Bra if overflow ; ASLD ;x2, now /64 BCC L86F5 ;Bra if no overflow ; L86F2 LDD #$FFFF ;Clear overflow ; L86F5 RTS ;Return ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-------------------------------- ; CK FOR LOW BATTERY ; ;-------------------------------- 86F6: L86F6 LDAA L00A1 ; BATTERY A/D 86F8: CMPA #90 ; 9 VDC 86FA: BCC L8708 86FC: CMPA #40 86FE: BCC L871F ;----------------------------- ; MINOR LOOP MODE WD ; b4 1 = IGNITION OFF ; ;----------------------------- 8700: BSET L0044,#$10 ; SET b4 8703: BCLR L0050,#$01 ; CLR b0, SYNC MAP SENSOR READS 8706: BRA L871F ;----------------------------- ; MINOR LOOP MODE WD ; b4 1 = IGNITION OFF ; ;----------------------------- 8708: L8708 BRCLR L0044,#$10,L8712 870C: LDX L3FCA 870F: STX L0228 ;----------------------------- ; MINOR LOOP MODE WD ; b4 1 = IGNITION OFF ; ;----------------------------- 8712: L8712 BCLR L0044,#$10 ; ; CK IF SYNC MAP SENSOR READS SELSECTED ; 8715: LDAA L400C ; MODE WD, 1001 0011 AFR 2 8718: BITA #$01 ; b0, (SYNC MAP SENSOR READS) 871A: BEQ L871F ; BR IF NOT SYNC MAP READS 871C: BSET L0050,#$01 ; SET b0, SYNC MAP SENSOR READS 871F: L871F RTS ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ********************************************** * CK o2 THRESHOLDS * ********************************************** 8720: L8720 BRCLR L004F,#$10,L8745 ; BR IF NOT b4, NOT RUN FUEL ;------------------------ ; NOT IDLE ; CLSD TO OPEN, CLOSED ;------------------------ 8724: LDX #$48F5 8727: BRCLR L0050,#$80,L872E ; BR IF NOT b7, IDLE FLAG ; ....else ;------------------------ ; OPN to CLOSED ; ;----------------------- 872B: LDX #$48F9 ; OPN to CLOSED o2 VALUES 872E: L872E BRSET L003E,#$80,L8734 ; BR IF b7, CLOSED LOOP FLAG 8732: INX ; INCR TO CLSD TO OPEN, 8733: INX 8734: L8734 LDAA L01F8 ; o2 VDC 8737: CMPA 0,X ; UPPER o2 VAL 8739: BHI L873F ; BR IF o2 873B: CMPA 1,X ; LOWER o2 VAL 873D: BCC L8745 ; BR IF o2 G.T. LOWER LMT 873F: L873F CLR L0264 ; o2 READY TIMER ; ; NVMW, NON-VOL RAM MODE WD ; 8742: BSET L0004,#$01 ; SET b0, o2 SENSOR RDY 8745: L8745 LDAA L0255 ; Gms/Sec AIR FLOW 8748: LDAB L493F ; 3.59 AIR FLOW MULT ; (Air Flow * 64) 874B: MUL 874C: ASLD 874D: BCS L8756 874F: ASLD 8750: BCS L8756 8752: CMPA #128 8754: BLS L8758 8756: L8756 LDAA #128 8758: L8758 STAA L029E ; AIR FLOW 875B: LDAB #$03 875D: BRCLR L0050,#$80,L876E ; BR IF NOT b7, IDLE FLAG 8761: LDD L4940 ; 478 MV RICH o2 THRESH ; RLP TBL L4CE2 at IDLE 8764: STD L0290 8767: LDAA L4942 ; 478 MV MEAN o2 THRESH ; RLP TBL L4CD9 AT IDLE 876A: STAA L028F 876D: CLRB 876E: L876E PSHB 876F: LDAA #$09 8771: MUL ;-------------------------------------------------- ; LK UP INTEGRATOR DELAY Vs. AIR FLOW ; ;-------------------------------------------------- 8772: LDX #$4CD7 ; INTEGRATOR DELAY 8775: ABX 8776: LDAA L029E ; AIR FLOW 8779: JSR LF15E ; 2D LK UP 877C: LDX #$028E 877F: PULB 8780: TSTB 8781: BEQ L8789 8783: ABX 8784: STAA 0,X 8786: DECB 8787: BRA L876E 8789: L8789 BRCLR L0070,#$04,L8790 ; BR IF NOT b2 878D: LDAA L4E4E ; 300 Msec Integ delay if EGR 8790: L8790 STAA L028E ;----------------------------------------- ; $003E MWAF1, AIR/FUEL MD WD 1 ; ; b7 1 = CLOSED LOOP FLAG ; b6 1 = RICH/ LEAN, 1 = RICH ; b5 1 = CLOSED LOOP FOR O/L IDLE CONDITION ; b4 1 = ASYNC PULSE FLAG ; ; b3 1 = A/F DECAY INT DONE FOR COLD P/D ; b2 1 = LOW BATTERY ; b1 1 = BLM ENABLE ; b0 1 = DECELL FUEL C/O TPS ACEL ENRICH ; ;------------------------------------------- 8793: LDAB L003E 8795: LDAA L028F 8798: ADDA L493D ; 130 MV, DIFF o2 WINDOW ; FAST R/L TEST 879B: BCS L87A2 ; BR IF OVERFLOW 879D: CMPA L01F8 ; o2 VDC 87A0: BCS L87BB 87A2: L87A2 LDAA L028F 87A5: SUBA L493D ; 130 MV, DIFF o2 WINDOW ; FAST R/L TEST 87A8: BCS L87AF 87AA: CMPA L01F8 ; o2 VDC 87AD: BHI L87B7 87AF: L87AF LDAA L01F8 ; CURRENT o2 VDC 87B2: CMPA L01F7 ; OLD o2 VDC 87B5: BHI L87BB ; BR IF CURRENT o2 IS GT OLD 87B7: L87B7 ANDB #$BF ; 1011 1111 87B9: BRA L87BD 87BB: L87BB ORAB #$40 ; SET b6, 1 = RICH/ LEAN, 1 = RICH 87BD: L87BD CMPB L003E ; MWAF1, AIR/FUEL MD WD 1 87BF: BEQ L87CA ; BR IF NOT RICH 87C1: INC L0298 ; ALDL RICH LEAN CHAGE COUNTER 87C4: BSET L0043,#$10 ; SET b4 87C7: CLRA ; 87C8: BRA L87D0 87CA: L87CA LDAA L029F ; 87CD: INCA ; 87CE: BEQ L87D3 ; 87D0: L87D0 STAA L029F ; 87D3: L87D3 STAB L003E ; ; ; SERIAL DATA MD WORD ; CK FOR ENG CONTROLLER MODE ; 87D5: BRCLR L003B,#$10,L87E9 ; BR IF NOT b4, IN MODE 4, ($F4) 87D9: LDX #$0393 87DC: BRCLR 0,X,#$01,L87E9 87E0: BRCLR 1,X,#$01,L87E6 87E4: BRA L885C 87E6: L87E6 JMP L8873 87E9: L87E9 BRSET L003E,#$80,L87F1 ; BR IF b7, CLSD LOOP 87ED: BRCLR L0052,#$80,L885F ; BR IF NOT b7, QUAIS CLSD LP ENABLED 87F1: L87F1 BRSET L0046,#$08,L8859 ; BR IF b3, DECEL FUEL C/O ;----------------------------- ; AFR MD WORD 0, ; b5 1 = PWR ENR IS ACTIVE ;----------------------------- 87F5: BRSET L003D,#$20,L8859 ; BR IF b5, 87F9: BRSET L0052,#$40,L8859 ; BR IF b6, CAT OVER TEMP 87FD: LDX #$400C ; MODE WD, 1001 0011 AFR 2 8800: BRCLR 0,X,#$20,L880D ; BR IF NOT b5, (INT R/S IF ; ACCELL ENRICH) 8804: BRCLR L006E,#$08,L880D ; NR IF NOT b7, ACELL ENR 1st TIME 8808: BCLR L006E,#$08 ; SET b3, ACELL ENR 1st TIME 880B: BRA L885C 880D: L880D LDX #$400C ; MODE WD, 1001 0011 AFR 2 8810: BRSET 0,X,#$10,L8818 ; BR IF b4, (INT RESET IN BLM ; CELL CHANGE) 8814: BRCLR 0,X,#$40,L881C ; BR IF NOT b6 ;----------------------------- ; AFR MD WORD 0, ; b2 1 = BLK LRN ADDR CHANGE 1 = CHANGED ;----------------------------- 8818: L8818 BRSET L003D,#$04,L885C ; BR IF b2 881C: L881C BRCLR L004F,#$20,L8825 ; BR IF NOT b5, VE INT RESET 8820: BCLR L004F,#$20 ; CLR b5, VE INT RESET 8823: BRA L885C ;----------------------------- ; AFR MD WORD 0, ; b4 1 = DECEL ENLEAN IS ACTIVE ;----------------------------- 8825: L8825 BRCLR L003D,#$10,L8834 ; BR IF NOT b4 8829: BRSET L003E,#$40,L8873 ; BR IF b6, RICH/LEAN, 1 = RICH 882D: LDAA L0232 ; CURRENT INTEGRATOR 8830: BPL L8873 8832: BRA L885C ; ; CK DECEL QUAL'S ; 8834: L8834 LDAB L01E3 ; S/D MAP 8837: CMPB L4901 ; 35 Kpa CLSD LP LEAN ; DECEL MAP THRESH 883A: BHI L8873 883C: LDAB L0062 ; RPM/25 883E: CMPB L4902 ; 1200 RPM, CLSD LP LEAN ; DECEL LO RPM THRESH 8841: BLS L8873 8843: CMPB L4903 ; 2500 RPM, CLSD LP LEAN ; DECEL HI RPM THRESH 8846: BHI L8873 8848: LDAB L02A7 ; Vss/1. (KPH = 1.61)s 884B: CMPB L4904 ; 15 MPH, CLSD LP LEAN ; DECEL LO Vss THRESH 884E: BCS L8873 8850: BRSET L003E,#$40,L8873 ; BR IF b6, RICH/ LEAN, 1 = RICH 8854: LDAA L0232 ; CURRENT INTEGRATOR 8857: BPL L8873 8859: L8859 BSET L0071,#$04 ; SET b2 885C: L885C BSET L006E,#$01 ; SET b0, EGR DIAG INT RESET 885F: L885F LDAA #128 8861: STAA L0232 ; CURRENT INTIGRATOR 8864: LDAA #102 8866: STAA L01F5 8869: CLRA ; ZERO 886A: STAA L0282 886D: STAA L029D 8870: JMP L89F4 8873: L8873 LDAA L01F5 8876: CMPA L0290 8879: BHI L8889 887B: SUBA L0291 887E: BCS L8883 8880: CLRA 8881: BRA L88A1 8883: L8883 NEGA 8884: BCLR L0046,#$02 ; CLR b1, SLOW RICH/LEAN, 1 = RICH 8887: BRA L8893 8889: L8889 SUBA L0290 ; 888C: LDAB L494B ; 0.996 FACTOR APPLIED TO ; ERR FOR RICH COND. 888F: MUL 8890: BSET L0046,#$02 ; SET b1, SLOW RICH/LEAN, 1 = RICH 8893: L8893 BRCLR L0050,#$80,L889B ; BR IF NOT b7, IDLE FLAG 8897: LDAB L494C ; 0.996 FACTOR APPLIED TO ; ERR ATR IDLE 889A: MUL 889B: L889B CMPA #96 ; CK FOR MAX VALUE 889D: BLS L88A1 ; BR IF RESULT IS LT 96 o2 ERR. 889F: LDAA #96 ; FORCE 96 AS MAX VALUE o2 ERR. 88A1: L88A1 STAA L02A3 ; SLO o2 ERR 88A4: ASLA ; n * 2 ;---------------------------------------------- ; PROPORTIONAL COUNTS Vs. SLOW o2 ERROR ; ; (SEL NUM OF COUNTS TO CORRECT FUEL DELIVERY) ; ; TBL = COUNTS * 1 ;---------------------------------------------- 88A5: LDX #$4D04 ; PORP COUNTS 88A8: JSR LF15E ; 2d LK UP ; 88AB: STAA L029D ; ; 88AE: BRCLR L0050,#$80,L88F6 ; BR IF NOT b7, IDLE FLAG ; .. else 88B2: LDAA L4943 ; 70 msec PORP DURATION OFF ; SET AT IDLE 88B5: PSHA 88B6: LDX #$4945 ; 0.06 MULT, HI GAIN PORP WHEN RICH 88B9: LDY #$4948 ; 500 msec INTEGRATOR DELAY IS ; INCREASED AT IDLE IF RPM ERR ; G.T. L4943, (25 RPM diff) ; 88BD: BRSET L003E,#$40,L88C9 ; BR IF b6, RICH/LEAN, (1 = Rich) 88C1: SEI ; 88C2: LDAA L003F ; 88C4: EORA #$05 ; TOGGLE b0 & b2 88C6: STAA L003F ; ; 88C8: CLI ; CLEAR INTERUPTS 88C9: L88C9 BRSET L003F,#$03,L88DB ; BR IF b0 & b1 88CD: BRSET L003F,#$0C,L88DB ; BR IF b2 & b3 88D1: LDAA 1,Y ; 88D4: STAA L0285 ; 88D7: INX ; 88D8: INX ; 88D9: BRA L88E6 88DB: L88DB LDAA 0,Y ; 88DE: STAA L0285 ; ; 88E1: BRSET L003E,#$40,L88E6 ; BR IF b6, RICH/ LEAN, 1 = RICH 88E5: INX ; 88E6: L88E6 LDAA 0,X ; 88E8: LDAB L029D ; 88EB: MUL ; 88EC: ASLD ; 88ED: BCS L88F2 ; 88EF: ASLD ; 88F0: BCC L891F ; 88F2: L88F2 LDAA #255 ; 88F4: BRA L891F ;-------------------------------------------------- ; LK UP PORPORTIONAL DURATION OFFSET ADDED TO ; L4D0A TBL Vs. FLOW ; ;-------------------------------------------------- 88F6: L88F6 LDAA L029E ; AIR FLOW 88F9: LDX #$4D1E ; PORPORTIONAL DURATION 88FC: JSR LF15E ; 2d LK UP ; 88FF: PSHA ; SAVE TO STX ;-------------------------------------------------- ; LK UP PORPORTIONAL FLOW GAIN FACTOR Vs. MAP Vs. RPM ; ; TBL = FACTOR * 128 ;-------------------------------------------------- 8900: LDAA L0062 ; RPM/25 8902: CMPA #144 ; 3600 RPM 8904: BLS L8908 ; 8906: LDAA #144 ; 3600 RPM 8908: L8908 LDAB L01E3 ; S/D MAP 890B: LSRB ; DIV BY 2 FOR LK UP 890C: LDX #$4D27 ; PORPORTIONAL FLOW GAIN FACTOR 890F: JSR LF17B ; 3d LOOK UP ; 8912: LDAB L029D ; 8915: MUL ; 8916: ADDD #64 ; 8919: ASLD ; 891A: BCC L891F ; 891C: LDD #$FFFF ; 891F: L891F STAA L029D ; ;-------------------------------------------------- ; PROP DURATION Vs. SLOW o2 ERROR ; ; ; TBL = SEC'S * 40 ;-------------------------------------------------- 8922: LDAA L02A3 ; SLO o2 ERR 8925: ASLA ; x 2 FOR LK UP 8926: LDX #$4D11 ; PROP DURATION TBL 8929: JSR LF15E ; 2d LK UP 892C: PULB 892D: ABA 892E: BCC L8932 ; BR IF NO OVERFLOW 8930: LDAA #255 ; USE MAX VALUE ;-------------------------------------------------- ; INTEGRATOR DELAY MULT Vs. SLOW FILT o2 ; ; ; TBL = MULT * 256 ;-------------------------------------------------- 8932: L8932 PSHA ; 8933: LDAA L02A3 ; SLO o2 ERR 8936: ASLA ; x2 8937: LDX #$4D7B ; INTEGRATOR DELAY MUL 893A: JSR LF15E ; 2D LK UP 893D: LDAB L028E 8940: MUL 8941: BRCLR L0050,#$80,L894C ; BR IF NOT b7, IDLE FLAG 8945: ADDA L0285 8948: BCC L894C 894A: LDAA #255 894C: L894C STAA L028E 894F: STAA L02A4 8952: LDAA L0046 8954: ANDA #$02 8956: LDAB L003E ; MWAF1, AIR/FUEL MD WD 1 8958: ANDB #$40 ; b6, RICH/ LEAN, 1 = RICH 895A: ABA 895B: PULB 895C: BEQ L8962 895E: CMPA #66 8960: BNE L89B0 8962: L8962 LDAA L02A3 ; SLO o2 ERR 8965: ASLA 8966: CMPA L493E ; 6 COUNTS ERR MIN TO DO INTEGRSATOR 8969: BHI L8970 896B: CLR L0282 896E: BRA L89B0 8970: L8970 LDAA L0282 8973: CMPA L028E 8976: BCS L897B 8978: CLRA 8979: BRA L897C 897B: L897B INCA 897C: L897C STAA L0282 897F: BNE L89B0 8981: LDAA L0232 ; CURRENT INTEGRATOR 8984: BRSET L0046,#$02,L8998 ; BR IF b1, SLOW RICH/LEAN, 1 = RICH 8988: CMPA L4907 ; 158, CL MAX INT VALUE 898B: BEQ L89AD ; BR IF INT AT MAX LMT ; .. else 898D: BRCLR L0052,#$80,L8995 ; BR IF NOT b7, QUAIS CLSD LP ENABLED 8991: CMPA #128 ; INT = 14.7 AFR ? 8993: BCC L89AD ; BR IF INT GT 128 8995: L8995 INCA ; INCR INTGRATOR 8996: BRA L89AD 8998: L8998 LDX #$400B ; MODE WD 1, 0000 1100 899B: BRCLR 0,X,#$08,L89A3 ; BR IF NOT b3, (ACCEL ENRICH LMT OPTION) ;----------------------------- ; MINOR LOOP MODE WD ; b1 1 = ACELL ENR CLAMP ACTIVE ;----------------------------- 899F: BRSET L0044,#$02,L89B0 ; BR IF b1 89A3: L89A3 CMPA L4906 ; 40, CLSD LP, MIN INT VALUE 89A6: BEQ L89AD ; BR IF INT = 40 89A8: BRSET L003F,#$80,L89AD ; BR IF b7, SHORT BPW FLAG 89AC: DECA ; DECREMENT INT 89AD: L89AD STAA L0232 ; CURRENT INTIGRATOR 89B0: L89B0 LDAA L029F 89B3: CBA 89B4: BLS L89C5 89B6: ADDB L4944 ; 0.5 SEC'S PC CNT USE ; TRIGGER OFF SET 89B9: BCC L89BD 89BB: LDAB #255 89BD: L89BD CBA 89BE: BCC L89C5 89C0: CLR L029D 89C3: BRA L89CC 89C5: L89C5 BRCLR L0052,#$80,L89CC ; BR IF NOT b7, QUAIS CLSD LP ENABLED 89C9: CLR L029D 89CC: L89CC LDAA L029D 89CF: BRCLR L003E,#$40,L89F4 ; BR IF NOT b6, RICH/ LEAN, 1 = RICH 89D3: LDX #$400B ; MODE WD, 0000 1100 AF 89D6: BRCLR 0,X,#$08,L89E9 ; BR IF NOT b3, (ACCEL ENRICH LMT OPTION) ;----------------------------- ; MINOR LOOP MODE WD ; b1 1 = ACELL ENR CLAMP ACTIVE ;----------------------------- 89DA: BRCLR L0044,#$02,L89E9 ; BR IF NOT b1 89DE: LDAA L4908 ; PORP CNT'L LIMIT IF ; ACELL LMT IN EFFECT 89E1: CMPA L029D 89E4: BCC L89E9 89E6: STAA L029D 89E9: L89E9 LDAA L0232 ; CURRENT INTEGRATOR 89EC: SUBA L029D 89EF: BCC L89FB 89F1: CLRA 89F2: BRA L89FB 89F4: L89F4 ADDA L0232 ; CURRENT INTEGRATOR 89F7: BCC L89FB 89F9: LDAA #255 89FB: L89FB SUBA #128 89FD: STAA L0292 8A00: RTS ;-------------------------------------------------- 8A01: L8A01 LDAA L48DD ; 14.7, STOCH AFR, ;----------------------------- ; $003E NWAF1, AFR MD WD ; ; b7 1 = CLSD LOOP ; b5 1 = CLSD LP ;----------------------------- 8A04: LDAB L003E ; 8A06: BITB #$A0 ; 1010 0000 8A08: BEQ L8A1B ; BR IF NOT b5, b7 8A0A: STAA L026D ; AFR, (DISP MODE 1/1) ;-------------------------------------------------- ; MODE WD, AFR 3 ; b0 1 = USE OPN LP AFR IF TEMP LT L48C7 IN CLOSED LP ; ;-------------------------------------------------- 8A0D: LDX #$400D ; MODE WD, AFR 3, 1010 0100 8A10: BRCLR 0,X,#$01,L8A50 ; BR IF NOT b0, (EXIT O/L AFR) 8A14: LDAB L0006 ; COOL 8A16: CMPB L48C7 ; 150c COOLANT 8A19: BHI L8A35 ; BR IF COOL LT 150c ;-------------------------------------------------- ; LK UP OPEN LOOP AFR Vs. Vac or MAP ; ; USE IN OPN LP IF COOL LT L48C7 ; ; TABLE = 10 * AFR ;-------------------------------------------------- 8A1B: L8A1B LDX #$4BB0 ; INDEX LD SELECTOR 8A1E: LDAB L01EC ; CURRENT VACUUM VALUE 8A21: LDAA 0,X ; GET LOAD SELECTOR 8A23: BEQ L8A28 ; BR ID LOAD SEL = 0 8A25: LDAB L01E3 ; S/D MAP 8A28: L8A28 INX ; ADJ INDEX FOR TBL START 8A29: LSRB ; SCALE FOR LK UP 8A2A: LDAA L0006 ; COOL 8A2C: CMPA #192 ; 104c COOL 8A2E: BLS L8A32 ; BR IF COOL LT 104c 8A30: LDAA #192 ; USE 104c COOL 8A32: L8A32 JSR LF17B ; 3d LOOK UP ; ; DO CHOKE MODE STUFF ; 8A35: L8A35 SUBA L02EB ; RICHEN WITH "CHOKE" AFR VALUE 8A38: BCC L8A3B ; BR IF OPN LP AFT GT CHOKE AFR 8A3A: CLRA ; ZERO OPEN LOOP AFR VAL ; 8A3B: L8A3B BRCLR L0050,#$80,L8A52 ; BR IF NOT b7, IDLE FLAG 8A3F: CMPA L0295 ; AFR LEAN LMT 8A42: BLS L8A47 ; 8A44: LDAA L0295 ; AFR LEAN LMT ; 8A47: L8A47 LDAB #60 ; 8A49: STAB L0289 ; ; 8A4C: CLRB ; 8A4D: STD L0287 ; 8A50: L8A50 BRA L8A7B ;--------------------------------------------------- 8A52: L8A52 LDAB L0289 8A55: BEQ L8A6B ; BR IF 8A57: DECB ; 8A58: STAB L0289 ; 8A5B: CMPA L0287 ; 8A5E: BLS L8A6B ; BR IF 8A60: LDX L0287 8A63: LDAB L48E2 ; 23% FILT CONST FOR AFR FILTERING 8A66: JSR LF0F6 ; FILT ROUTINE 8A69: BRA L8A71 8A6B: L8A6B CLRB 8A6C: STD L0287 8A6F: BRA L8A7B ;---------------------------------------------- ;---------------------------------------------- 8A71: L8A71 STD L0287 8A74: ASLB ; MULT x 2 8A75: ADCA #$00 ; ROUND 8A77: BCC L8A7B ; BR IF ; ... else 8A79: LDAA #255 ; ; SAVE AFR ; 8A7B: L8A7B STAA L026D ; AFR, (DISP MODE 1/1) ; ; CK QUALS FOR IDLE SPARK ; (note: if LT Vss thresh, no idle cell) ; 8A7E: LDAA L02A7 ; Vss/1. (KPH = 1.61) 8A81: CMPA L48CF ; 4 MPH, MAX FOR IDLE SPK TBL 8A84: BHI L8AEE ; BR IF Vss GT 4 MPH 8A86: LDAA L01FC ; TPS 8A89: CMPA L48D0 ; 2.7% TPS MAX IDLE FUEL TABLE 8A8C: BHI L8AEE ; BR IF TPS LT THRESH 8A8E: BSET L0050,#$80 ; SET b7, IDLE FLAG 8A91: LDAA L0295 ; AFR LEAN LMT 8A94: CMPA L026D ; AFR, (DISP MODE 1/1) 8A97: BHI L8AFC ; 8A99: LDAB L0006 ; COOL 8A9B: CMPB L48D8 ; 35 Deg c, OPEN LP IDLE TEMP THRESH 8A9E: BLS L8AE9 8AA0: LDAB L48D4 ; IF IDLE TIME => 255 SEC, SET IDLE ; FOR AIR MANAGMENT 8AA3: BEQ L8AC9 ; 8AA5: LDX #$400B ; MODE WD, 0000 1100 AF 8AA8: BRSET 0,X,#$02,L8AB0 ; BR IF b1, (AIR MANANGE) 8AAC: BRSET L0041,#$20,L8AFC ; BR IF b5, PARK/NEUTRAL 8AB0: L8AB0 BRCLR L0050,#$02,L8AC1 ; OPN LOOP IDLE FLG FOR AIR SW ENGAGE AT IDLE 8AB4: LDAB L0294 ; FAST IDLE TIMER 8AB7: CMPB L48D5 ; 0 SEC'S AFTER OPN LP AIR MANAGEMENT SET ; USE OPN LP 8ABA: BLS L8AD9 ; BR IF TIMER LT THRESH 8ABC: LDAA L0295 ; AFR LEAN LMT 8ABF: BRA L8B05 8AC1: L8AC1 LDAB L48D4 ; IF IDLE TIME => 255 SEC, SET IDLE ; FOR AIR MANAGMENT 8AC4: CMPB L0294 ; FAST IDLE TIMER 8AC7: BCC L8AD9 ; 8AC9: L8AC9 LDAB #$80 ; 8ACB: LDAA L0232 ; CURRENT INTEGRATOR 8ACE: CMPA #$80 ; 8AD0: BCC L8AD3 ; 8AD2: NEGA ; 8AD3: L8AD3 ABA ; 8AD4: CMPA L48EE ; IDLE CLS LP INT WINDOW 8AD7: BLS L8AE4 ; 8AD9: L8AD9 LDAB L0002 ; MJR LOOP SEGMENT COUNT 8ADB: CMPB #$27 ; 8ADD: BNE L8B02 ; 8ADF: INC L0294 ; FAST IDLE TIMER 8AE2: BRA L8B02 8AE4: L8AE4 BSET L0050,#$02 ; OPN LOOP IDLE FLG FOR AIR SW ENGAGE AT IDLE 8AE7: BRA L8AFF 8AE9: L8AE9 BSET L0050,#$02 ; OPN LOOP IDLE FLG FOR AIR SW ENGAGE AT IDLE 8AEC: BRA L8B05 ;----------------------------------------------- ;----------------------------------------------- ; ; ;----------------------------------------------- 8AEE: L8AEE LDD L00F8 ; ENG RUN TIME 8AF0: CPD L48D6 ; 15 SEC RUN TIME, 1ST IDLE TO OFF IDLE THRESH 8AF4: BCS L8AF9 ; BR IF TIMER LT THRESH 8AF6: BSET L003F,#$40 ; SET b6 ; 8AF9: L8AF9 BCLR L0050,#$80 ; CLR b7, IDLE FLAG 8AFC: L8AFC BCLR L0050,#$02 ; OPN LOOP IDLE FLG FOR AIR SW ENGAGE AT IDLE ; 8AFF: L8AFF CLR L0294 ; FAST IDLE TIMER ; 8B02: L8B02 LDAA L026D ; AFR, (DISP MODE 1/1) ; 8B05: L8B05 BRSET L003E,#$80,L8B3F ; BR IF b7, CLSD LOOP ; ; NVMW, NON-VOL RAM MODE WD ; 8B09: BRCLR L0004,#$10,L8B13 ; BR IF NOT B4, HOT RESTART ; ... else 8B0D: SUBA L4952 ; 1:1 AFR OPN LP AFR RICH BIAS FOR A ; HOT RESTART BIAS 8B10: BCC L8B13 ; ; ... else 8B12: CLRA ; 8B13: L8B13 LDAB L0006 ; COOL 8B15: CMPB L48DA ; -40 DEG c, OPEN LP RICH IDLE PK/NEUT OR DRIVE 8B18: BLS L8B3F ; ; ... else 8B1A: CMPB L48DB ; 150.5 DEG c, OPEN LP RICH IDLE PK/NEUT OR DRIVE 8B1D: BCC L8B3F ; ; ... else 8B1F: BRSET L0041,#$20,L8B39 ; BR IF b5, PARK/NEUTRAL ; .... else 8B23: LDAB L082C ; RICH IDLE TIMER, (TIME * 20) 8B26: CMPB L48DC ; 10 SEC'S MAX TIME FOR RICH IDLE IF IN DRIVE 8B29: BHI L8B3F ; BR IF TIME ; ... else 8B2B: INCB ; 8B2C: BEQ L8B31 ; ; ... else 8B2E: STAB L082C ; RICH IDLE TIMER, (TIME * 20) ; 8B31: L8B31 SUBA L48E0 ; 1.0:1 AFR RICH BIAS FOR OPN LP DRIVE 8B34: BCC L8B3F ; ; ... else 8B36: CLRA ; 8B37: BRA L8B3F 8B39: L8B39 SUBA L48E1 ; 0.5:1 AFR RICH BIAS FOR OPN LP PK/NEUT 8B3C: BCC L8B3F ; 8B3E: CLRA ; 8B3F: L8B3F LDAB L4909 ; 16.0, MAX AFR ; 8B42: BRCLR L0072,#$40,L8B49 ; BR IF NOT b6, ERROR 44, o2 LEAN 8B46: LDAB L4E71 ; 14.6 MAX AFR IF ERROR 44 8B49: L8B49 CBA ; 8B4A: BLS L8B4D ; 8B4C: TBA ; 8B4D: L8B4D LDAB L028B ; MULT, CRANK BPW FOR 2nd INJ ON 8B50: CMPB L4955 ; 0 DRP'S Run prior to CRANK to RUN Xisition AFR 8B53: BCS L8B6B ; 8B55: LDAB L0006 ; COOL 8B57: CMPB L4957 ; -40 C, CRANK TO RUN AFR DECAY COOL ADD OR SUB 8B5A: BHI L8B64 ; BR IF THRESH GT COOL 8B5C: SUBA L02EC ; AFR CRANK XISITION AFR RATIO 8B5F: BCC L8B6B ; ; CLRA ; BRA L8B6B L8B64 ADDA L02EC ; AFR CRANK XISITION AFR RATIO BCC L8B6B ; 8B69: LDAA #$FF ; 8B6B: L8B6B STAA L026D ; AFR, (DISP MODE 1/1) ; 8B6E: BRSET L004F,#$10,L8B75 ; BR IF b4, RUN FUEL 8B72: JMP L8D50 8B75: L8B75 LDAA L02A7 ; Vss/1. (KPH = 1.61) 8B78: CMPA L4917 ; IF L.T. 12 MPH & TPS L.T. L4911 ; THEN BY PASS PE DLY 8B7B: BCC L8B8D ; BR IF Vss GT 12 MPH ; 8B7D: LDAA L01FC ; TPS 8B80: CMPA L4918 ; 99.6% TPS DELAY THERSH 8B83: BHI L8B8D ; BR IF TPS LT 99.6% ; ;----------------------------- ; AFR MD WORD 0, ; b0 1 = PWR ENR ENR FLAG ;----------------------------- 8B85: BSET L003D,#$01 ; SET b0, PWR ENR ENR FLAG ; 8B88: CLR L0286 ; PE DELAY TMR 8B8B: BRA L8B9C ; BR TO HIGH TPS% WOT ENTR 8B8D: L8B8D LDAA L0286 ; PE DELAY TMR 8B90: CMPA L4919 ; 0 SEC AFTER MPH/TPS DELAY FAILED EXIT PE SAYS ; BY PASSED 8B93: BCC L8B9C ; BR IF TMR GT 0 SEC'S 8B95: INCA ; INCR PE DELAY TMR 8B96: STAA L0286 ; PE DELAY TMR ; 8B99: BSET L003D,#$01 ; SET b0, PWR ENR FLAG, *************************************************** * HIGH TPS% WOT ENTRY THRESH Vs. RPM * ESTABLISH A HI TPS THRES FOR FAST WOT ENTRY * * TBL = %TPS * 2.56 *************************************************** 8B9C: L8B9C LDAB #32 8B9E: LDX #$4C50 8BA1: LDAA L0062 ; RPM/25 8BA3: JSR LF137 ; 2d LK UP W/LMT 8BA6: STAA L0203 ; SAVE WOT HI TPS THRESH *************************************************** * HIGH TPS% WOT ENTRY DELAY DECR TIME Vs. RPM * * IF TPS G.T. L4C49 TBL WOT DELAY TIME IS DECRESED * AT THIS FASTER RATE, TBL VAL OF 5 WILL DECREMENT * TIMER VAL AT L4908 BY FACTOR OF 5 * * TBL = SEC'S *************************************************** 8BA9: LDX #$4C75 ; INDEX TABLE 8BAC: LDAA L0062 ; RPM/25 8BAE: JSR LF137 ; 2d LK UP W/LMT ; 8BB1: STAA L0204 ; SAVE WOT ENTRY DELAY DECR TIME ; **************************************************** * LK UP TPS Vs. RPM FOR WOT ENABLE * * TBL = 2.56 * %TPS **************************************************** 8BB4: LDX #$4C5A ; INDEX TABLE 8BB7: LDAA L0062 ; RPM/25 8BB9: JSR LF137 ; 2d LK UP W/LMT ; 8BBC: STAA L0205 ; SAVE WOT TPS THRESH 8BBF: TAB ;----------------------------- ; AFR MD WORD 0, ; b5 1 = PWR ENR IS ACTIVE ;----------------------------- 8BC0: BRCLR L003D,#$20,L8BCA ; BR IF NOT b5 8BC4: SUBB L490D ; 13d 8BC7: BCC L8BCA 8BC9: CLRB 8BCA: L8BCA CMPB L01FC ; TPS 8BCD: BCS L8BD2 8BCF: JMP L8CDF ;---------------------------------------- ; CHK BYPASS PE DELAY QUAL'S ; COOL 50 -> 105c ; RPM GT 4250 RPM ; ; TYPE $0D ;---------------------------------------- 8BD2: L8BD2 BRSET L003F,#$20,L8C34 ; BR IF b5, BYPASS PE DELAY 8BD6: LDAA L0063 ; RPM/12.5 8BD8: SUBA L0065 ; OLD RPM 8BDA: BCC L8BDD ; BR IF OLD RPM L.T. NEW RPM 8BDC: CLRA ; ; 3125 RPM POS RPM DIFF TO BYPASS PE DELAY ; 8BDD: L8BDD CMPA L490A ; 3125 RPM/12.5 8BE0: BLS L8BE8 ; BR IF RPM GT 3125 RPM 8BE2: BSET L003F,#$20 ; SET b5, BYPASS PE DELAY 8BE5: JMP L8C34 8BE8: L8BE8 LDAB L0006 ; COOL ; ; IF COOL G.T. 105 DEG c, BYPASS PE DELAY ; 8BEA: CMPB L490C ; 105c COOL THRESH 8BED: BHI L8C34 ; ; IF COOL E.Q. or L.T. 50 DEG c, BYPAS PE DELAY ; 8BEF: CMPB L490B ; 50c COOL THRESH 8BF2: BLS L8C34 ; BR IF COOL LT THRESH ; ; IF RPM E.Q. or G.T 4250 RPM, BYPASS PE DELAY ; 8BF4: LDAB L490E ; RPM 4250 RPM, 8BF7: CMPB L0062 ; RPM/25 8BF9: BLS L8C34 ; BR IF RPM LT THRESH 8BFB: LDAA L0206 ; 8BFE: LDAB L01FC ; TPS 8C01: SUBB L01FE ; 8C04: BCS L8C09 ; BR IF OLD TPS GT CURRENT TPS 8C06: CBA 8C07: BLS L8C31 8C09: L8C09 LDAA L01F0 ; PWR ENR RPM THRESH (FM BARO) 8C0C: CMPA L0062 ; RPM/25 8C0E: BLS L8C17 ; BR IF RPM LT THRESH ;----------------------------- ; AFR MD WORD 0, ; b5 1 = PWR ENR IS ACTIVE ;----------------------------- 8C10: BRSET L003D,#$20,L8C17 ; BR IF b5, 8C14: JMP L8CDF ;----------------------------- ; AFR MD WORD 0, ; b0 1 = PWR ENR ENR FLAG ;----------------------------- 8C17: L8C17 BRSET L003D,#$01,L8C1E ; BR IF b0, PWR ENR FLAG 8C1B: JMP L8CD6 8C1E: L8C1E LDAB L029A 8C21: CMPB L4910 ; 150 MSEC DLY, PWR ENRICH ; SLEW RATE 8C24: INCB ; INCR PWR ENRICH SLEW RATE 8C25: BCS L8C3A ; BR IF OVERFLOW 8C27: LDAB L029B ; PWR ENR AFR SLEW MULT 8C2A: ADDB L4911 ; 58.5% ADJ TO PWR ENR AFR ; SLEW MULT 8C2D: BCC L8C36 ; BR IF NO OVERFLOW 8C2F: BRA L8C34 8C31: L8C31 BSET L003F,#$20 ; SET b5, BYPASS PE DELAY ;------------------------------------------------------ ; ; ;------------------------------------------------------ 8C34: L8C34 LDAB #255 ; USE MAX VAL 8C36: L8C36 STAB L029B ; PWR ENR AFR SLEW MULT 8C39: L8C39 CLRB 8C3A: L8C3A STAB L029A ;----------------------------- ; AFR MD WORD 0, ; b5 1 = PWR ENR IS ACTIVE ;----------------------------- 8C3D: BSET L003D,#$20 ; SET b5 ;---------------------------------------------- ; LK UP WOT AFR Vs. RPM ; ;---------------------------------------------- 8C40: LDX #$4C64 ; WOT AFR Vs. RPM 8C43: LDAA L0062 ; RPM/25 8C45: JSR LF15E ; 2d LK UP 8C48: TAB 8C49: LDAA L028C ; PWR ENR TMR 8C4C: CMPA L4913 ; IF IN PWR ENRICH 50 SEC, ; DISABLE PWR ENRT RAMP 8C4F: BHI L8CA4 ; BR IF PWR ENR TMR LT 50 SEC'S 8C51: LDAA L0002 ; MJR LOOP SEGMENT COUNT 8C53: CMPA #$07 ; 8C55: BNE L8C5A ; CK BYPASS QUAL'S 8C57: INC L028C ; PWR ENR TMR ; ; CK RPM & COOL THRESH FOR WOT TMR BY PASS ; 8C5A: L8C5A LDAA L0062 ; RPM/25 8C5C: CMPA L490E ; IF RPM E.Q. or G.T 4250 RPM, ; BYPASS PE DELAY 8C5F: BCC L8CA4 ; BR IF RPM GT 4250 8C61: LDAA L0006 ; COOL 8C63: CMPA L4914 ; DISABLE PWR ENRT RAMP IF COOL ; G.T. 106 8C66: BHI L8CA4 ; BR IF COOL LT 106c 8C68: CMPA L490B ; IF COOL E.Q. or L.T. 50 DEG c, ; BYPASS PE DELAY 8C6B: BLS L8CA4 ; BR IF COOL LT 50c 8C6D: LDAA L01FC ; TPS 8C70: CMPA L0203 ; WOT HI %TPS THRESH 8C73: BHI L8CA4 ; BR IF 8C75: SUBA L0205 ; WOT TPS THRESH 8C78: BCC L8C7C ; BR IF NOT UNDEFLOW 8C7A: LDAA #$0000 ; FORCE MIN VALUE ; 8C7C: L8C7C PSHB ; 8C7D: PSHA ; ; 8C7E: LDAA L0203 ; WOT HI %TPS THRESH 8C81: SUBA L0205 ; WOT TPS THRESH 8C84: BCC L8C88 ; 8C86: LDAA #$0000 ; 8C88: L8C88 CLRB ; 8C89: XGDX ; 8C8A: PULA ; 8C8B: CLRB ; 8C8C: FDIV ; 8C8D: XGDX ; 8C8E: LDAB L491B ; 1.5 AFR ADJ IF IN PWR ENR RAMP MODE 8C91: MUL ; 8C92: ADCA #$00 ; 8C94: TAB ; 8C95: LDAA L491B ; 1.5 AFR ADJ IF IN PWR ENR RAMP MODE 8C98: SBA ; 8C99: BCC L8C9D ; BR IF NOT UNDEFLOW 8C9B: LDAA #$0000 ; FORCE MIN VALUE ; 8C9D: L8C9D PULB ; 8C9E: ABA ; 8C9F: BCC L8CA3 ; 8CA1: LDAA #$FF ; 8CA3: L8CA3 TAB ; ; ; CHECK PWR ENR AFR SLEW QUAL'S ; 8CA4: L8CA4 LDAA L0006 ; COOL 8CA6: CMPA L4912 ; 74 DEG c, 8CA9: BHI L8CC0 ; BR IF COOL GT 75c 8CAB: LDAA L0062 ; RPM/25 8CAD: CMPA L4915 ; COLD PWR ENRICH RPM 1750 8CB0: BCC L8CC0 ; BR IF RPM GT 1750 8CB2: LDAA L02A7 ; Vss/1. (KPH = 1.61) 8CB5: CMPA L4916 ; COLD PWR ENRICH 25 MPH 8CB8: BCC L8CC0 ; BR IF Vss GT 25 MPH 8CBA: SUBB L491A ; 0.7 AFR COLD PWR ENRICH 8CBD: BCC L8CC0 ; BR IF AFR GT 0.7 8CBF: CLRB ; 8CC0: L8CC0 LDAA L026D ; AFR, (DISP MODE 1/1) 8CC3: SBA ; SUB OFF AFR MODIFIER 8CC4: BLS L8D1B ; BR IF ; ; APPLY PWR ENR AFR SLEW MULT ; 8CC6: LDAB L029B ; PWR ENR AFR SLEW MULT 8CC9: MUL ; 8CCA: ADCA #00 ; PREVENT OVERFLOW 8CCC: TAB ; MUT TO B Reg 8CCD: LDAA L026D ; AFR, (DISP MODE 1/1) 8CD0: SBA ; SUB OFF AFR MULT, (MAKE RICHER) 8CD1: STAA L026D ; AFR, (DISP MODE 1/1) 8CD4: BRA L8D1B ;-------------------------------------------------- ; ; CK MIN Vss FOR PWR ENR ; 8CD6: L8CD6 LDD L0818 ; Vss 8CD9: CPD L491C ; 0 MPH, DO NOT ALLOW PWR ; ENRICH IF L.T. 0 MPH 8CDD: BCC L8CF0 ; BR IF Vss ; ; CK PWR ENR TIMER ; 8CDF: L8CDF LDAB L0299 ; PWR ENR DELAY TMR 8CE2: CMPB L490F ; 15 Sec's, TIME DELAY FOR PWR ENRICH 8CE5: INCB ; INCR PWR ENR DELAY TMR 8CE6: BCS L8D0C ; BR IF TIMER LT 15 SEC's 8CE8: CLR L029B ; PWR ENR AFR SLEW MULT 8CEB: CLR L028C ; PWR ENR TMR 8CEE: BRA L8D15 ;-------------------------------------------------- 8CF0: L8CF0 LDAB L0299 ; PWR ENR DELAY TMR 8CF3: BNE L8CFB ; BR IF TIMER NZ ;----------------------------- ; AFR MD WORD 0, ; b0 1 = PWR ENR ENR FLAG ;----------------------------- 8CF5: BSET L003D,#$01 ; SET b0, WOT PWR ENR FLAG 8CF8: JMP L8C39 ; ; ; 8CFB: L8CFB LDAA L01FC ; TPS 8CFE: CMPA L0203 ; WOT HI %TPS THRESH 8D01: BLS L8D0B ; BR IF %TPS GT THRESH 8D03: SUBB L0204 ; SUB WOT ENTRY DELAY TIME 8D06: BCC L8D0C ; BR IF TIME RESULT 8D08: CLRB ; 8D09: BRA L8D0C 8D0B: L8D0B DECB ; 8D0C: L8D0C LDAA L0002 ; MJR LOOP SEGMENT COUNT 8D0E: CMPA #23 ; 8D10: BNE L8D15 ; 8D12: STAB L0299 ; PWR ENR DELAY TMR ; ;----------------------------- ; AFR MD WORD 0, ; b5 1 = PWR ENR IS ACTIVE ; b0 1 = PWR ENR ENR FLAG ;----------------------------- 8D15: L8D15 BCLR L003D,#$21 ; CLR b0 & b5 8D18: BCLR L003F,#$20 ; CLR b5, BYPASS PE DELAY ; 8D1B: L8D1B LDAA L01FC ; TPS 8D1E: STAA L01FE ; ; 8D21: BRCLR L0052,#$40,L8D36 ; BR IF NOT b6, CAT OVER TEMP ;-------------------------------------------------- ; LK UP AFR USED IF CAT OVER TEMP Vs. AIRFLOW ; ;-------------------------------------------------- 8D25: LDAA L0255 ; Gms/Sec AIR FLOW 8D28: LDX #$498F ; AFR USED IF CAT OVER TEMP 8D2B: JSR LF15E ; 2d LK UP 8D2E: CMPA L026D ; AFR, (DISP MODE 1/1) 8D31: BHI L8D36 8D33: STAA L026D ; AFR, (DISP MODE 1/1) ; ; SERIAL DATA MD WORD ; CK FOR ENG CONTROLLER MODE ; 8D36: L8D36 BRCLR L003B,#$10,L8D49 ; BR IF NOT b4, IN MODE 4, ($F4) 8D3A: LDAA L0397 8D3D: BITA #$04 ; b2 8D3F: BEQ L8D49 ; BR IF NOT b2 8D41: LDAA L0399 8D44: STAA L026D ; AFR, (DISP MODE 1/1) 8D47: BRA L8D50 8D49: L8D49 BRCLR L0082,#$40,L8D50 ; BR IF NOT b5 8D4D: JSR L1800 ; TO HEADS UP VECTOR TABLE 8D50: L8D50 LDAA L026D ; AFR, (DISP MODE 1/1) 8D53: STAA L026E 8D56: LDAA L0002 ; MJR LOOP SEGMENT COUNT 8D58: CMPA #$9F 8D5A: BNE L8D71 8D5C: LDD L02A7 ; Vss/1. (KPH = 1.61) 8D5F: SUBD L081A 8D62: BCC L8D68 8D64: NEGA 8D65: NEGB 8D66: SBCA #$00 8D68: L8D68 STD L0818 8D6B: LDD L02A7 ; Vss/1. (KPH = 1.61) 8D6E: STD L081A ;---------------------------------------- ; CK BLM CONFIGURATION ; ;---------------------------------------- ;----------------------------- ; AFR MD WORD 0, ; b2 1 = BLK LRN ADDR CHANGE 1 = CHANGED ;----------------------------- 8D71: L8D71 BCLR L003D,#$04 ; CLR b2 ;------------------------ ; L48EC, FLAG WD, ; 0 = USED SEP BLM IDLE ; 1 = SEP SEP BM IDLE CELL ; 2 = BLM IDLE PK/NEUT : 8D74: LDAA L48EC ; FLAG WD, 8D77: BITA #$01 ; b0 = USED SEP BLM IDLE 8D79: BEQ L8DAE ; BR IF NOT b0 ; ; CK TPS QUALS FOR IDLE FUEL ; 8D7B: LDAB L01FC ; TPS 8D7E: CMPB L48D0 ; 2.7% TPS MAX IDLE FUEL TABLE 8D81: BCC L8DAE ; BR IF %TPS GT 2.7% ; ; CK VssQUALS FOR IDLE SPARK ; 8D83: LDAB L02A7 ; Vss/1. (KPH = 1.61) 8D86: CMPB L48CF ; 4 MPH, MAX FOR IDLE SPK TBL 8D89: BCC L8DAE ; BR IF Vss GT THRESH 8D8B: LDAB #16 ; ; 8D8D: BITA #$02 ; b1 8D8F: BEQ L8D96 ; BR IF NOT b1 8D91: BRCLR L0041,#$10,L8D96 ; BR IF NOT b4. A/C PRESSURE SW, (A/C ON), 8D95: INCB ; ; 8D96: L8D96 BITA #$04 ; b2, BLM OPT WD 8D98: BEQ L8DA0 ; BR IF NOT b2 8D9A: BRCLR L0041,#$20,L8DA0 ; BR IF NOT b5, PARK/NEUTRAL, 8D9E: ADDB #2 ; ; 8DA0: L8DA0 BRCLR L0051,#$01,L8DA6 ; BR IF NOT b0 8DA4: LDAB #20 ; CELL 20 8DA6: L8DA6 CMPB L026A ; BLM CELL NUMBER 8DA9: BEQ L8E1D ; BR IF CELL 20 8DAB: JMP L8E56 ;---------------------------------------------- ; HERE IF: NOT IDLE SPARK or FUEL ; & NOT SEP BLM IDLE ;---------------------------------------------- 8DAE: L8DAE LDAB L026A ; GET BLM CELL NUMBER 8DB1: CMPB #16 ; IDLE CELL, (IDLE) 8DB3: BCC L8E1F ; BR IF CELL NUM GT CELL 16 8DB5: ANDB #$03 ; 0000 0011, 8DB7: LDX #$48E4 ; INDEX BLM BOUNDS, RPM 8DBA: ABX ; ADJ INDEX 8DBB: DEX 8DBC: TSTB 8DBD: BEQ L8DCE ; BR IF Z TO RPM BOUNDS 8DBF: LDAA 0,X ; GET RPM BOUND CALIB VALUE 8DC1: SUBA L48EA ; BLM WINDOW HYST 75 RPM 8DC4: BCS L8DCA ; BR IF RPM-HYST GT THRESH 8DC6: CMPA L0062 ; RPM/25 8DC8: BHI L8E1F 8DCA: L8DCA CMPB #3 8DCC: BEQ L8DD9 8DCE: L8DCE LDAA 1,X ; GET CURRENT RPM BOUND 8DD0: ADDA L48EA ; BLM WINDOW HYST 75 RPM 8DD3: BCS L8DD9 ; BR IF RPM+HYST LT THRESH 8DD5: CMPA L0062 ; RPM/25 8DD7: BCS L8E1F ; BR IF RPM GT THRESH 8DD9: L8DD9 LDAB L026A ; GET BLM CELL NUMBER 8DDC: ANDB #$0C ; 0000 1100, 8DDE: LSRB ; SHIFT MASK TO 0000 0011 8DDF: LSRB 8DE0: LDX #$48E7 ; INDEX BLM BOUND, MAP 8DE3: ABX ; ADJ INDEX FOR CELL NUM 8DE4: DEX 8DE5: TSTB 8DE6: BEQ L8E04 ; BR IF Z 8DE8: LDAA 0,X ; ... else 8DEA: SUBA L48EB ; BLM HYST KPA, 2.5 Kpa 8DED: BCS L8E00 ; BR IF MAP-HYST .. THRESH 8DEF: LDY #$400E ; MODE WD, 0000 0000 AFR 4 8DF3: CMPA L01F2 8DF6: BRSET 0,Y,#$01,L8DFE ; BR IF b0, ( b0 1 = USE ALT CMAP ; Vs. MAP LD & AD MAP ; FOR BLM ENABLE 8DFB: CMPA L01E3 ; S/D MAP 8DFE: L8DFE BHI L8E1F 8E00: L8E00 CMPB #3 8E02: BEQ L8E1A 8E04: L8E04 LDAA 1,X ; 8E06: ADDA L48EB ; BLM HYST KPA, 2.5 Kpa 8E09: BCS L8E1A ; BR IF MAP+HYST .. THRESH 8E0B: CMPA L01F2 ; 8E0E: LDX #$400E ; MODE WD, 0000 0000 AFR 4 8E11: BRSET 0,X,#$01,L8E18 ; BR IF b0,, ( b0 1 = USE ALT CMAP ; Vs. MAP LD & AD MAP ; FOR BLM ENABLE 8E15: CMPA L01E3 ; S/D MAP 8E18: L8E18 BCS L8E1F ; 8E1A: L8E1A LDAB L026A ; GET BLM CELL NUMBER 8E1D: L8E1D BRA L8E5C ; ; CK RPM Vs. BLM RPM BOUNDS ; 8E1F: L8E1F CLRB ; CLR CELL COUNTER 8E20: LDAA L0062 ; RPM/25 8E22: CMPA L48E4 ; BLM RPM BOUND 900 RPM 8E25: BCS L8E34 ; BR IF RPM LT LOW RPM BOUND 8E27: INCB ; INCR CELL COUNT 8E28: CMPA L48E5 ; BLM RPM BOUND 1600 RPM 8E2B: BCS L8E34 ; BR IF RPM LT MID RPM BOUND 8E2D: INCB ; INCR CELL COUNT 8E2E: CMPA L48E6 ; BLM RPM BOUND 2200 RPM 8E31: BCS L8E34 ; BR IF RPM LT HI RPM BOUND 8E33: INCB ; INCR CELL COUNT 8E34: L8E34 LDAA L01F2 8E37: LDX #$400E ; MODE WD, 0000 0000 AFR 4 8E3A: BRSET 0,X,#$01,L8E41 ; BR IF b0, ,, ( b0 1 = USE ALT CMAP ; Vs. MAP LD & AD MAP ; FOR BLM ENABLE 8E3E: LDAA L01E3 ; S/D MAP 8E41: L8E41 CMPA L48E7 ; BLM BOUND, MAP 50 Kpa 8E44: BCS L8E56 8E46: ADDB #$04 ; INCR CELL COUND 8E48: CMPA L48E8 ; BLM BOUND, MAP 80 Kpa 8E4B: BCS L8E56 8E4D: ADDB #$04 ; INCR CELL COUND 8E4F: CMPA L48E9 ; BLM BOUND, MAP 31.3 Kpa 8E52: BCS L8E56 8E54: ADDB #$04 ; INCR CELL COUNT ;----------------------------- ; AFR MD WORD 0, ; b3 1 = DELAY BLM UPDATE ; b2 1 = BLK LRN ADDR CHANGE 1 = CHANGED ;----------------------------- 8E56: L8E56 BSET L003D,#$0C ; SET b2 & b3 8E59: BSET L006E,#$01 ; SET b0, EGR DIAG INT RESET ; 8E5C: L8E5C LDX #$02D6 ; INDEX BLM MATRIX 8E5F: ABX ; ADJUST INDEX 8E60: LDAA 0,X ; GET SELECTED CORR VALUE 8E62: CMPA L48F2 ; 165, MAX BLM 8E65: BHI L8E75 ; BR IF BLM LT 165 8E67: CMPB #16 ; IDLE CELL 8E69: BCS L8E70 ; BR IF CELL NUM LT IDLE CELL 8E6B: CMPA L48F0 ; 90, MIN BLM 8E6E: BRA L8E73 8E70: L8E70 CMPA L48EF ; 105, MIN BLM 8E73: L8E73 BCC L8E7B ; BR IF BLM GT THRESH, 90/105 8E75: L8E75 BSET L0046,#$40 ; SET b6, NON VOL MEM BOMBED 8E78: JSR LEF1D 8E7B: L8E7B STAA L026B ; BLM MULTIPLIER 8E7E: STAB L026A ; BLM CELL NUMBER ; 8E81: LDX #$400C ; MODE WD, 1001 0011 AFR 2 8E84: BRSET 0,X,#$10,L8ED2 ; BR IF b4, (INT RESET IN ; BLM CELL CHANGE) 8E88: LDAA L01FC ; TPS 8E8B: CMPA L48D0 ; 2.7% TPS MAX IDLE FUEL TABLE 8E8E: BCS L8E99 ; BR IF TPS LT THRESH 8E90: BRCLR L0052,#$04,L8EA2 ; BR IF NOT b2, TPS CLOSED, (FOR BLM) 8E94: BCLR L0052,#$04 ; CLR b2, TPS CLOSED, (FOR BLM) 8E97: BRA L8ECC 8E99: L8E99 BRSET L0052,#$04,L8EA2 ; BR IF b2, TPS CLOSED, (FOR BLM) 8E9D: BSET L0052,#$04 ; SET b2, TPS CLOSED, (FOR BLM) 8EA0: BRA L8ECC 8EA2: L8EA2 LDAA L026C 8EA5: SUBA L026B ; BLM MULTIPLIER 8EA8: BEQ L8EC9 ; BR IF Z 8EAA: BMI L8EBB 8EAC: CMPA L48FF ; 3 8EAF: BCS L8EC9 8EB1: LDAA L0232 ; CURRENT INTEGRATOR 8EB4: CMPA L48FD ; 120 INT MIN TO RESET INT IF BLM R -> L 8EB7: BHI L8EC9 ; BR IF LT CURR INT 8EB9: BRA L8ECC 8EBB: L8EBB NEGA 8EBC: CMPA L4900 8EBF: BCS L8EC9 8EC1: LDAA L0232 ; CURRENT INTEGRATOR 8EC4: CMPA L48FE ; 133 INT TO RESET INT ; .. IF BLM L -> R 8EC7: BCC L8ECC ; BR IF INT GT THRESH ;----------------------------- ; AFR MD WORD 0, ; b2 1 = BLK LRN ADDR CHANGE 1 = CHANGED ;----------------------------- 8EC9: L8EC9 BCLR L003D,#$04 ; CLR b2 8ECC: L8ECC LDAA L026B ; BLM MULTIPLIER 8ECF: STAA L026C 8ED2: L8ED2 LDAA L0263 8ED5: BNE L8EFD 8ED7: LDAA L48BE ; 0.1 SEC XISITION CALC INTERVAL 8EDA: STAA L0263 ; ; FILTER TPS ; 8EDD: LDAB L48BF ; 10% TPS FILTER COEF 8EE0: LDX L0201 ; OLD TPS 8EE3: LDAA L01FC ; TPS 8EE6: JSR LF0F6 ; FILT ROUTINE 8EE9: STD L0201 ; SAVE TPS VAL'S ; ; FILTER MAP WITH COOL SEL MAP COEF ; 8EEC: LDAB L01EE ;Cool temp based filter coeff. 8EEF: LDX L01EA ;SD MAP, filtered per cool tmp 8EF2: LDAA L01E3 ;SD MAP 8EF5: JSR LF0F6 ;Filter routine 8EF8: STD L01EA ;Save it, S/D MAP, filt'd per cool tmp 8EFB: BRA L8F00 8EFD: L8EFD DEC L0263 8F00: L8F00 BRCLR L003E,#$02,L8F4B ; BR IF NOT b1, BLM ENABLE ;----------------------------- ; AFR MD WORD 0, ; b3 1 = DELAY BLM UPDATE ;----------------------------- 8F04: BRSET L003D,#$08,L8F4B ; BR IF b3, 8F08: LDAA L0232 ; CURRENT INTEGRATOR 8F0B: CMPA #128 8F0D: BEQ L8F4B ; BR IF CURR INT INT = 128 8F0F: LDAB L0297 ; 8F12: INCB ; 8F13: BMI L8F1E ; 8F15: STAB L0297 8F18: ASLB 8F19: CMPB L028E 8F1C: BCS L8F89 8F1E: L8F1E LDAB L0296 8F21: INCB 8F22: BEQ L8F2C 8F24: STAB L0296 ; GET BLM UP DATE TIMER 8F27: CMPB L48E3 ; 350 msec FREQ BLM UPDATE 8F2A: BCS L8F89 ; BR IF BLM UPDATE TIME LT THRESH ; ; DO BLM UP DATE ; 8F2C: L8F2C LDX #$48ED ; INDEX CLS LP INT WINDOW 8F2F: LDY #$48EF ; INDEX MIN BLM VAL ILMIT 8F33: LDAB L026A ; GET BLM CELL NUMBER 8F36: CMPB #16 ; IDLE CELL 8F38: BCS L8F3D ; BR IF CELL NUM GT 16 8F3A: INX 8F3B: INY 8F3D: L8F3D SUBA #128 8F3F: BCS L8F4E 8F41: CMPA 0,X 8F43: BLS L8F89 8F45: BRSET L003E,#$40,L8F89 ; BR IF b6, RICH/ LEAN, 1 = RICH 8F49: BRA L8F57 8F4B: L8F4B JMP L8F82 8F4E: L8F4E NEGA 8F4F: CMPA 0,X 8F51: BLS L8F89 8F53: BRCLR L003E,#$40,L8F89 ; BR IF NOT b6, RICH/ LEAN, 1 = RICH ; ; ; 8F57: L8F57 LDX #$02D6 ; INDEX BLM MATRIX 8F5A: ABX ; ADJ INDEX 8F5B: LDAA 0,X ; GET INDEXED BLM VALUE 8F5D: BRCLR L003E,#$40,L8F70 ; BR IF NOT b6, RICH/ LEAN, 1 = RICH ; ; DECR BLM & CK FOR OVERFLOW ; 8F61: SUBA L48F1 ; 1, BLM UPDATE VALUE 8F64: BCS L8F6B ; BR IF BLM LT 1 8F66: CMPA 0,Y ; 8F69: BCC L8F7D ; BR IF BLM 8F6B: L8F6B LDAA 0,Y ; 8F6E: BRA L8F7D ; GO SAVE BLM VALUE ; ; INCR BLM & CK FOR OVERFLOW ; 8F70: L8F70 ADDA L48F1 ; 1, BLM UPDATE VALUE 8F73: BCS L8F7A ; 8F75: CMPA L48F2 ; 165, MAX BLM 8F78: BLS L8F7D 8F7A: L8F7A LDAA L48F2 ; 165, MAX BLM 8F7D: L8F7D STAA 0,X ; SAVE BLM VALUE 8F7F: STAA L026B ; BLM MULTIPLIER 8F82: L8F82 CLRB 8F83: STAB L0297 8F86: STAB L0296 8F89: L8F89 BCLR L003D,#$08 ; CLR b3, (1 = DELAY BLM UPDATE) 8F8C: LDAA L0063 ; RPM/12.5 8F8E: STAA L0065 ; OLD RPM 8F90: LDAA L01F8 ; o2 VDC 8F93: STAA L01F7 ; OLD o2 VDC 8F96: RTS ;------------------------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Engine governor PID subroutine ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L8F97 LDX #L400F ;Option byte BRCLR 0,X,#$01,L8FA6 ;Bra if b0==0, no governor ; BRCLR L004F,#$80,L8FA6 ;Status word, bra if b7==0, engine not running ; BRCLR L006F,#$34,L8FAC ;(???) ; ;-Here to disable governor ; L8FA6 LDAA #255 ;Load max TPS ; L8FA8 STAA L02BC ;Save desired TPS output RTS ;Return ; ;~~~~~~~~~~~~~~~~~~~~~~~ ; Here for RPM governor ;~~~~~~~~~~~~~~~~~~~~~~~ ; L8FAC BCLR L0075,#$04 ;Status word, clear b2, RPM overspeed ; LDAA L50CE ;Load upper RPM/25 threshold SUBA L02B1 ;Subtract governor RPM/25 BCC L8FBB ;Bra if delta rpms >=0 ; ;-Engine speed greater then upper threshold ; NEGA ;Get abs. value BSET L0075,#$04 ;Status word, set b2, RPM overspeed ; ;-Engine speed less then upper threshold ; L8FBB STAA L02B6 ;Save it, RPM error BRCLR L0082,#$40,L8FC7 ;Status word, bra if b6==0, no HU ; JSR L1809 ;Do HU ; BCS L8FA8 ;Bra if carry set, save and return ; ;-Check MPH limit ; L8FC7 LDAA L50D0 ;Upper MPH threshold BEQ L901B ;Bra if ==0, skip speed governing ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Here to check for MPH overspeed ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; LDD L02A7 ;MPH SUBA L50D0 ;Subtract upper MPH limit BCS L8FFA ;Bra if MPH less ; ASLD ;MPH error x 2 BCS L8FDA ;Bra if overflow ; ASLD ;MPH error x 2 BCC L8FDD ;Bra if overflow ; L8FDA LDD #$FFFF ;Clear overflow ; L8FDD STAA L02B7 ;Save it, MPH error ; BSET L0075,#$40 ;Status word, set b6, MPH overspeed ; BRSET L0075,#$80,L9016 ;Status word, bra if b7==1, in MPH govern ; ;-Limit and update TPS if entering MPH govern ; LDAA L50D7 ;Upper limit for governor TPS CMPA L01FC ;%TPS BCS L8FF2 ;Bra if TPS >, save limit instead ; LDAA L01FC ;Load TPS ; L8FF2 STAA L02A9 ;Save it, governor TPS ; BSET L0075,#$80 ;Set b7, in MPH govern BRA L9016 ;Bra to continue ; ;-Here if MPH less then threshold ; L8FFA NEGA ;Get abs. value NEGB ; SBCA #$00 ;Perform carry if needed ASLD ;x2 BCS L9004 ;Bra if overflow ; ASLD ;x2 BCC L9007 ;Bra if overflow ; L9004 LDD #$FFFF ;Clear overflow ; L9007 STAA L02B7 ;Save it, MPH error BCLR L0075,#$40 ;Clear b6, no MPH overspeed BRCLR L0075,#$80,L901B ;Bra if b7==0, not in MPH govern CMPA L50D1 ;Governor MPH error threshold to exit MPH govern BCC L901B ;Bra if error >= ; ;-Here to exit RPM governor if governing MPH ; L9016 BCLR L0075,#$13 ;Status word, clear b4, post-derivative TPS return, ;b1, derivative action anticipated, ;and b0, in RPM govern BRA L901E ;Bra to continue ; ;-Here if not governing MPH ; L901B BCLR L0075,#$80 ;Clear b7, in MPH govern ; L901E BRCLR L0075,#$04,L9039 ;Bra if b2==0, no RPM overspeed ; LDAB L0075 ;Status word BITB #$81 ;Test b7, gov. MPH, and b0, gov. RPM BNE L9033 ;Bra if performing RPM or MPH governing ; ;-Update governor TPS ; LDAA L01FC ;%TPS CMPA L02A9 ;Governor TPS BHI L9033 ;Bra if TPS >=, no update ; STAA L02A9 ;Save TPS as governor TPS ; L9033 BSET L0075,#$01 ;Set b0, in RPM govern BCLR L0075,#$12 ;Clear b4, TPS post derivative return, and ;b1, derivative action anticipated L9039 LDAB L0075 ;Status word BITB #$81 ;Test b7, MPH govern, and b0, RPM govern BNE L9042 ;Bra if !=0 ; JMP L90F3 ; ; L9042 LDX #L50DE ;Proportional gain table vs. desired TPS output LDAA L02BC ;Desired TPS output LSRA ;/2 JSR LF136 ;2D lookup with UL ; LDAB L02B7 ;Load MPH error LDX #L50D5 ;Start of governor params BRCLR L0075,#$01,L905A ;Bra if b0==0, not in RPM govern ; ;-Load RPM error and terms instead if in RPM govern ; INX ;+1, in RPM govern LDAB L02B6 ;Load RPM error ; L905A MUL ;Gain term x error ASLD ;x2 BCS L9064 ;Bra if overflow ; ASLD ;x2 BCS L9064 ;Bra if overflow ; ASLD ;x2, prescale to div. by 32 BCC L9067 ;Bra if no overflow ; L9064 LDD #$FFFF ;Clear overflow ; L9067 STD L02AD ;Save it, governor integral term LDAA 0,X ;Load prop. multiplier term LDX #L02AD ;Addr. of integral term JSR LF1ED ;(A x X*)/256 ; STD L02AD ;Save it, governor integral term LDAA L50D3 ;RPM prop. gain mult. LDAB L02B6 ;RPM error MUL ;RPM error x gain ASLD ;x2 BCS L9082 ;Bra if no overflow ; ASLD ;x2 BCC L9085 ;Bra if no overflow ; L9082 LDD #$FFFF ;Clear overflow ; L9085 STD L02B3 ;RPM prop. term CLR L02B5 ;Clear MPH prop. term BRCLR L0075,#$80,L90AF ;Bra if b7==0, not in MPH govern ; ;-Here if in MPH govern ; LDAA L02B7 ;Load MPH error LDAB L50D4 ;MPH proportioning gain term MUL ;MPH error x gain term ASLD ;x2 BCS L90A2 ;Bra if overflow ; ASLD ;x2 BCS L90A2 ;Bra if overflow ; ASLD ;x2 BCS L90A2 ;Bra if overflow ; ASLD ;x2 BCC L90A5 ;Bra if no overflow L90A2 LDD #$FFFF ;Clear overflow ; L90A5 STAA L02B5 ;Save it, MPH prop. term BRSET L0075,#$04,L90AF ;Status word, bra if b2==1, RPM overspeed ; STD L02B3 ;RPM prop. term ; L90AF LDAB L0075 ;Status word BITB #$44 ;Test b2, RPM overspeed, b6, MPH overspeed BEQ L90DB ;Bra if no overspeed ; ;~~~~~~~~~~~~~~~~~~~~~~~~ ; RPM/MPH overspeed here ;~~~~~~~~~~~~~~~~~~~~~~~~ ; LDD L02A9 ;Load governor TPS SUBD L02AD ;Gov'r integral term BCS L90C2 ;Bra if underflow ; CMPA L50D8 ;Min desired TPS for overspeed BCC L90C8 ;Bra if governor TPS >= ; L90C2 LDAA L50D8 ;Load min desired TPS JMP L9176 ; ; L90C8 STD L02A9 ;Save it, governor TPS SUBD L02B3 ;Subtract RPM/MPH prop. term BCS L90D5 ;Bra if underflow CMPA L50D8 ;Min desired TPS BCC L90D8 ;Bra if TPS >= L90D5 LDAA L50D8 ;Load min desired TPS ; L90D8 JMP L917A ;Bra to exit ; ;~~~~~~~~~~~~~~~~~~~~~~ ; Here if no overspeed ;~~~~~~~~~~~~~~~~~~~~~~ ; L90DB LDD L02A9 ;Load governor TPS ADDD L02AD ;Governor integral term BCC L90E6 ;Bra if no overflow ; LDD #$FFFF ;Clear overflow ; L90E6 STD L02A9 ;Save it, governor TPS ADDD L02B3 ;RPM/MPH governing prop. term BCC L90F0 ;Bra if overflow ; LDAA #255 ;Clear overflow ; L90F0 JMP L917A ;Bra to exit ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Check if derivative action is needed ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L90F3 CLR L02B5 ;Clear MPH prop. term BRSET L0075,#$02,L9120 ;Bra if b1==1, derivative action anticipated ; LDAA L02B0 ;Delta governor RPMs/25 BMI L9144 ;Bra if RPMs falling ; ;-RPMs rising here ; CMPA #32 ;800 rpm, allowed upper limit for delta RPM BLS L9105 ;Bra if <= ; LDAA #32 ;Load max rpms ; L9105 LDX #L50E4 ;Derivative RPM thresholds vs delta RPMs table JSR LF153 ;2D lookup with line count ; CMPA L02B1 ;Governor RPM/25 BCC L9144 ;Bra if gov'r RPM/25 <= ; ;-RPMs high enough for derivative action ; BSET L0075,#$02 ;Set b1, derivative action anticipated LDAA L50D7 ; 0% MAX DESIRED TPS% AT LEAD MODE START CMPA L01FC ; TPS BLS L916E ;Bra if TPS >= ; LDAA L01FC ;Load TPS ; BRA L916E ;Bra to continue ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Apply derivative action if needed ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L9120 BRSET L0075,#$10,L912A ;Bra if b4==1, post-derivative TPS return ; CLRA ;Preclear A SUBA L02B0 ;Delta gov'r RPM/25 BLT L9148 ;Bra if gov'r RPMs rising ; ;-RPMs falling here, allow throttle to return ; L912A BSET L0075,#$10 ;Set b4, post-derivative TPS return LDAA L02BC ;Desired governing TPS to be outputted LDAB L50DC ;High desired TPS return gain CMPA L50DB ;Threshold for high desired TPS BCC L913B ;Bra if >= ; LDAB L50DD ;Low desired TPS return gain ; L913B LDAA L02B6 ;RPM error MUL ;RPM error x gain factor ADDD L02A9 ;Add in governor TPS BCC L9177 ;Bra if no overflow ; L9144 LDAA #255 ;Load max TPS BRA L9176 ; ; ;-RPMs rising here, apply derivative action ; L9148 LDX #L50F0 ;TPS derivative gain factor vs. cool temp LDAA L0006 ;Cool temp, linear CMPA #128 ;56 deg C, upper limit for lookup BLS L9153 ;Bra if cool temp <= ; LDAA #128 ;Load max, 56 deg C ; L9153 LSRA ;cool temp/2 for lookup JSR LF15E ;2D lookup ; LDAB L02B0 ;Load delta gov'r RPMs/25 MUL ;delta RPMs x gain ASLD ;x2 BCS L9161 ;Bra if overflow ; ASLD ;x2 BCC L9164 ;Bra if no overflow ; L9161 LDD #$FFFF ;Clear overflow ; L9164 TAB ;Get result into B LDAA L02A9 ;Governor TPS SBA ;Subtract derivative term LDAB L02AA ;Load LSB of gov'r tps BCS L9173 ;Bra if underflow ; L916E CMPA L50D9 ;Min desired TPS for derivative action BCC L9176 ;Bra if TPS >= ; L9173 LDAA L50D9 ;Load min TPS ; L9176 CLRB ;Clear LSB ; L9177 STD L02A9 ;Save it, governor TPS ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Here to save desired outputted TPS and return ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L917A LDAB L0075 ;Status word BITB #$84 ;Test b7, in MPH govern, and b2, RPM overspeed BEQ L919A ;Bra if ==0 ; BRSET L0075,#$40,L918D ;Bra if b6==1, MPH overspeed ; ;-No MPH overspeed, add in MPH prop. term ; ADDA L02B5 ;Add in MPH prop. term BCC L919A ;Bra if no overflow ; LDAA #255 ;Clear overflow BRA L919A ; ; ;-Here if MPH overspeed, subtract MPH prop. term ; L918D SUBA L02B5 ;Subtract MPH prop. term BCS L9197 ;Bra if undrflow ; CMPA L50D8 ;Min desired TPS BCC L919A ;Bra if outputted TPS is >= L9197 LDAA L50D8 ;Load min desired TPS ; L919A STAA L02BC ;Save it, desired outputted TPS BITB #$11 ;Test b4, RPM TPS lead return, and b0, ; ;RPM govern in effect BEQ L91B5 ;Bra if ==0 ; LDAB L02AB ;(???) BNE L91B5 ; ; BRCLR L0075,#$01,L91B2 ;Bra if b0==1, not in RPM govern ; LDAA L02B1 ;Governor RPM/25 CMPA L50CF ;Min governor RPM BCC L91B5 ;Bra if RPMs >= ; L91B2 BCLR L0075,#$13 ;Clear b4, RPM TPS lead, b1, ; L91B5 RTS ;Return ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Governor actuator PID control routine ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L91B6 LDAB L02BC ;Desired TPS to be outputted SUBB L01FC ;Subtract current TPS BCC L91BF ;Bra if TPS error >=0 ; ;-TPS error < 0 ; NEGB ;Get abs val ; L91BF STAB L02BD ;Save it, TPS error ; ;-Compute actuator prop. gain ; LDX #L50F5 ;Actuator %DC prop. gain vs. %TPS error table LDAA L02BD ;TPS error JSR LF153 ;2D lookup with line count ; LDAB L02BD ;Load TPS error MUL ;TPS error x prop. gain ASLD ;x2 BCS L91D5 ;Bra if overflow ; ASLD ;x2 BCC L91D8 ;Bra if no overflow ; L91D5 LDD #$FFFF ;Clear overflow ; L91D8 STD L02B8 ;Save it, actuator prop. term ; ;-Compute actuator integral gain ; LDX #$50FF ;Actuator integral gain vs. %TPS error table LDAA L02BD ;TPS error JSR LF153 ;2D lookup with line count ; LDAB L02BD ;TPS error MUL ;TPS error x integral gain STD L02BA ;Save it, integral factor ; XGDX ;Swap result into X LDAA L02BC ;Desired TPS to be outputted CMPA L01FC ;Compare to current TPS XGDX ;Swap result back in BCC L920E ;Bra if TPS <= ; ;-Here to add in the integral and prop. term ; ADDD L02AB ;Add in integral factor to actuator integral term BCC L91FD ;Bra if no overflow LDD #$FF00 ;Clear overflow ; L91FD STD L02AB ;Save it, actuator integral term ; ADDD L02B8 ;Add in act. prop. term BCS L920A ;Bra if overflow L9205 ADDD #0128 ;Round up if needed BCC L9221 ;Bra if no overflow ; L920A LDAA #255 ;Clear overflow BRA L9221 ; ; ;-Here to subract the integral and prop. term ; L920E LDD L02AB ;Load actuator integral term SUBD L02BA ;Subtract integral factor BCC L9218 ;Bra if no underflow ; CLRA ;Clear underflow CLRB ; ; L9218 STD L02AB ;Save it, integral term SUBD L02B8 ;Subtract prop. term BCC L9205 ;Bra if no underflow CLRA ;Clear underflow ; L9221 LDAB L02BC ;Desired governing TPS to be outputted CMPB #$FF ;255 = No governing BNE L922E ;Bra if != 255 ; LDX #$0000 ; STX L02AB ;Clear actuator integral term ; L922E TAB ;Governing TPS to B BRCLR L0051,#$10,L9236 ;Status word, bra if b4==0, no high batt. volts ; ;-High batt volts, clear desired TPS ; CLRB ; BRA L9244 ; ; L9236 BRCLR L003B,#$10,L9244 ;Status word, bra if b4==0, not in mode 4 ; LDAA L0395 ; BITA #$01 ;Test b0 BEQ L9244 ;Bra if ==0 ; LDAB L0396 ; ; L9244 LDAA #$1F ; STD L306C ;Hardware RTS ;Return ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;~~~~~~~~~~~~~~~~~~~~~~~~ ; ; I/O control routine ; ;~~~~~~~~~~~~~~~~~~~~~~~~ ; L924A LDAB #$AA ;1010 1010 STAB L303A ;COP ; ;-Check opt. byte to see if A/C is present ; LDAA L400F ;Opt. byte BITA #$04 ;Test b2, using adaptive A/C control BNE L9268 ;Bra if ==1, skip A/C routine ; ;-Using standard on/off control, check A/C status ; BRSET L004D,#$01,L9262 ;Bra if b0==1, A/C requested ; ;-No A/C requested here ; BCLR L0052,#$20 ;Clear b5, A/C not requested BCLR L0041,#$10 ;Clear b4, A/C off BRA L9268 ;Bra to continue ; ;-A/C requested ; L9262 BSET L0052,#$20 ;Set b5, A/C requested BSET L0041,#$10 ;Set b4, A/C on ; ;-Check to see if in P/N ; L9268 BCLR L0041,#$20 ;Preclear b5, park/neutral ; LDX #L400F ;Opt. byte BRSET 0,X,#$40,L927C ;Bra if b6==1, non-electronic trans present ; ;-Elec. trans here ; LDAA L004D ;I/O port C word ANDA #$1C ;Clear all but b2-b4 CMPA #$14 ;0001 0100 BNE L9285 ;Bra if b2,b4 !=0, not in P/N ; BRA L9282 ; ; ;-Non elec. trans here ; L927C LDAA L004D ;I/O port C word BITA #$10 ;Test b4, P/N switch BNE L9285 ;Bra if !=0 ; L9282 BSET L0041,#$20 ;Set b5, in P/N ; L9285 RTS ;Return ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;~~~~~~~~~~~~~~~~~~~~~~ ; ; IAC control routine ; ;~~~~~~~~~~~~~~~~~~~~~~ ; L9286 LDAB L000A ;IAC control word ; LDAA L00A1 ;A/D battery voltage CMPA #169 ;16.9 V, max batt volts for IAC operation BLS L9292 ;Bra if batt volts <= ; ANDB #$EF ;Clear b4, disable IAC BRA L929B ;Bra ; L9292 BRSET L0044,#$10,L92A0 ;Bra if b4==1, shutting down. Skip low volts check CMPA L4EAC ;Min batt volts for IAC operation BHI L92A0 ;Bra to continue L929B BSET L003E,#$04 ;Status word, set b2, batt volts out of range for IAC operation BRA L92E3 ;Bra to skip IAC adj. L92A0 BCLR L003E,#$04 ;Status word, clr b2, batt volts within range for IAC operation ; ORAB #$10 ;Set b4, enable IAC LDAA L0007 ;Current IAC steps CMPA L0008 ;Desired IAC steps BNE L92AF ;Bra if !=, continue ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Here if delta IAC counts ==0 ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ANDB #$FE ;Clr b1 of IAC control word, set up to retract IAC next pass BRA L92E3 ;Bra to save and skip IAC adj. ; L92AF BRCLR L0009,#$01,L92B7 ;Bra if resetting IAC, force IAC to step if needed ; BRSET L0002,#$03,L92E3 ;Loop counter, bra if b1,b2 set, skip IAC adj. ; L92B7 BCC L92C2 ;Bra if current IAC counts >= IAC counts, extend IAC ; ;~~~~~~~~~~~~~~~~~~~~~ ; Here to retract IAC ;~~~~~~~~~~~~~~~~~~~~~ ; ANDB #$FE ;Clr b1, retract IAC BRSET L000A,#$01,L92E3 ;Status word, bra if b==1, previously exteding IAC, skip routine this time around ; INCA ;+1 to current IAC steps BRA L92C9 ;Bra to save it ; ;~~~~~~~~~~~~~~~~~~~~ ; Here to extend IAC ;~~~~~~~~~~~~~~~~~~~~ ; L92C2 ORAB #$01 ;Set b1, extend IAC BRCLR L000A,#$01,L92E3 ;Bra if b0==0, previously where retracting IAC, skip routine this time around ; DECA ;-1 from current IAC counts ; ;-Save IAC control word ; L92C9 STAA L0007 ;Current IAC counts ; ;~~~~~~~~~~~~~~~~ ;-Test IAC state ;~~~~~~~~~~~~~~~~ ; ; b3, 1=Coil B state on ; b2, 1=Coil A state on ; ;IAC control word BRSET L000A,#$0C,L92D9 ;Bra if b2,b3==1, coil A,B on ; BRCLR L000A,#$0C,L92D9 ;Bra if b2,b3==0, coil A,B off ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Here if neither coil simultaniously on/off ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; BITB #$01 ;Test b1, extend IAC BNE L92DD ;Bra if ==1, extend IAC ; BRA L92E1 ;Bra if retracting IAC ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Here if both coils simultaniously on/off ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L92D9 BITB #$01 ;Test b1, extend IAC BNE L92E1 ;Bra if extending IAC ; ;-Here to toggle coil A ; L92DD EORB #$04 ;Toggle coil A state ; BRA L92E3 ;Bra to save ; ;-Here to toggle coil B ; L92E1 EORB #$08 ;Toggle coil B state ; ;-Here to skip IAC adj./Output to hardware ; L92E3 STAB L000A ;Save status word SEI ;Momentarily disable interrupts LDAA L004C ;I/O port D ANDA #$E3 ;Mask, 1110 0011, ANDB #$1C ;Mask, 0001 1100 ABA ;Update port D val. STAA L004C ; CLI ;Re-enable interrupts RTS ;Return ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;--------------------------- ; IAC DIAG MD WD 3 ; b4 1 = THROTTLE KICKER BARO DISABLE REQUESTED ; b3 1 = THROTTLE KICKER DISABLE REQUESTED ; b2 1 = THROTTLE KICKER ACTIVE ;----------------------------- ; ;~~~~~~~~~~~~~~~~ ; ; ; ;~~~~~~~~~~~~~~~~ ; ;(???) ; L92F1 BCLR L0037,#$18 ;Clear b3=, b4= ; BRCLR L0037,#$04,L92FE;IAC status word #3, vra if b2==0, throttle kicker active ; CLR L088D ;Clear TPS kicker time BCLR L0037,#$04 ;Clear b2, throttle kicker active ; L92FE BRSET L0036,#$40,L9305 ;Bra if b6==1, TPS kicker has been disabled once ; BSET L0036,#$40 ;Set b6, TPS kicker has been disabled once L9305 BSET L004B,#$80 ;Set b7, RTS ;Return ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;--------------------------- ; IAC DIAG MD WD 3 ; b2 1 = THROTTLE KICKER ACTIVE ;----------------------------- 9309: L9309 BRSET L0037,#$04,L931F ; BR IF b2, THROTTLE KICKER ACTIVE 930D: LDAA L02D4 ; TPS A/D 9310: ADDA L50CB ; A/D TPS COMP FOR TPS OFFSET ; WHEN TPS RE-ENABLED 9313: STAA L0319 ; 9316: LDAA L50C9 ; 0 SEC'S, HYST TIME IF RE-ENBLED ; MUST STAY ON 9319: STAA L088D ; TPS KICKER TIME ;--------------------------- ; IAC DIAG MD WD 3 ; b2 1 = THROTTLE KICKER ACTIVE ;----------------------------- 931C: BSET L0037,#$04 ; SET b2, THROTTLE KICKER ACTIVE 931F: L931F BCLR L004B,#$80 ; 9322: RTS ; ;~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Routine to enable IAC ; ;~~~~~~~~~~~~~~~~~~~~~~~~ ; L9323 LDX #L004C ;I/O port D control word BSET 0,X,#$10 ;Set b4, enable IAC RTS ;Return ; ;---------------------------------------------- ; I/O PORT C ; b7 1 = FWD LOW SW (NO) ; ;---------------------------------------------- 932A: L932A BRSET L004D,#$80,L9331 ; BR IF b7, FWD LOW SW (NO) 932E: SEC 932F: BRA L9332 9331: L9331 CLC 9332: L9332 RTS ;---------------------------------------------- ;---------------------------------------------- ; ; ; ;---------------------------------------------- 9333: L9333 PSHA ; ; 9334: LDAA L3008 ; PORT D DATA 9337: BITA #$04 ; b2 9339: PULA ; 933A: BEQ L933F ; BR IF NOT b2 933C: SEC ; 933D: BRA L9340 ; ; 933F: L933F CLC ; 9340: L9340 RTS ; ;~~~~~~~~~~~~~~~ ; ; ; ;~~~~~~~~~~~~~~~ ; L9341 LDAA L4EE8 ; 15.6 %TPS, UPPER LMT FOR CLSD TPS ASLA ;x2 ASLA ;x2 STAA L0885 ; BRCLR L0046,#$40,L9355;Bra if b6=0, non vol mem. ; ;-Non-vol. memory lost ; LDAA L4EA6 ;150 STEPS, IAC park steps STAA L0007 ;IAC steps JSR L9387 ; ; ; ;-Non-vol. memory intact ; L9355 BRSET L0004,#$08,L935E ;Bra if b3==1, bad shutdown ; JSR L93D4 ;(???) BRA L9361 ; ; ;-Here if bad shutdown ; L935E JSR L94A8 ;(???) ; ; CK IAC OPT WD 1, b3 ; INIT A/C ON INTEGRAL CELLS TO A/C OFF CELLS ; L9361 LDAA L4E85 ;IAC option word #1 BITA #$04 ;Test b3, init A/C on integral cells to A/C off integral cells BEQ L937F ;Bra if ==0, dont init A/C on INT cells to A/C off cells. ; ;-Check Baro quals for throttle kicker ; LDAA L0317 ;Baro CMPA L50C4 ;Baro for disabling throttle kicker BLS L9377 ;Bra if baro <= ; ;-Check cool quals for throttle kicker ; LDAA L0006 ;Cool temp, linear CMPA L50BD ;-40 deg., upper thresh. for tps kicker BCC L937C ;Bra if cool temp is greater ; ;-Here to set throttle kicker ; BSET L0037,#$04 ;Det b2, throttle kicker active BRA L937F ;Bra to save and re ; L937C JSR L92F1 ; L937F LDAA L0007 ;IAC steps (???) STAA L0008 ;IAC steps, one delayed (???) JSR L9323 ;Routine to enable IAC RTS ;Return ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Do resets if non-vol. ram is lost ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; L9387 LDAA L0006 ;Cool temp, linear CMPA L4EAB ;110 deg C TPA ;Cond. Code Reg. to A ; ; LDAB L4EA8 ;20% FLOW VAL OF IDLE CELL IN DRIVE AFTER NVM fail (???) STAB L02CA ; STAB L02CC ; TAP ;Restore CCR BCS L93A0 ;Bra if stored cool temp < 110 deg C ; ;-Cool temp > 110 deg C ; ADDB L4EA9 ; 20% FLOW DIFF FOR A/C ON AFTER NON VOL MEM FAIL (???) BCS L93A5 ;Bra if overflow ; BRA L93A7 ;Bra to store ; ;-Cool temp <= 110 deg C ; L93A0 ADDB L4EAA ; 12% FLOW ADDED TO A/C ON INTEGRAL & LEARN CELL (???) BCC L93A7 ;Bra if no overflow L93A5 LDAB #$FF ;Clear overflow ; L93A7 STAB L02CD ; STAB L02CF ; LDAB L4EA7 ; STAB L02C0 ; STAB L02C2 ; TAP ;Load previous CCR BCS L93C0 ;Bra if cool temp < 110 deg C ; ;-Cool temp > 110 deg C ; ADDB L4EA9 ; BCS L93C5 ; ; BRA L93C7 ; ; ;-Cool temp <= 110 deg C ; L93C0 ADDB L4EAA ; 12% FLOW ADDED TO A/C ON INTEGRAL & LEARN CELLS BCC L93C7 ; ; L93C5 LDAB #$FF ;Clear overflow L93C7 STAB L02C3 ; STAB L02C5 ; ; LDAA L50CA ;Default A/D TPS STAA L02D4 ;A/D tps RTS ;Return ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;------------------------------------------------- ; THROTLE CRACKER CALIB'S ; ;------------------------------------------------- ;----------------------------- ; IAC DIAG MD WD 1 ; b4 1 = WARM IDLE STABLE, A/C OFF ;----------------------------- 93D4: L93D4 BRCLR L0009,#$10,L93F2 ; BR IF NOT b4 ; 93D8: LDAA L02CC ; 93DB: CLRB ; 93DC: ADDA L508E ; 1% FLOW, IGN OFF, DRIVE & A/C OFF 93DF: BCC L93E4 ; 93E1: LDAA L50B9 ; 65% FLOW MAX IDLE INTEGRAL FOR NO A/C 93E4: L93E4 STAA L02CC ; 93E7: CMPA L02CA ; 93EA: BLS L93EF ; 93EC: STD L02CA ; 93EF: L93EF BCLR L0009,#$10 ; ; 93F2: L93F2 BRCLR L0009,#$20,L9410 ; 93F6: CLRB ; 93F7: LDAA L02CF ; 93FA: ADDA L508F ; 2.3% FLOW ,IGN OFF, DRIVE & A/C ON 93FD: BCC L9402 ; 93FF: LDAA L50BA ; 99.6% FLOW MAX IDLE INTEGRAL FOR A/C ON 9402: L9402 STAA L02CF ; 9405: CMPA L02CD ; 9408: BLS L940D ; 940A: STD L02CD ; ;----------------------------- ; IAC DIAG MD WD 1 ; b5 1 = WARM IDLE STABLE, A/C ON ;----------------------------- 940D: L940D BCLR L0009,#$20 ; CLR b5 ; ; ; CK IAC OPT WD 1, b0 ; 1 = INIT 16 BIT INTEGRALS FM 8 BIT WARM CELLS ; 0 = NORMAL INTEGRAL INIT ; 9410: L9410 LDAB L4E86 ; IAC OPT WD 1 9413: BITB #$01 ; 9415: BEQ L9423 ; NR IF NOT b0 9417: LDAA L02C2 ; 941A: STAA L02C0 ; ; 941D: LDAA L02CC ; 9420: STAA L02CA ; ; CK IAC OPT WD 1, b3 ; b3 = 1 = INIT A/C ON INTEGRAL CELLS TO A/C OFF CELLS ; 9423: L9423 LDAA L4E85 ; 9426: BITA #$08 ; b3 9428: BEQ L9494 ; BR IF NOT b3 942A: LDAA L0006 ; COOL 942C: CMPA L4EAB 942F: TPA 9430: LDAB L02C0 9433: TAP 9434: BCS L943D 9436: ADDB L4EA9 9439: BCS L9442 943B: BRA L9447 943D: L943D ADDB L4EAA ; 12% FLOW ADDED TO A/C ON INTEGRAL & LEARN CELLS 9440: BCC L9447 9442: L9442 LDAB #255 9444: STAB L02C4 9447: L9447 STAB L02C3 944A: LDAB L02C2 944D: TAP 944E: BCS L9457 ; 9450: ADDB L4EA9 9453: BCS L945C 9455: BRA L945E 9457: L9457 ADDB L4EAA ; 12% FLOW ADDED TO A/C ON INTEGRAL & LEARN CELLS 945A: BCC L945E 945C: L945C LDAB #$00FF 945E: L945E STAB L02C5 9461: LDAB L02CA 9464: TAP 9465: BCS L946E 9467: ADDB L4EA9 946A: BCS L9473 946C: BRA L9478 946E: L946E ADDB L4EAA ; 12% FLOW ADDED TO A/C ON INTEGRAL & LEARN CELLS 9471: BCC L9478 9473: L9473 LDAB #$00FF 9475: STAB L02CE 9478: L9478 STAB L02CD 947B: LDAB L02CC 947E: TAP 947F: BCS L9488 9481: ADDB L4EA9 9484: BCS L948D 9486: BRA L948F 9488: L9488 ADDB L4EAA ; 12% FLOW ADDED TO A/C ON INTEGRAL & LEARN CELLS 948B: BCC L948F 948D: L948D LDAB #$FF 948F: L948F STAB L02CF 9492: BRA L94A7 ; ; IAC OPT WD 1, b0 ; b0, 1 = INIT 16 BIT INTEGRALS FM 8 BIT WARM CELLS ; 0 = NORMAL INTEGRAL INIT ; 9494: L9494 LDAB L4E86 9497: BITB #$01 ; b0 9499: BEQ L94A7 ; BR IF NOT b0 949B: LDAA L02C5 949E: STAA L02C3 94A1: LDAA L02CF 94A4: STAA L02CD 94A7: L94A7 RTS ;----------------------------- ; DIACMCW2, IDLE AIR CNT'L MODE WD ; ; b3 1 = COIL B STATE ON ; b2 1 = COIL A STATE ON ;----------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; IAC (???) ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; b3==1, coil B on ; b2==1, coil A on ; L94A8 BRSET L0009,#$01,L94B2 ;Bra if b0==1 LDAA L000A ; ANDA #$0C ;0000 1100, clear all but b2, b3 STAA L000A ; L94B2 RTS ;Return ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 94B3: L94B3 BRCLR L0082,#$40,L94BA ; BR IF NOT b6, 94B7: JSR L1803 ; To HEADS UP Vector table ; 94BA: L94BA BCLR L0038,#$40 ; CLR b6, ; ; SERIAL DATA MD WORD ; CK FOR ENG CONTROLLER MODE ; 94BD: BRCLR L003B,#$10,L94C4 ; BR IF NOT b4, IN MODE 4, ($F4) 94C1: JSR LA4DD ; ;----------------------------- ; IAC DIAG MD WD 1 ; b0 1 = IAC MOTOR R/S IN WORK ;----------------------------- 94C4: L94C4 BRCLR L0009,#$01,L94DC ; BR IF NOT b0 94C8: CLR L0008 ; 94CB: TST L0007 ; 94CE: BEQ L94D3 ; 94D0: JMP L997E ;----------------------------- ; IAC DIAG MD WD 1 ; b0 1 = IAC MOTOR R/S IN WORK ;----------------------------- 94D3: L94D3 BCLR L0009,#$01 ;----------------------------- ; IAC DIAG MD WD 1 ; b2 1 = R/S REQUESTED IF BIT CLEAR ;----------------------------- 94D6: BSET L0009,#$04 ; SET b2 94D9: JSR L9387 ;----------------------------- ; MINOR LOOP MODE WD ; b4 1 = IGNITION OFF ;----------------------------- 94DC: L94DC BRCLR L0044,#$10,L94ED ;----------------------------- ; IAC DIAG MD WD 1 ; b2 1 = R/S REQUESTED IF BIT CLEAR ;----------------------------- 94E0: BRCLR L0009,#$04,L94EA ; BR IF NOT b2 94E4: LDAA L4EA6 ; 150 STEPS PARK DOWN 94E7: JMP L997C 94EA: L94EA JMP LA4D0 94ED: L94ED BRCLR L004F,#$80,L94F4 ; BR IF NOT b7, ENGINE RUNNING 94F1: JMP L961A 94F4: L94F4 LDAA L02A6 94F7: LDX #$4EEB 94FA: JSR LF15E ; 2d LK UP 94FD: STAA L0866 ;-------------------------------------------------- ; IAC CLS LP ENABLE DELAY AFTER START UP Vs. COOL ; (RPM LOW) ; ; TBL = 10 * SEC'S ;-------------------------------------------------- 9500: LDAA L02A6 ; 9503: LDX #$4EF8 ; IAC CLS LP ENABLE DELAY TBL 9506: JSR LF15E ; 2d LK UP 9509: STAA L0867 ; IAC ENABLE DELAY TIME (Post startup) 950C: LDAA L4EAE ; 19.5% FLOW ADDED AIR AFTER START UP ; (Replaces TPS) 950F: STAA L086B ; FLOW ADDED AIR AFTER START UP 9512: LDAA L4EAF ; 100 Msec, IAC DECAY PERIOD 9515: STAA L086C ; IAC DECAY PERIOD 9518: LDAA L02A6 ; 951B: CMPA #160 ; 951D: BLS L9524 ; 951F: SUBA #160 ; 9521: ASLA ; 9522: ADDA #160 ; 9524: L9524 PSHA ; ;-------------------------------------------------- ; DESIRED RPM IDLE Vs. COOLANT ; (PK.NEUT & A/C OFF) ;-------------------------------------------------- 9525: LDX #$4F28 ; ; CK IAC OPT WD 1, b3 ; b0 = 1 = MAN TRANS IN USE, DISABLE CLSD LP IDLE IF ; QUALS NOT OK ; 0 = AUTO TRANS IN USE, ENABLE CLSD IF RPM LOW ; 9528: LDAB L4E85 ; IAC OPT WD, 0000 1010 952B: BITB #$01 ; b0 952D: BEQ L9532 , BR IF NOT b0 ;-------------------------------------------------- ; LK UP DESIRED RPM IDLE VS COOLANT ; (IN DRIVE A/C ON) ;--------------------------------------------------- 952F: LDX #$4F46 ; DESIRED RPM IDLE Vs COOL TBL 9532: L9532 JSR LF15E ; 2D LK UP 9535: PULB 9536: PSHA 9537: TBA ;-------------------------------------------------- ; LK UP DESIRED RPM IDLE VS COOLANT ; (IN DRIVE, NOT RUNNING) ;-------------------------------------------------- 9538: LDX #$4F64 ; DESIRED RPM IDLE VS COOLANT 953B: JSR LF15E ; 2D LK UP 953E: STAA L085C ; ; CK IAC OPT WD 1, b3 ; b0 = 1 = MAN TRANS IN USE, DISABLE CLSD LP IDLE IF ; QUALS NOT OK ; 0 = AUTO TRANS IN USE, ENABLE CLSD IF RPM LOW ; 9541: LDAB L4E85 ; IAC OPT WD, 0000 1010 9544: BITB #$01 ; b0 9546: BNE L9551 9548: LDAB L4EB2 954B: MUL 954C: ASLD 954D: BCC L9551 954F: LDAA #$FF 9551: L9551 PULB 9552: ABA 9553: STAA L0857 ; DESIRED IDLE 9556: LDAA L4EB1 ; 300 msec, IAC DECAY PERIOD AFTER L4EB0, 9559: STAA L085D ; DECAY PERIOD AFTER L4EB0 955C: LDAA L4EB0 955F: STAA L085E 9562: CLRA 9563: STAA L086D 9566: STAA L0879 9569: STAA L087A 956C: STAA L0876 ; %IAC FLOW MAX STEP FOR A/C OFF/ON 956F: STAA L0877 9572: STAA L0887 9575: STAA L087B 9578: STAA L0864 ; IAC CLS LP ENABLE DELAY AFTER QUAL 957B: LDAA #080 957D: STAA L086E ; ; NV MODE WD 2 ; ; b7 1 = IDLE RPM TO HIGH ; b6 1 = THROTTLE KICKER HAS BEEN DISABLED ONCE ; b5 1 = PW STEER PRESS LOAD IN WORK ; b4 1 = STALL SAVER IN WORK ; ; b3 1 = CLSD LP ON RPM ; b2 1 = CLSD LP QUALS MET ; b1 1 = DRIVE, 0 = PK/NEUT ; b0 1 = A/C ON ;----------------------------- ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9580: BCLR L0036,#$BD ; 1011 1101 ;----------------------------- ; IAC DIAG MD WD 3 ; ; b7 1 = ADD DERIV TERM TO g/SEF FLOW ; b6 1 = PRORP LIMITING ATHORITY BEING EXERSIZED ; b5 1 = PART 2 OF DIAG TEST TO BE RUN ; b4 1 = THROTTLE KICKER BARO DISABLE REQUESTED ; ; b3 1 = THROTTLE KICKER DISABLE REQUESTED ; b2 1 = THROTTLE KICKER ACTIVE ; b1 1 = ETC * KONST ; b0 1 = ETC ONE FLAG ;----------------------------- 9583: BCLR L0037,#$9B ; CLR 1001 1011 9586: BCLR L0038,#$0F ; CLR 0000 1111 9589: BCLR L0038,#$70 ; CLR 0111 0000 958C: BCLR L0039,#$C7 ; CLR 1100 0111 958F: LDAA L4FB4 ; 12.5 RPM, DEADBAND FOR UP DATING IDLE CELLS 9592: STAA L0859 ;----------------------------- ; IAC DIAG MD WD 1 ; b1 1 = 1st DRIVE AWAY FLAG FOR IAC KICK DOWN LOGIC ;----------------------------- 9595: BCLR L0009,#$02 ; CLR b1 ;-------------------------------------------------- ; IAC FLOW Vs. COOL ; (IAC COLD 0FF SET IN DRIVE) ; ; TBL = 2.56 * %FLOW ;-------------------------------------------------- 9598: LDAA L02A6 ; GET COOL 959B: LDX #$4EC5 ; IAC FLOW TBL 959E: JSR LF15E ; 2D LK UP 95A1: CLRB 95A2: STD L02D0 95A5: STD L02D2 ;-------------------------------------------------- ; IAC FLOW Vs. COOL ; (PK/NEUT) ; TBL = 2.56 * %FLOW ;-------------------------------------------------- 95A8: LDAA L02A6 ; RANGE LIMITED COOL, -28/104c 95AB: LDX #$4EB8 ; IAC FLOW Vs. COOL, (PK/NEUT) 95AE: JSR LF15E ; 2d LK UP 95B1: CLRB 95B2: STD L02C6 ; IAC FLOW Vs. COOL 95B5: STD L02C8 ; IAC FLOW Vs. COOL ;-------------------------------------------------- ; IAC COLD OFFSET DELAY PERIOD Vs. COOL ; ; TBL = 10 * SEC'S ;-------------------------------------------------- 95B8: LDAA L02A6 ; RANGE LIMITED COOL, -28/104c 95BB: LDX #$4ED2 ; IAC COLD OFFSET DELAY PERIOD 95BE: JSR LF15E ; 2d LK UP 95C1: STAA L0875 ; IAC COLD OFFSET DELAY PERIOD ; ; CK IAC OPT WD 1, b3 ; b1 = 1 = USE ETC IN DECELL FUEL CUT OFF ; 0 = DONT USE ETC IN DECELL FUEL CUT OFF ; ; b5 = 1 = INIT INTEGRAL WITH L___, NOT RUNNING ; 95C4: LDAA L4E85 ; IAC OPT WD, 0000 1010 95C7: BITA #$20 ; b5 95C9: BEQ L95DA 95CB: CLRB 95CC: BITA #$01 95CE: BNE L95D5 95D0: LDAA L4EA7 95D3: BRA L95EB 95D5: L95D5 LDAA L4EA8 95D8: BRA L95E6 95DA: L95DA BITA #$0001 95DC: BNE L95E3 95DE: LDD L02C0 95E1: BRA L95EB 95E3: L95E3 LDD L02CA 95E6: L95E6 LDX L02D0 95E9: BRA L95EE 95EB: L95EB LDX L02C6 ; IAC FLOW Vs. COOL 95EE: L95EE STD L0862 95F1: STX L0871 95F4: LDX #$FFFF 95F7: STX L087D 95FA: LDAA L0006 ; COOL 95FC: CMPA L4E87 ; 81 DEG c, (178f), MIN COOL FOR IAC MOVED ; PRIOR TO START 95FF: BCS L9614 ; BR IF COOL LT THRESH 9601: LDD L0862 9604: ADDA L086B ; FLOW ADDED AIR AFTER START UP 9607: BCS L960E ; BR IF OVERFLOW 9609: ADDD L0871 960C: BCC L9611 960E: L960E LDD #$FFFF ; USE MAX VALUE FOR FLOW 9611: L9611 JMP L9920 9614: L9614 LDAA L4EA6 ; 150 STEPS PARK DOWN 9617: JMP L997C ;------------------------------------- ; NV MODE WD 2 ; b7 1 = IDLE RPM TO HIGH ; b6 1 = THROTTLE KICKER HAS BEEN DISABLED ONCE ; b5 1 = PW STEER PRESS LOAD IN WORK ; b4 1 = STALL SAVER IN WORK ; ; b3 1 = CLSD LP ON RPM ; b2 1 = CLSD LP QUALS MET ; b1 1 = DRIVE, 0 = PK/NEUT ; b0 1 = A/C ON ;--------------------------------------- ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 961A: L961A LDAB L0036 961C: PSHB ; ; CK DIG I/O MD WD ; b6 1 = TCC (Non Elect xmish) ; 961D: LDAA L400F ; MODE WD, DIG I/O 9620: BITA #$40 ; b6 9622: BEQ L962A ; BR IF NOT b6 9624: BRSET L0041,#$20,L9654 ; BR IF b5, PARK/NEUTRAL 9628: BRA L9632 962A: L962A BRSET L009C,#$40,L9654 ; BR IF b6, 962E: BRSET L009C,#$10,L9654 ; BR IF b4, ; ... else ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9632: L9632 BSET L0036,#$02 ; SET b1, DRIVE, 0 = PK/NEUT 9635: BITB #$02 9637: BNE L9684 9639: LDAA L4F19 963C: PSHA 963D: LDAA L4F1B 9640: LDAB L4F1A 9643: XGDX 9644: LDAA L0006 ; COOL 9646: CMPA L4F1F 9649: XGDX 964A: BCC L9674 964C: ADDA L4F20 ; 500 Msec ADD'NL DELAY IF IN DRIVE & COOL LO 964F: ADDB L4F21 ; 1.5 Sec's, ADD'NL DELAY IF DRIVE & COOL LO 9652: BRA L9674 ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9654: L9654 BCLR L0036,#$02 ; CLR b1, DRIVE, 0 = PK/NEUT 9657: BITB #$02 9659: BEQ L9684 ; BR IF 965B: LDAA L4F1C 965E: PSHA 965F: LDAA L4F1E 9662: LDAB L4F1D 9665: XGDX 9666: LDAA L0006 ; COOL 9668: CMPA L4F1F 966B: XGDX 966C: BCC L9674 ; BR IF 966E: ADDA L4F22 9671: ADDB L4F23 9674: L9674 STAB L087A 9677: ABA 9678: PULB 9679: STAB L0879 967C: CMPA L0864 ; IAC CLS LP ENABLE DELAY AFTER QUAL 967F: BLS L9684 ; BR IF 9681: STAA L0864 ; IAC CLS LP ENABLE DELAY AFTER QUAL ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9684: L9684 BRSET L0036,#$02,L9690 ; BR IF b1, SET b1, DRIVE, 0 = PK/NEUT 9688: LDAA L02C3 968B: SUBA L02C0 968E: BRA L9696 9690: L9690 LDAA L02CD 9693: SUBA L02CA 9696: L9696 PULB 9697: PSHB 9698: BRSET L0052,#$20,L96C5 ; BR IF b5, A/C ANTICIPATING TO BE ON ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 969C: BCLR L0036,#$01 ; CLR b0, A/C ON ; 969F: BITB #$01 96A1: BEQ L970F ; 96A3: TST L0877 ; 96A6: BNE L970F ; 96A8: LDAB L4F05 ; -2% A/C STEP ON/OFF FLOW MUL 96AB: MUL 96AC: CMPA L4F06 ; 0.4% MIN A/C FLOW STEP FOR ON/OFF XISTION 96AF: BCC L96B4 ; 96B1: LDAA L4F06 ; 0.4% MIN A/C FLOW STEP FOR ON/OFF XISTION 96B4: L96B4 CMPA L4F07 ; 4% FLOW MAX A/C FLOW STEP FOR ON/OFF XISTION 96B7: BLS L96BC ; 96B9: LDAA L4F07 ; 4% FLOW MAX A/C FLOW STEP FOR ON/OFF XISTION 96BC: L96BC LDAB L4F09 ; 20 Msec CLS LP IDLE DELAY, (IF RPM LOW) 96BF: PSHB 96C0: LDAB L4F08 96C3: BRA L96FF ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 96C5: L96C5 BSET L0036,#$01 ; SET b0, A/C ON 96C8: BITB #$01 96CA: BNE L970F 96CC: LDAB L4F18 96CF: STAB L0878 ; ; CK IAC OPT WD 1, b3 ; b6 = 1 = USE MAT TBL L4F02 (MAT) TO ESTABLISH ... ; A/C OF/OFF XISITIONS ; 96D2: LDAB L4E85 ; IAC OPT WD, 0000 1010 96D5: BITB #$40 ; b6 96D7: BEQ L96E4 ; BR IF NOT b6 ;-------------------------------------------------- ; A/C STEP FOR OFF/ON XISITION Vs. MAT (Deg c) ; (not used FOR BDWM CALIBRATION) ; ; TBL = %FLOW * 2.56 ; ; INDEX POINTS TO 3 8 BIT VALUES ; 1. BP START VALUE (-1 BP Increment value) ; 2. BP RANGE, (MAX VAL - MIN VAL) ; 3. BP INCREMENT VALUE ; ;-------------------------------------------------- 96D9: LDX #$4F0A ; A/C STEP FOR OFF/ON XISITION TBL 96DC: LDAA L0252 ; MAT VAL 96DF: JSR LF141 ; 2d LK UP WITH BB QUAL'S 96E2: BRA L96F8 ; 96E4: L96E4 LDAB L4F12 ; 30% FLOW STEP OFF/ON MULT 96E7: MUL ; 96E8: CMPA L4F13 ; 1.1% FLOW MIN IAC STEP FOR A/C OFF/ON 96EB: BCC L96F0 ; BR IF 96ED: LDAA L4F13 ; 1.1% FLOW MIN IAC STEP FOR A/C OFF/ON 96F0: L96F0 CMPA L4F14 ; 5.1% IAC FLOW MAX STEP FOR A/C OFF/ON 96F3: BLS L96F8 ; BR IF 96F5: LDAA L4F14 ; 5.1% IAC FLOW MAX STEP FOR A/C OFF/ON 96F8: L96F8 LDAB L4F16 ; 100 Msec, CLS LP IDLE DELAY 96FB: PSHB ; ; 96FC: LDAB L4F15 ; 1000 Msec, IAC PERIOD OF A/C OFF/ON ; 96FF: L96FF STAA L0876 ; %IAC FLOW MAX STEP FOR A/C OFF/ON 9702: STAB L0877 ; IAC PERIOD OF A/C OFF/ON 9705: PULA 9706: ABA 9707: CMPA L0864 ; IAC CLS LP ENABLE DELAY AFTER QUAL 970A: BLS L970F ; BR IF 970C: STAA L0864 ; IAC CLS LP ENABLE DELAY AFTER QUAL 970F: L970F PULA 9710: PSHA ;------------------------------------- ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; ; NV MODE WD 2 ; b1 1 = DRIVE, 0 = PK/NEUT ; b0 1 = A/C ON ;--------------------------------------- 9711: EORA L0036 9713: ANDA #$03 ; b1 & b0 9715: BNE L971A 9717: PULA 9718: BRA L9781 ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 971A: L971A LDAB L0036 ; NV MODE WD 2 971C: BITB #$02 ; b1, DRIVE, 0 = PK/NEUT 971E: BNE L973C ; 9720: BITB #$01 ; A/C ON 9722: BNE L9730 ; 9724: BRCLR L0038,#$01,L9756 9728: LDX L088F 972B: STX L02C0 972E: BRA L9756 9730: L9730 BRCLR L0038,#$02,L9756 ; BR IF NOT b1, 9734: LDX L0891 9737: STX L02C3 973A: BRA L9756 973C: L973C BITB #$01 ; A/C ON 973E: BNE L974C ; 9740: BRCLR L0038,#$04,L9756 ; 9744: LDX L0895 ; 9747: STX L02CA ; 974A: BRA L9756 ; ; 974C: L974C BRCLR L0038,#$08,L9756 ; ; .. else 9750: LDX L0897 ; 9753: STX L02CD ; 9756: L9756 PULB ; 9757: BRCLR L0038,#$10,L977E ; ; .. else 975B: LDAA L02C8 ; IAC FLOW Vs. COOL 975E: ORAA L02D2 ; 9761: BEQ L977B ; ; .. else ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9763: EORB L0036 ; TOGGLE NV MODE WD 2 9765: BITB #$02 ; b1, DRIVE, 0 = PK/NEUT 9767: BEQ L977E ; ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9769: BRSET L0036,#$02,L9775 ; BR IF b1, SET b1, DRIVE, 0 = PK/NEUT 976D: LDD L0893 9770: STD L02C6 ; IAC FLOW Vs. COOL 9773: BRA L977B 9775: L9775 LDD L0899 9778: STD L02D0 977B: L977B BCLR L0038,#$10 ; CLR b4 977E: L977E BCLR L0038,#$0F ; CLR b0 th b3 ; ; IAC OPT WD 1, b1 ; b1 = 1 = PWR STEER SW IN USE ; 9781: L9781 LDAA L4E86 9784: BITA #$02 ; b1 9786: BEQ L97A5 ; BR IF NOT b1 9788: JSR L932A 978B: BCC L97A2 ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 978D: BSET L0036,#$20 ; SET b5, PWR STEER PRESS LOAD IN WORK ; 9790: LDAA L4F24 ; 0% ADDED AIR FOR PWR STEER 9793: STAA L087B ; ; 9796: LDAA L4F26 ; 0 Sec's, DECAY PERIOD FOR PWR STEER 9799: STAA L087C ; DECAY PERIOD FOR PWR STEER ; 979C: LDAA L4F25 ; 0 SEC'S FOR PWR STEER SIG = 1 979F: STAA L0864 ; IAC CLS LP ENABLE DELAY AFTER QUAL ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 97A2: L97A2 BCLR L0036,#$20 ; CLR b5, PWR STEER PRESS LOAD IN WORK 97A5: L97A5 LDAA L087A 97A8: BNE L97AF 97AA: STAA L0879 97AD: BRA L97B3 97AF: L97AF DECA 97B0: STAA L087A 97B3: L97B3 LDAA L0877 97B6: BEQ L97BC 97B8: DECA 97B9: STAA L0877 97BC: L97BC LDAA L0869 ; STALL SVR DELAY 97BF: BNE L97C6 ; BR IF NZ ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 97C1: BCLR L0036,#$10 ; CLR b4, STALL SAVER IN WORK 97C4: BRA L97CA 97C6: L97C6 DECA ; DECR STALL SAVER DELAY 97C7: STAA L0869 ; STALL SVR DELAY 97CA: L97CA LDAA L0884 97CD: BEQ L97D3 97CF: DECA 97D0: STAA L0884 97D3: L97D3 LDAA L0063 ; RPM/12.5 97D5: SUBA L0857 ; DESIRED IDLE RPM/12.5 ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 97D8: BSET L0036,#$80 ; SET b7, IDLE RPM TO HIGH ; 97DB: BCC L97E1 ; BR IF RPM/12.5 GT DESIRED IDLE 97DD: NEGA ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 97DE: BCLR L0036,#$80 ; CLR b7, IDLE RPM TO HIGH ; 97E1: L97E1 STAA L0858 ; RPM/12.5 - TARGET IDLE 97E4: CLRB 97E5: TST L087A 97E8: BEQ L97ED 97EA: LDAB L4F76 97ED: L97ED TST L0877 97F0: BEQ L97FA 97F2: CMPB L4F77 97F5: BCC L97FA 97F7: LDAB L4F77 97FA: L97FA TST L087C ; DECAY PERIOD FOR PWR STEER 97FD: BEQ L9807 97FF: CMPB L4F78 9802: BCC L9807 9804: LDAB L4F78 9807: L9807 PSHB 9808: LDAB L0882 980B: CMPB L0885 980E: PULB 980F: BLS L9819 9811: CMPB L4F75 9814: BCC L9819 9816: LDAB L4F75 9819: L9819 TSTB 981A: BEQ L9820 981C: TBA 981D: CLRB 981E: BRA L9829 9820: L9820 LDX L0859 9823: LDAB L4F74 9826: JSR LF0F6 ; FILT ROUTINE 9829: L9829 STD L0859 982C: JSR L9AA8 982F: JSR L9D03 9832: JSR L9D89 9835: LDD L0862 9838: ADDD L0871 983B: BCC L9840 983D: LDD #$FFFF ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9840: L9840 BRSET L0036,#$80,L984E ; BR IF b7, IDLE RPM TO HIGH 9844: ADDA L086D 9847: BCC L9855 ; BR IF NOT OVERFLOW 9849: LDD #$FFFF 984C: BRA L9855 984E: L984E SUBA L086D 9851: BCC L9855 9853: CLRA 9854: CLRB ;--------------------------- ; IAC DIAG MD WD 3 ; b7 1 = ADD DERIV TERM TO g/SEF FLOW ;----------------------------- 9855: L9855 BRCLR L0037,#$80,L9863 9859: ADDA L0870 985C: BCC L986A 985E: LDD #$FFFF 9861: BRA L986A 9863: L9863 SUBA L0870 9866: BCC L986A 9868: CLRA 9869: CLRB 986A: L986A ADDA L086B ; FLOW ADDED AIR AFTER START UP 986D: BCS L9874 ; BR IF OVERFLOW 986F: ADDA L087B 9872: BCC L9877 ; 9874: L9874 LDD #$FFFF ; USE MAX VAL FOR FLOW 9877: L9877 TST L0876 ; %IAC FLOW MAX STEP FOR A/C OFF/ON 987A: BEQ L9891 ; ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 987C: BRCLR L0036,#$01,L988A ; BR IF NOT b0, A/C ON ; ... else 9880: ADDA L0876 ; %IAC FLOW MAX STEP FOR A/C OFF/ON 9883: BCC L9891 ; BR IF NO OVERFLOW 9885: LDD #$FFFF ; ; 9888: BRA L9891 988A: L988A SUBA L0876 ; %IAC FLOW MAX STEP FOR A/C OFF/ON 988D: BCC L9891 ; ; BR IF NO UNDERFLOW 988F: CLRA ; 9890: CLRB ; 9891: L9891 ADDA L0879 ; 9894: BCC L9899 ; 9896: LDD #$FFFF ; ; 9899: L9899 LDX L087D ; 989C: STD L087D ; ; 989F: PSHA ; 98A0: LDAA L01FC ; FLOW 98A3: CMPA L509F ; 3.9% Flow Thresh for disable Acell Enr fuel 98A6: PULA ; 98A7: BCC L98B5 ; BR IF FLOW GT THRESH ; ... else 98A9: PSHX ; 98AA: TSX ; 98AB: SUBD 0,X ; 98AD: PULX ; 98AE: BCS L98B5 ; 98B0: CMPA L509E ; 1.9% Flow Thresh for enable Acell Enr fuel 98B3: BCC L98B8 ; BR IF IF FLOW GT THRESH 98B5: L98B5 CLRA ; 98B6: BRA L98C6 98B8: L98B8 ASLD ; N x 2 98B9: BCS L98BE ; BR IF OVERFLOW 98BB: ASLD ; N x 2 98BC: BCC L98C0 ; BR IF NO OVERFLOW 98BE: L98BE LDAA #255 ; USE MAX VALUE ;----------------------------------------- ; Acell Enrich Vs. Diff IAC %Flow ; ; ; TBL = 16.384 * Msec ;----------------------------------------- 98C0: L98C0 LDX #$5098 ; INDEX Acell Enrich Vs Diff IAC %Flow 98C3: JSR LF153 ; 2d LK UP W/Line Num ; 98C6: L98C6 STAA L087F ; Acell Enrich PW ADDER ; 98C9: LDD L087D ; 98CC: ADDA L0880 ; 98CF: BCC L98D6 ; BR IF NO OVERFLOW 98D1: LDD #$FFFF ; USE MAX VALUE 98D4: BRA L9913 ; EXIT Via ... 98D6: L98D6 BRCLR L0046,#$08,L98FD ; BR IF NOT b3, DECEL FUEL C/O 98DA: PSHB 98DB: PSHA ;--------------------------------------------- ; ADDITIONAL AIR ADDED Vs. RPM ; (IF DECEL FUEL CUT IS ON) ; ; DECAYED TO 0 AFTER DECEL FUEL CUT IS ENDED ; TBL = 2.56 * %FLOW ;--------------------------------------------- 98DC: LDX #$50A3 ; ADDITIONAL AIR ADDED 98DF: LDAA L0062 ; RPM/25 98E1: JSR LF15E ; 2d LK UP ; 98E4: SUBA L50A2 ; 0 % flow bias for Tbl L509B 98E7: BCS L98EE ; 98E9: BCLR L0038,#$20 98EC: BRA L98F2 98EE: L98EE BSET L0038,#$20 ; SET b5, ; 98F1: NEGA ; 98F2: L98F2 STAA L0887 ; 98F5: LDAA L50B5 ; 300 msec's decay rate 98F8: STAA L0888 ; 98FB: PULA ; 98FC: PULB ; 98FD: L98FD BRSET L0038,#$20,L990B ; BR IF b5, 9901: ADDA L0887 ; 9904: BCC L9913 ; 9906: LDD #$FFFF 9909: BRA L9913 990B: L990B SUBA L0887 ; 990E: BCC L9913 ; 9910: LDD #$0000 ; ;----------------------------- ; AFR MD WORD 0, ; b5 1 = PWR ENR IS ACTIVE ;----------------------------- 9913: L9913 BRCLR L003D,#$20,L9920 ; BR IF NOT b5 9917: CPD L50A0 ; 99.998 % flow Max IAC % flow in Pwr Enrich ; Used by TBI sys to shut down IAC near WOT ; to improve air fuel dist on dyno 991B: BLS L9920 991D: LDD L50A0 ; 99.998 % flow Max IAC % flow in Pwr Enrich ; Used by TBI sys to shut down IAC near WOT ; to improve air fuel dist on dyno 9920: L9920 STD L0889 ; ;-------------------------------------------------- ; LK UP IAC ALTITUDE COMP ; ; INDEX POINTS TO 3 8 BIT VALUES ; 1. BP START VALUE (-1 BP Increment value) ; 2. BP RANGE, (MAX VAL - MIN VAL) ; 3. BP INCREMENT VALUE ; ; TABLE = FACTOR * 128 ;-------------------------------------------------- 9923: LDX #$4E99 ; IAC ALTITUDE COMP 9926: LDAA L01EF ; BARO 9929: JSR LF141 ; 2d LK UP WITH BP QUAL'S 992C: LDX #$0889 992F: JSR LF1ED ; 8 x 16 Mult w/16b result rounded to upper 16b ; 9932: ASLD 9933: BCC L9938 ; 9935: LDD #$FFFF ; USE MAX VALUE ; ; CK IAC OPT WD 1, b3 ; b2 = 1 = U/K ; 9938: L9938 LDX #$4E85 ; IAC OPT WD, 0000 1010 993B: BRCLR 0,X,#$04,L9963 ; b2 ;--------------------------- ; IAC DIAG MD WD 3 ; ;----------------------------- 993F: BRCLR L0037,#$04,L994F ; BR IF NOT b2, THROTTLE KICKER ACTIVE 9943: SUBA L50BE 9946: BCC L994F ;--------------------------- ; IAC DIAG MD WD 3 ; b3 1 = THROTTLE KICKER DISABLE REQUESTED ;----------------------------- 9948: BSET L0037,#$08 994B: CLRA 994C: CLRB 994D: BRA L9963 994F: L994F XGDX 9950: PSHX 9951: PSHX 9952: TSX 9953: LDAA L50BF ; 1 FACTOR (THROTTLE KICKER) 9956: JSR LF1ED ; 8 x 16 Mult w/16b result rounded to upper 16b ; 9959: PULX 995A: TSX 995B: ADDD 0,X 995D: PULX 995E: BCC L9963 ; ... else 9960: LDD #$FFFF 9963: L9963 STD L088B ;-------------------------------------------------- ; LK UP IAC STEP POSIT Vs. %MAX AIR FLOW ; ; PROVIDES LINERIZATION OF CLSD LP IAC RPM GAINS ; (IAC STEPS Vs. DESIRED AIR FLOW) ; ; INDEXED LK UP ;-------------------------------------------------- 9966: LDX #$4E88 ; INDEX TBL 9969: LSRD 996A: LSRD 996B: LSRD 996C: LSRD ; DIV BY 16 996D: ADCB #$00 996F: ADCA #$00 9971: PSHB 9972: TAB 9973: ABX 9974: LDD 0,X ; GET VAL FM TBL 9976: SBA 9977: PULB 9978: NEGA 9979: MUL 997A: ADCA 0,X 997C: L997C STAA L0008 997E: L997E RTS 997F: L997F BRCLR L0038,#$40,L9986 ; BR IF NOT b6 9983: JMP L9AA7 9986: L9986 LDAA L02A6 9989: CMPA #$A0 998B: BLS L9992 998D: SUBA #$A0 998F: ASLA 9990: ADDA #$A0 ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9992: L9992 BRCLR L0036,#$01,L99A2 ; BR IF NOT b0, A/C ON ;-------------------------------------------------- ; LK UP DESIRED RPM IDLE Vs. COOLANT ; (PK/NEUT & A/C ON) ; ;-------------------------------------------------- 9996: LDX #$4F37 ; DESIRED RPM IDLE TBL ; ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9999: BRCLR L0036,#$02,L99AC ; BR IF NOT b1, DRIVE, 0 = PK/NEUT ; ;-------------------------------------------------- ; LK UP DESIRED RPM IDLE VS COOLANT ; (IN DRIVE NOT COOLING) ; ;-------------------------------------------------- 999D: LDX #$4F55 ; DESIRED RPM IDLE VS COOLANT 99A0: BRA L99AC ; ; 99A2: L99A2 LDX #$4F28 ; ;------------------------------------- ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; ; b7 1 = IDLE RPM TO HIGH ; b6 1 = THROTTLE KICKER HAS BEEN DISABLED ONCE ; b5 1 = PWR STEER PRESS LOAD IN WORK ; b4 1 = STALL SAVER IN WORK ; ; b3 1 = CLSD LP ON RPM ; b2 1 = CLSD LP QUALS MET ; b1 1 = DRIVE, 0 = PK/NEUT ; b0 1 = A/C ON ;--------------------------------------- 99A5: BRCLR L0036,#$02,L99AC ; BR IF NOT b1, DRIVE, 0 = PK/NEUT 99A9: LDX #$4F46 ; 99AC: L99AC JSR LF15E ; 2D LK UP ; 99AF: PSHA ; 99B0: LDAB L4F7A ; IF BAT L.T. 12.5V, RAISE RPM 99B3: SUBB L00A1 ; BATTERY A/D 99B5: BLS L99C6 99B7: LDAA L4F7B ; INCR RPM FOR BAT VALUES, (-25) 99BA: MUL 99BB: CMPA L4F7C ; 38 RPM MAX FOR BATTERY OFFSET 99BE: BCS L99C3 99C0: LDAA L4F7C ; 38 RPM MAX FOR BATTERY OFFSET 99C3: L99C3 PULB 99C4: ABA 99C5: PSHA ; ; LOW BATTERY MOD'S ; 99C6: L99C6 LDAB L0859 99C9: LDAA L4F73 ; 0.47 RPM/RPM RPM MOD'ER 99CC: MUL 99CD: CMPA L4F79 ; 0.47 RPM/RPM RPM MOD'ER 99D0: BCS L99D5 99D2: LDAA L4F79 ; 25 RPM MAX FOR ROUGH IDLE 99D5: L99D5 PULB 99D6: ABA 99D7: LDAB L026A ; GET BLM CELL NUMBER 99DA: CMPB #16 ; IDLE CELL 99DC: BCS L99ED 99DE: LDAB L026B ; BLM MULTIPLIER 99E1: CMPB L4F7D ; IF BLM L.T. ... MAY .. ; ADD PURGE COMP 99E4: BCC L99ED 99E6: LDAB L0006 ; COOL 99E8: CMPB L4F7F ; 90 c MAX FOR HOT IDLE PURGE 99EB: BHI L99F2 99ED: L99ED CLR L085B 99F0: BRA L9A20 99F2: L99F2 LDAB L085B 99F5: CMPB L4F7E 99F8: BCC L9A05 99FA: BRCLR L0002,#$F0,L9A00 ; MJR LOOP SEGMENT COUNT 99FE: BRA L9A20 9A00: L9A00 INC L085B 9A03: BRA L9A20 ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9A05: L9A05 BRSET L0036,#$02,L9A15 ; BR IF b1, DRIVE, 0 = PK/NEUT 9A09: LDAB L4F80 ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9A0C: BRCLR L0036,#$01,L9A1F ; BR IF NOT b0, A/C ON 9A10: LDAB L4F81 9A13: BRA L9A1F 9A15: L9A15 LDAB L4F82 ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9A18: BRCLR L0036,#$01,L9A1F ; BR IF NOT b0, A/C ON 9A1C: LDAB L4F83 9A1F: L9A1F ABA 9A20: L9A20 PSHA 9A21: LDAA L085C 9A24: BEQ L9A31 ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9A26: BRSET L0036,#$02,L9A31 ; BR IF b1, DRIVE, 0 = PK/NEUT 9A2A: ASLA 9A2B: LDAB L4EB2 9A2E: MUL 9A2F: ADCA #$0000 9A31: L9A31 PULB 9A32: ABA 9A33: CMPA L085F 9A36: BCC L9A3C 9A38: LDAA L085F 9A3B: DECA 9A3C: L9A3C STAA L085F ; ; CK IAC OPT WD 1, b3 ; b4 = 1 = A/C HI PRESSURE SW IN USE ; 9A3F: LDX #$4E85 ; IAC OPT WD, 0000 1010 9A42: BRCLR 0,X,#$10,L9A8B ; b4 9A46: LDAB L4F84 ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9A49: BRCLR L0036,#$02,L9A50 ; BR IF b1, DRIVE, 0 = PK/NEUT 9A4D: LDAB L4F85 9A50: L9A50 CBA 9A51: BCS L9A56 9A53: CLRA 9A54: BRA L9A7F 9A56: L9A56 JSR L9333 9A59: BCS L9A6B 9A5B: LDAA L0860 9A5E: BEQ L9A66 9A60: LDAB L0861 9A63: BNE L9A7B 9A65: DECA 9A66: L9A66 LDAB L4F87 9A69: BRA L9A82 9A6B: L9A6B CMPB L0857 ; DESIRED IDLE RPM/12.5 9A6E: BHI L9A73 9A70: TBA 9A71: BRA L9A8B 9A73: L9A73 LDAA L0860 9A76: LDAB L0861 9A79: BEQ L9A7E 9A7B: L9A7B DECB 9A7C: BRA L9A82 9A7E: L9A7E INCA 9A7F: L9A7F LDAB L4F86 9A82: L9A82 STAA L0860 9A85: ADDA L085F 9A88: STAB L0861 9A8B: L9A8B STAA L0857 ; DESIRED IDLE RPM/12.5 9A8E: LDX #$5043 9A91: LDAB #$03 ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9A93: ANDB L0036 9A95: ABX ; ; CK IAC OPT WD 1, b3 ; b7 = 1 = STALL SAVER THRESH ARE RPM ; 0 = STALL SAVER THRESH ARE & REQUESTED RPM ; 9A96: LDAB L4E85 ; IAC OPT WD, 0000 1010 9A99: BITB #$80 9A9B: BEQ L9AA1 9A9D: LDAA 0,X 9A9F: BRA L9AA4 9AA1: L9AA1 LDAB 0,X 9AA3: MUL 9AA4: L9AA4 STAA L0868 9AA7: L9AA7 RTS 9AA8: L9AA8 LDX #$02CA ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9AAB: BRSET L0036,#$02,L9AB2 ; BR IF b1, DRIVE, 0 = PK/NEUT 9AAF: LDX #$02C0 9AB2: L9AB2 LDD 3,X ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9AB4: BRSET L0036,#$01,L9ABA ; BR IF b0, A/C ON 9AB8: LDD 0,X 9ABA: L9ABA PSHB 9ABB: PSHA 9ABC: LDD 6.X 9ABE: PSHB 9ABF: PSHA 9AC0: CLRB 9AC1: PSHB 9AC2: PSHB 9AC3: TSY 9AC5: LDAA L01FC ; TPS 9AC8: CMPA L4EE8 ; 15.6 %TPS, UPPER LMT FOR CLSD TPS 9ACB: BCS L9AD2 ; BR IF TPS LT THRESH 9ACD: BSET L0039,#$80 ; SET b7, 9AD0: BRA L9ADD 9AD2: L9AD2 BCLR L0039,#$80 ; CLR b7 9AD5: LDAA L02A7 ; Vss/1. (KPH = 1.61) 9AD8: CMPA L4EE9 ; 3 MPH, UPPER LMT FOR CLSD TPS 9ADB: BCS L9AE8 ; BR IF Vss LT THRESH 9ADD: L9ADD LDAB L4EEA ; 500 msec CLS LP ENABLE DELAY AFTER QUAL 9AE0: STAB L0864 ; IAC CLS LP ENABLE DELAY AFTER QUAL ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9AE3: BCLR L0036,#$04 ; CLR b2, CLSD LP QUALS MET, (clsd tps & low mph 9AE6: BRA L9B10 ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9AE8: L9AE8 BSET L0036,#$04 ; SET b2, CLSD LP QUALS MET, ; (clsd TPS & low MPH) ; 9AEB: LDAA L0882 ; 9AEE: CMPA L0885 ; 9AF1: BHI L9B10 ; 9AF3: LDAA L0864 ; CLS LP ENABLE DELAY AFTER QUAL 9AF6: BEQ L9AFE ; BR IF DELAY = Z 9AF8: DECA ; DECR DELAY 9AF9: STAA L0864 ; NEW CLS LP ENABLE DELAY AFTER QUAL 9AFC: BRA L9B10 ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9AFE: L9AFE BRSET L0036,#$80,L9B09 ; BR IF b7, IDLE RPM TO HIGH 9B02: LDAA L0866 9B05: BEQ L9B2A 9B07: BRA L9B3B 9B09: L9B09 LDAA L0867 ; IAC ENABLE DELAY TIME (Post startup) 9B0C: BEQ L9B2A ; BR IF DELAY = 0 SEC'S 9B0E: BRA L9B3B ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9B10: L9B10 BRSET L0036,#$80,L9B3B ; BR IF b7, IDLE RPM TO HIGH 9B14: LDAA L0866 9B17: ORAA L087A 9B1A: ORAA L0877 9B1D: BNE L9B3B ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9B1F: BRSET L0036,#$04,L9B2A ; BR IF b2, CLSD LP QUALS MET, ; (clsd tps & low mph) ; ; CK IAC OPT WD 1, b3 ; b0, 1 = MAN TRANS IN USE, DISABLE CLSD LP IDLE IF QUALS NOT OK ; 0 = AUTO TRANS IN USE, ENABLE CLSD IF RPM LOW ; ; 9B23: LDAA L4E85 ; IAC OPT WD, 0000 1010 9B26: BITA #$01 ; b0 9B28: BNE L9B3B 9B2A: L9B2A BRSET L003E,#$04,L9B3B ; BR IF b2, LOW BATTERY ;--------------------------- ; IAC DIAG MD WD 3 ; b2 1 = THROTTLE KICKER ACTIVE ;----------------------------- 9B2E: BRCLR L0037,#$04,L9B41 ; BR IF NOT b2, THROTTLE KICKER ACTIVE 9B32: LDD L088B ; 9B35: BNE L9B41 ; ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9B37: BRCLR L0036,#$80,L9B41 ; BR IF NOT b7, IDLE RPM TO HIGH ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9B3B: L9B3B BCLR L0036,#$08 ; CLR b7, CLSD LP ON RPM ENABLED 9B3E: JMP L9CE9 ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9B41: L9B41 BSET L0036,#$08 ; SET b7, CLSD LP ON RPM ENABLED 9B44: BRCLR L0036,#$10,L9B50 ; BR IF NOT b4, STALL SAVER IN WORK 9B48: BRCLR L0036,#$80,L9B82 ; BR IF NOT b7, IDLE RPM TO HIGH 9B4C: CLRA ; 9B4D: CLRB ; 9B4E: BRA L9B70 ; ; 9B50: L9B50 LDAA L0868 ; 9B53: CMPA L0063 ; RPM/12.5 9B55: BLS L9B82 ; ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9B57: BSET L0036,#$10 ; SET b4, STALL SAVER IN WORK 9B5A: PSHX ;-------------------------------------------------- ; LK UP DIFF %FLOW QUAL FOR STALL SAVER TBL ; TBL = RPM DIFF * 2.56 ; ; (4 Line table) ;-------------------------------------------------- 9B5B: LDX #$5047 ; INDEX 4 LINE TBL ; ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9B5E: LDAB #$03 ; 9B60: ANDB L0036 ; DIAG MODE WD 3 9B62: ABX ; ADJ INDEX WITH MODE A/C,PN etc 9B63: LDAA 0,X ; GET TBL VALUE, 9B65: PULX ; 9B66: LDAB L504B ; 0.5 SEC'S STALL SVR DELAY TO ; RE-ENABLE, PK/NEUT ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9B69: BRCLR L0036,#$02,L9B70 ; BR IF NOT b1, DRIVE, 0 = PK/NEUT, 9B6D: LDAB L504C ; 1.0 SEC'S STALL SVR DELAY TO ; RE-ENABLE, DRIVE ; 9B70: L9B70 STAB L0869 ; STALL SVR DELAY ; 9B73: CLRB ; 9B74: ADDD 4,Y ; 9B77: BCC L9B7C ; 9B79: LDD #$FFFF ; 9B7C: L9B7C STD 4,Y ; 9B7F: JMP L9CBD ; ; CK RPM WINDOW ; 9B82: L9B82 LDAA L0858 ; RPM/12.5 - TARGET IDLE 9B85: CMPA #40 ; 500 RPM 9B87: BLS L9B8D ; BR IF RPM 9B89: LDAA #160 ; 2000 RPM 9B8B: BRA L9BA1 ; 9B8D: L9B8D ASLA ; x 2 9B8E: CMPA #32 ; 400 RPM 9B90: BLS L9B96 ; BR IF RPM 9B92: ADDA #80 ; 1000 RPM 9B94: BRA L9BA1 9B96: L9B96 ASLA ; 9B97: CMPA #16 ; 200 RPM 9B99: BLS L9B9F ; BR IF RPM 9B9B: ADDA #48 ; 600 RPM 9B9D: BRA L9BA1 9B9F: L9B9F ASLA 9BA0: ASLA ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9BA1: L9BA1 PSHX 9BA2: BRSET L0036,#$80,L9BB2 ; BR IF b7, IDLE RPM TO HIGH ;-------------------------------------------------- ; LK UP IDLE INTEGRAL GAIN Vs. RPM ERROR ; (RPM LOW & DRIVE) ;-------------------------------------------------- 9BA6: LDX #$4F9E ; IDLE INTEGRAL GAIN ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9BA9: BRSET L0036,#$02,L9BBC ; BR IF b1, DRIVE, 0 = PK/NEUT, ; ;-------------------------------------------------- ; LK UP IDLE INTEGRAL GAIN Vs. RPM ERROR ; (RPM LOW & PK/NEUT) ;-------------------------------------------------- 9BAD: LDX #$4F88 ; IDLE INTEGRAL GAIN ; 9BB0: BRA L9BBC ; ; ;-------------------------------------------------- ; LK UP IDLE INTEGRAL GAIN Vs. RPM ERROR ; (RPM HIGH & DRIVE) ;-------------------------------------------------- 9BB2: L9BB2 LDX #$4FA9 ; IDLE INTEGRAL GAIN ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9BB5: BRSET L0036,#$02,L9BBC ; BR IF b1, DRIVE, 0 = PK/NEUT, ; ;-------------------------------------------------- ; LK UP IDLE INTEGRAL GAIN Vs. RPM ERROR ; (RPM HIGH & PK/NEUT) ;-------------------------------------------------- 9BB9: LDX #$4F93 ; IDLE INTEGRAL GAIN TBL 9BBC: L9BBC JSR LF15E ; 2D LK UP ; 9BBF: PULX ; 9BC0: LDAB L0858 ; RPM/12.5 - TARGET IDLE 9BC3: MUL ; 9BC4: STD 0,Y ; ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9BC7: BRSET L0036,#$80,L9C31 ; BR IF b7, IDLE RPM TO HIGH 9BCB: LDAA L0006 ; COOL 9BCD: CMPA L50B8 ; 85 DEG c IAC HI OUT OF POSIT COOL THRESH 9BD0: BLS L9BF9 ; BR IF COOL 9BD2: LDAA L50B9 ; 65% FLOW MAX IDLE INTEGRAL FOR NO A/C ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9BD5: BRCLR L0036,#$01,L9BDC ; BR IF NOT b0, A/C ON 9BD9: LDAA L50BA ; 9BDC: L9BDC CMPA 4,Y ; 9BDF: BCC L9BF9 ; ; ; SERIAL DATA MD WORD ; CK FOR ENG CONTROLLER MODE ; 9BE1: BRSET L003B,#$10,L9BF9 ; BR IF NOT b4, IN MODE 4, ($F4) 9BE5: BRSET L0050,#$10,L9BF9 ; bR IF b4, DIAG SW IN DIAG POSIT. ;----------------------------- ; IAC DIAG MD WD 1 ; b2 1 = R/S REQUESTED IF BIT CLEAR ;----------------------------- 9BE9: BCLR L0009,#$04 ; CLR b2 ; 9BEC: LDAA L0002 ; MJR LOOP SEGMENT COUNT 9BEE: CMPA L50BC ; 9BF1: BCC L9BF6 ; 9BF3: DEC L0007 ; 9BF6: L9BF6 JMP L9CE9 9BF9: L9BF9 LDD L088B ; 9BFC: CPD #$FFFF ; 9C00: BEQ L9C5F ; 9C02: LDAA 2,X ; ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9C04: BRCLR L0036,#$01,L9C0A ; BR IF NOT b0, A/C ON 9C08: LDAA 5,X ; 9C0A: L9C0A CMPA 4,Y ; 9C0D: BHI L9C23 ; 9C0F: LDD 6.X ; 9C11: CPD 8,X ; 9C14: BCC L9C23 ; 9C16: ADDD 0,Y ; 9C19: BCC L9C1E ; 9C1B: LDD #$FFFF ; 9C1E: L9C1E STD 2,Y ; 9C21: BRA L9C5F 9C23: L9C23 LDD 4,Y 9C26: ADDD 0,Y 9C29: BCC L9C2E 9C2B: LDD #$FFFF 9C2E: L9C2E JMP L9CBD 9C31: L9C31 LDAA L087B 9C34: BEQ L9C49 ; BR IF Z 9C36: SUBA 0,Y 9C39: BCC L9C3E 9C3B: CLRA 9C3C: BRA L9C44 9C3E: L9C3E CMPA L087B 9C41: BNE L9C44 ; BR IF 9C43: DECA 9C44: L9C44 STAA L087B 9C47: BRA L9C5F 9C49: L9C49 LDAA L086B ; FLOW ADDED AIR AFTER START UP 9C4C: BEQ L9C62 ; 9C4E: SUBA 0,Y 9C51: BCC L9C56 9C53: CLRA 9C54: BRA L9C5C 9C56: L9C56 CMPA L086B ; FLOW ADDED AIR AFTER START UP 9C59: BNE L9C5C ; BR IF NZ 9C5B: DECA ; DECR FLOW ADDED AIR AFTER START UP 9C5C: L9C5C STAA L086B ; FLOW ADDED AIR AFTER START UP 9C5F: L9C5F JMP L9CE9 9C62: L9C62 LDD 4,Y 9C65: SUBD 0,Y 9C68: BCC L9C6D 9C6A: LDD #$0000 ; ; CURRENT ERR MD 1 ; $F5 ; 9C6D: L9C6D BRSET L0016,#$10,L9C94 ; BR IF b4, ERR 16, Vss BUFFER 9C71: PSHX 9C72: LDX 2,Y 9C75: PULX 9C76: BEQ L9C94 9C78: PSHB 9C79: LDAB 5,X ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9C7B: BRSET L0036,#$01,L9C81 ; BR IF b0, A/C ON L9C7C 9C7F: LDAB 2,X 9C81: L9C81 CBA 9C82: PULB 9C83: BCC L9CBD 9C85: LDD 2,Y 9C88: SUBD 0,Y 9C8B: BCC L9C8F 9C8D: CLRA 9C8E: CLRB 9C8F: L9C8F STD 2,Y 9C92: BRA L9CE9 9C94: L9C94 CPD #$0000 9C98: BNE L9CBD ; .. else ;----------------------------- ; IAC DIAG MD WD 1 ; b6 1 = 1st PASS ERR 36 HAS FAILED ;----------------------------- 9C9A: BRSET L0009,#$40,L9CBD ; BR IF b6 9C9E: PSHA 9C9F: LDAA L0858 ; RPM/12.5 - TARGET IDLE 9CA2: CMPA L50BB ; 100 RPM IAC LOW OUT OF POSIT RPM ERR THRESH 9CA5: BLS L9CBC ; BR IF RPM LT THRESH ; ; SERIAL DATA MD WORD ; CK FOR ENG CONTROLLER MODE ; 9CA7: BRSET L003B,#$10,L9CBC ; BR IF NOT b4, IN MODE 4, ($F4) 9CAB: BRSET L0050,#$10,L9CBC ; bR IF b4, DIAG SW IN DIAG POSIT. ;----------------------------- ; IAC DIAG MD WD 1 ; b2 1 = R/S REQUESTED IF BIT CLEAR ;----------------------------- 9CAF: BCLR L0009,#$04 ; CLR b2 9CB2: LDAA L0002 ; MJR LOOP SEGMENT COUNT 9CB4: CMPA L50BC 9CB7: BCC L9CBC 9CB9: INC L0007 9CBC: L9CBC PULA ; ; CURRENT ERR MD 1 ; $F5 ; 9CBD: L9CBD BRCLR L0016,#$10,L9CDC ; BR IF NOT b4, ERR 16, Vss BUFFER, 9CC1: PSHB 9CC2: LDAB L4EA8 ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9CC5: BRSET L0036,#$02,L9CCC ; BR IF b1, DRIVE, 0 = PK/NEUT, 9CC9: LDAB L4EA7 ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9CCC: L9CCC BRCLR L0036,#$01,L9CD3 ; BR IF NOT b0, A/C ON 9CD0: ADDB L4EA9 9CD3: L9CD3 CBA 9CD4: BCS L9CD9 9CD6: PULB 9CD7: BRA L9CDC 9CD9: L9CD9 TBA 9CDA: PULB 9CDB: CLRB 9CDC: L9CDC STD 4,Y ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9CDF: BRCLR L0036,#$01,L9CE7 ; BR IF NOT b0, A/C ON 9CE3: STD 3,X 9CE5: BRA L9CE9 9CE7: L9CE7 STD 0,X 9CE9: L9CE9 LDD 2,Y 9CEC: STD 6,X 9CEE: STD L0871 9CF1: LDD 8,X 9CF3: STD L0873 9CF6: LDD 4,Y 9CF9: STD L0862 9CFC: LDAB #$06 9CFE: ABY 9D00: TYS 9D02: RTS ;------------------------------------------------- ;-------------------------------------------------- ; LK UP IDLE INTEGRAL GAIN Vs. RPM ERROR ; (LOW RPM & PK/NEUT) ; ; TBL = GAIN * 0.488 ;-------------------------------------------------- ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9D03: L9D03 BRSET L0036,#$02,L9D13 ; BR IF b1, DRIVE, 0 = PK/NEUT 9D07: LDX #$4FC2 ; INDEX LOW RPM & PK/NEUT TBL ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9D0A: BRCLR L0036,#$80,L9D53 ; BR IF NOT b7, IDLE RPM TO HIGH ;-------------------------------------------------- ; IDLE INTEGRAL GAIN Vs. RPM ERROR ; (RPM HI & PK/NEUT) ; ; TBL = GAIN * 0.488 ;-------------------------------------------------- 9D0E: LDX #$4FCD ; INDEX HI RPM & PK/NEUT TBL 9D11: BRA L9D53 9D13: L9D13 CLRB ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9D14: BRCLR L0036,#$01,L9D1A ; BR IF NOT b0, A/C ON 9D18: ADDB #$08 ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9D1A: L9D1A BRCLR L0036,#$08,L9D20 ; BR IF NOT b3, CLSD LP ON RPM ENABLED 9D1E: ADDB #$04 ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9D20: L9D20 BRCLR L0036,#$80,L9D26 ; BR IF NOT b7, IDLE RPM TO HIGH 9D24: ADDB #$02 ; 9D26: L9D26 LDX #$9D79 ; INDEX IAC FLOW VS RPM TABLES 9D29: ABX ; 9D2A: LDX 0,X ; ; CK IF IDLE RPM TO HIGH ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9D2C: BRCLR L0036,#$80,L9D53 ; BR IF NOT b7, IDLE RPM TO HIGH 9D30: LDAA L02A7 ; Vss/1 9D33: CMPA L4FBF ; 5 MPH 9D36: BCS L9D3D ; BR IF Vss LT 5 MPH 9D38: BSET L0037,#$40 ; SET b6, PRORP LIMITING AUTHORITY IN WORK ; 9D3B: BRA L9D4B 9D3D: L9D3D CMPA L4FC0 ; 3 MPH 9D40: BCC L9D47 ; BR IF Vss GT 3 MPH 9D42: BCLR L0037,#$40 ; CLR b6, PRORP LIMITING AUTHORITY IN WORK 9D45: BRA L9D53 9D47: L9D47 BRCLR L0037,#$40,L9D53 ; BR IF NOT b6, PRORP LIMIT AUTHORITY IN WORK 9D4B: L9D4B LDAA L4FC1 ; 1600 RPM 9D4E: CMPA L0858 ; RPM/12.5 - TARGET IDLE 9D51: BLS L9D56 ; BR IF RPM LT THRESH 9D53: L9D53 LDAA L0858 ; RPM/12.5 - TARGET IDLE 9D56: L9D56 CMPA #40 ; 500 RPM 9D58: L9D58 BLS L9D5E 9D5A: LDAA #160 9D5C: BRA L9D72 9D5E: L9D5E ASLA 9D5F: CMPA #32 ; 9D61: BLS L9D67 ; 9D63: ADDA #80 ; 9D65: BRA L9D72 ; 9D67: L9D67 ASLA ; 9D68: CMPA #16 ; 9D6A: BLS L9D70 ; 9D6C: ADDA #48 ; 9D6E: BRA L9D72 9D70: L9D70 ASLA 9D71: ASLA 9D72: L9D72 JSR LF15E ; 2d LK UP 9D75: STAA L086D 9D78: RTS ;------------------------------------------------- ;-------------------------------------------------- ; IAC FLOW TABLE Vs. VEHICLE CONDITIONS, ; PRNDL,A/C, LOOP STATUS RPM RANGE ETC. ; ; 09-11-1996 Dissassemby of BDWM Lines= 32 ; ; TBL = %FLOW * 2.56 Vs. RPM ERROR ;-------------------------------------------------- ORG $9D79 ; ;---------------------------------- L9D79 FCB $4FD8 ; 1. PROPORTIONAL,(%FLOW) Vs. RPM ; (DRIVE, A/C OFF, OPN LP, IDLE, LO RPM) ; L9D7B FCB $4FE3 ; 2. PROPORTIONAL,(%FLOW) Vs. RPM ; (DRIVE, A/C OFF, OPN LP, IDLE, HI RPM) ; L9D7D FCB $4FEE ; 3. PROPORTIONAL,(%FLOW) Vs. RPM ; (DRIVE, A/C OFF, CLSD LP, IDLE, LO RPM) ; L9D7F FCB $4FE9 ; 4. PROPORTIONAL,(%FLOW) Vs. RPM ; (DRIVE, A/C OFF CLSD LP IDLE HIGH RPM) ; L9D81 FCB $5004 ; 5. PROPORTIONAL,(%FLOW) Vs. RPM ; L9D83 FCB $500F ; 6. PROPORTIONAL,(%FLOW) Vs. RPM ; (DRIVE, A/C ON, OPN LP, RPM HIGH) ; L9D85 FCB $501A ; 7. PROPORTIONAL,(%FLOW) Vs. RPM ; (DRIVE, A/C ON, CLSD LP IDLE, RPM LOW) ; L9D87 FCB $5025 ; 8. PROPORTIONAL,(%FLOW) Vs. RPM ; ;--------------------------------------------------- 9D8A: NEGB 9D8B: PULA 9D8C: LDAA L006C ; DRIVITIVE RPM/SPK/FUEL 9D8E: SUBA #96 9D90: BCC L9D95 9D92: CLRA 9D93: BRA L9D9F 9D95: L9D95 CMPA #64 9D97: BCS L9D9D 9D99: LDAA #255 9D9B: BRA L9D9F 9D9D: L9D9D ASLA 9D9E: ASLA 9D9F: L9D9F JSR LF15E ; 2D LK UP 9DA2: LDX L086E 9DA5: CLRB 9DA6: CMPA L086E 9DA9: BEQ L9DDF 9DAB: BRSET L0037,#$80,L9DB7 ; BR IF b7, ADD DERIV TERM TO g/SEF FLO 9DAF: BHI L9DC2 ; ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9DB1: BRCLR L0036,#$80,L9DC2 ; BR IF NOT b7, IDLE RPM TO HIGH 9DB5: BRA L9DC8 9DB7: L9DB7 BCS L9DBD ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9DB9: BRCLR L0036,#$80,L9DC8 ; BR IF NOT b7, IDLE RPM TO HIGH ;... else 9DBD: L9DBD LDAB L5030 ; 0.125 COEF FOR IAC DIRIVITVE, (FAST COEF) 9DC0: BRA L9DC5 9DC2: L9DC2 LDAB L5031 ; 0.125 COEF FOR IAC DIRIVITVE, (SLOW COEF) 9DC5: L9DC5 JSR LF0F6 ; FILT ROUTINE 9DC8: L9DC8 STD L086E ; 9DCB: SUBA #128 ; 9DCD: BCC L9DD5 ; ;... else 9DCF: NEGA 9DD0: BCLR L0037,#$80 ; CLR b7, ADD DERIV TERM TO g/SEF FLOW 9DD3: BRA L9DD8 9DD5: L9DD5 BSET L0037,#$80 ; SET b7, ADD DERIV TERM TO g/SEF FLOW 9DD8: L9DD8 LSRA 9DD9: LSRA 9DDA: ADCA #$00 9DDC: STAA L0870 9DDF: L9DDF RTS ;---------------------------------------------- ;---------------------------------------------- ; ; ; ;---------------------------------------------- 9DE0: L9DE0 LDAA L01FC ; TPS 9DE3: ASLA ; TPS x 2 9DE4: BCS L9DE9 ;... else 9DE6: ASLA 9DE7: BCC L9DEB ;... else 9DE9: L9DE9 LDAA #255 9DEB: L9DEB CMPA L0882 9DEE: BLS L9E16 ;... else 9DF0: LDAB L5064 ; 3.60% MAX PK/NEUT TPS FOR T/F ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9DF3: BRCLR L0036,#$02,L9E0F ; BR IF NOT b1, DRIVE, 0 = PK/NEUT ;-------------------------------------------------- ; FILTERED TPS DELAY TMR Vs. Vss ; ; TBL = SEC'S * 40 ;-------------------------------------------------- 9DF7: PSHA ; ; LIMIT Vss TO 80 MPH FOR LK UP ; 9DF8: LDAA L02A7 ; Vss/1 9DFB: CMPA #80 ; 80 MPH 9DFD: BLS L9E01 9DFF: LDAA #80 9E01: L9E01 ASLA ; MPH x 2 9E02: LDX #$5067 ; FILTERED TPS DELAY TMR TBL 9E05: JSR LF15E ; 2d LK UP 9E08: STAA L0884 9E0B: PULA 9E0C: LDAB L5065 ; 6.25% MAX DRIVE TPS FOR T/F 9E0F: L9E0F CBA 9E10: BLS L9E13 9E12: TBA 9E13: L9E13 CLRB 9E14: BRA L9E51 9E16: L9E16 LDAB L0884 9E19: BEQ L9E20 9E1B: LDD L0882 9E1E: BRA L9E51 9E20: L9E20 PSHA ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9E21: BRSET L0036,#$02,L9E2A ; BR IF b1, DRIVE, 0 = PK/NEUT 9E25: LDAA L5066 ; 0.144 COEF PK/NEUT FILT TIME CONST 9E28: BRA L9E3A ;-------------------------------------------------- ; FILTERED TPS FILT COEF Vs. Vss ; ; TBL = FILT COEF * 256 ;-------------------------------------------------- 9E2A: L9E2A LDAA L02A7 ; Vss/1 9E2D: CMPA #80 ; CK UPPER Vss LMT 9E2F: BLS L9E33 ; ; LIMIT Vss TO 80 MPH FOR LK UP ; 9E31: LDAA #80 ; 80 MPH 9E33: L9E33 ASLA 9E34: LDX #$5072 ; FILTERED TPS FILT COEF 9E37: JSR LF15E ; 2d LK UP 9E3A: L9E3A LDAB L01E3 ; S/D MAP 9E3D: CMPB L507E ; 26.3 Kpa MIN MAP FOR MOD'ING FILT COEF 9E40: BCC L9E46 ; 9E42: LDAB L507F ; 0.5 9E45: MUL 9E46: L9E46 TAB 9E47: BNE L9E4A 9E49: INCB 9E4A: L9E4A PULA 9E4B: LDX L0882 9E4E: JSR LF0F6 ; FILT ROUTINE 9E51: L9E51 PSHB 9E52: PSHA 9E53: BRSET L0037,#$01,L9E70 ; BR IF b0, 1 = ETC ONE FLAG 9E57: LDAB L02A5 ; OLD COOL, (FOR RESTART) 9E5A: CMPB L5090 ; 15 Deg c, START UP COOL FOR COLD ENG MODE 9E5D: BCS L9E6D ; BR IF COOL < THRESH ; .. else 9E5F: CMPB L5091 ; 45 Deg c, START UP COOL FOR COLD ENG MODE 9E62: BCC L9E6D ; BR IF COOL > THRESH 9E64: LDX L00F8 ; ENG RUN TIME 9E66: CPX L5092 ; 350 SEC'S MOD'ED THROT FOLLOWER RUN TIME ; MAX COLD ENG TIME) 9E69: BHI L9E6D ; BR IF TIME UP 9E6B: BRA L9E70 9E6D: L9E6D BSET L0037,#$01 ; SET b0, 1 = ETC ONE FLAG ; 9E70: L9E70 BRSET L0039,#$80,L9EB2 ; BR IF b7, 9E74: TST L0884 ; 9E77: BNE L9EB2 ; ; .. else ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9E79: BRSET L0036,#$04,L9EB2 ; BR IF b2, CLSD LP QUALS MET, ; (clsd tps & low mph) 9E7D: BRCLR L0046,#$08,L9E8D ; BR IF NOT b3, DECEL FUEL C/O ; ; CK IAC OPT WD 1, b3 ; b1 = 1 = USE ETC IN DECELL FUEL CUT OFF ; 0 = DONT USE ETC IN DECELL FUEL CUT OFF ; ; 9E81: LDAB L4E85 ; IAC OPT WD, 0000 1010 9E84: BITB #$02 ; b1 9E86: BNE L9E8D 9E88: BSET L0039,#$40 9E8B: BRA L9ECF ;-------------------------------------------------- ; IAC EXTENDED THROTTLE CRACKER TPS FOLLOWER ; MIN VAL'S Vs. COOL ; SEE L5096 FOR TBL MODIFIER ; ; TBL = 2.56 * 4 * %TF TPS ;-------------------------------------------------- 9E8D: L9E8D LDAA L02A6 ; COOLANT 9E90: LDX #$5080 ; IAC EXTENDED THROTTLE CRACKER TPS 9E93: JSR LF15E ; 2D LK UP 9E96: CLRB ;--------------------------- ; IAC DIAG MD WD 3 ; b0 1 = ETC ONE FLAG ;----------------------------- 9E97: BRSET L0037,#$01,L9EA8 9E9B: LDAB L5096 9E9E: MUL 9E9F: ASLD 9EA0: BCS L9EA5 9EA2: ASLD 9EA3: BCC L9EA8 9EA5: L9EA5 LDD #$FFFF 9EA8: L9EA8 TSX 9EA9: CPD 0,X 9EAC: BLS L9EBE 9EAE: STD 0,X 9EB0: BRA L9EBE 9EB2: L9EB2 LDAB #$FF ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9EB4: BRSET L0036,#$04,L9ECC ; BR IF b2, CLSD LP QUALS MET, ; (clsd tps & low mph) 9EB8: CLRB ;--------------------------- ; IAC DIAG MD WD 3 ; b1 1 = ETC * KONST ;----------------------------- 9EB9: BCLR L0037,#$02 ; CLR b1 9EBC: BRA L9ECC 9EBE: L9EBE LDAB L0886 9EC1: CMPB L508D 9EC4: BCS L9ECB ;--------------------------- ; IAC DIAG MD WD 3 ; b0 1 = ETC ONE FLAG ;----------------------------- 9EC6: BSET L0037,#$02 9EC9: BRA L9ECF 9ECB: L9ECB INCB 9ECC: L9ECC STAB L0886 9ECF: L9ECF PULA 9ED0: PULB 9ED1: STAA L0882 9ED4: BNE L9EDB 9ED6: CMPB #$0028 9ED8: BCC L9EDB 9EDA: CLRB 9EDB: L9EDB STAB L0883 9EDE: SUBA L0885 9EE1: BCC L9EE9 9EE3: LDD #$0000 9EE6: JMP L9F78 ;--------------------------- ; IAC DIAG MD WD 3 ; b0 1 = ETC ONE FLAG ;----------------------------- 9EE9: L9EE9 BRCLR L0037,#$02,L9EFE 9EED: PSHB 9EEE: PSHA 9EEF: TSX 9EF0: LDAA L5094 ;--------------------------- ; IAC DIAG MD WD 3 ; b0 1 = ETC ONE FLAG ;----------------------------- 9EF3: BRCLR L0037,#$01,L9EFA 9EF7: LDAA L5095 9EFA: L9EFA JSR LF1ED ; 8 x 16 Mult w/16b result rounded to upper 16b 9EFD: PULX 9EFE: L9EFE PSHB 9EFF: PSHA 9F00: LDAA L0063 ; RPM/12.5 9F02: LDX #$505A 9F05: JSR LF153 9F08: TSX 9F09: JSR LF1ED ; 8 x 16 Mult w/16b result rounded to upper 16b 9F0C: PULX 9F0D: ASLD 9F0E: BCS L9F13 9F10: ASLD 9F11: BCC L9F18 9F13: L9F13 LDD #$FFFF 9F16: BRA L9F31 9F18: L9F18 PSHB 9F19: PSHA 9F1A: LDX #$504D 9F1D: LDAA L02A6 9F20: JSR LF15E ; 2D LK UP 9F23: TSX 9F24: JSR LF1ED ; 8 x 16 Mult w/16b result rounded to upper 16b 9F27: PULX 9F28: ASLD 9F29: BCS L9F2E 9F2B: ASLD 9F2C: BCC L9F31 9F2E: L9F2E LDD #$FFFF ;--------------------------- ; IAC DIAG MD WD 3 ; b0 1 = ETC ONE FLAG ;----------------------------- 9F31: L9F31 BRSET L0037,#$01,L9F48 9F35: PSHB 9F36: PSHA 9F37: TSX 9F38: LDAA L5097 9F3B: JSR LF1ED ; 8 x 16 Mult w/16b result rounded to upper 16b 9F3E: PULX 9F3F: ASLD 9F40: BCS L9F45 9F42: ASLD 9F43: BCC L9F48 9F45: L9F45 LDD #$FFFF 9F48: L9F48 BRCLR L0039,#$80,L9F60 9F4C: PSHB 9F4D: PSHA 9F4E: PULX 9F4F: SUBD L0880 9F52: BCC L9F58 9F54: NEGB 9F55: ADCA #$0000 9F57: NEGA 9F58: L9F58 CMPA L507D ; 1.6% FLOW, T/F HYST 9F5B: BCS L9F7B ; 9F5D: XGDX 9F5E: BRA L9F78 9F60: L9F60 BRSET L0046,#$08,L9F6D ; BR IF b3, DECEL FUEL C/O 9F64: BRCLR L0039,#$40,L9F6D 9F68: BCLR L0039,#$40 9F6B: BRA L9F78 9F6D: L9F6D LDX L0880 9F70: BEQ L9F78 9F72: CPD L0880 9F76: BCC L9F7B 9F78: L9F78 STD L0880 9F7B: L9F7B RTS 9F7C: L9F7C BRSET L004F,#$80,L9F83 ; BR IF b7, ENGINE RUNNING 9F80: JMP LA370 9F83: L9F83 JSR L997F ;----------------------------- ; IAC DIAG MD WD 1 ; b1 1 = 1st DRIVE AWAY FLAG FOR IAC KICK DOWN LOGIC ;----------------------------- 9F86: BRSET L0009,#$02,L9FAD ; BR IF b1 9F8A: LDAA L02A7 ; Vss/1. (KPH = 1.61) 9F8D: CMPA L4EB6 9F90: BLS L9FAD 9F92: LDAA L4EB7 ; 82.4% COLD OFFSET KICK DOWN MULT, (IAC) 9F95: LDX #$02C6 ; IAC FLOW Vs. COOL 9F98: JSR LF1ED ; 8 x 16 Mult w/16b result rounded to upper 16b 9F9B: STD L02C6 ; IAC FLOW Vs. COOL 9F9E: LDAA L4EB7 ; 82.4% COLD OFFSET KICK DOWN MULT, (IAC) 9FA1: LDX #$02D0 ; 9FA4: JSR LF1ED ; 8 x 16 Mult w/16b result rounded to upper 16b 9FA7: STD L02D0 ;----------------------------- ; IAC DIAG MD WD 1 ; b1 1 = 1st DRIVE AWAY FLAG FOR IAC KICK DOWN LOGIC ;----------------------------- 9FAA: BSET L0009,#$02 ; SET b1 9FAD: L9FAD LDAA L0887 9FB0: BEQ L9FCD 9FB2: BRSET L0046,#$08,L9FCD ; BR IF b3, DECEL FUEL C/O 9FB6: DEC L0888 9FB9: BNE L9FCD 9FBB: LDAB L50B5 9FBE: STAB L0888 9FC1: SUBA L50B4 9FC4: BCC L9FCA 9FC6: CLRA 9FC7: BCLR L0038,#$20 9FCA: L9FCA STAA L0887 ; ; CK IAC OPT WD 1, b3 ; b2 = U/K ?? ; 9FCD: L9FCD LDAA L4E85 ; IAC OPT WD, 0000 1010 9FD0: BITA #$04 ; b2 9FD2: BNE L9FD6 9FD4: BRA LA01C ;--------------------------- ; IAC DIAG MD WD 3 ; b2 1 = THROTTLE KICKER ACTIVE ;----------------------------- 9FD6: L9FD6 BRSET L0037,#$04,L9FDD ; BR IF b2, THROTTLE KICKER ACTIVE 9FDA: JMP LA05F ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; 9FDD: L9FDD BRSET L0036,#$0C,L9FE3 ; SET b 1100, 9FE1: BRA L9FEC 9FE3: L9FE3 LDAA L0319 ; 9FE6: STAA L02D4 ; TPS A/D ; 9FE9: BSET L0039,#$01 ; SET b0, ;--------------------------- ; IAC DIAG MD WD 3 ; b3 1 = THROTTLE KICKER DISABLE REQUESTED ;----------------------------- 9FEC: L9FEC BRSET L0037,#$08,LA031 ; BR IF b3, 9FF0: LDAA L0006 ; COOL 9FF2: CMPA L50BD ; -40 DEG c THRESH MAX FOR THROT KICKER 9FF5: BCC LA000 ; BR IF COOL GT THRESH 9FF7: LDAA L50C2 ; 0 SEC, MAX RUN TIME FOR THROT KICKER 9FFA: STAA L088D ; TPS KICKER TIME ; 9FFD: JMP LA0B1 ; ;----------------------------- ; IAC DIAG MD WD 3 ; b4 1 = THROTTLE KICKER BARO DISABLE REQUESTED ;----------------------------- A000: LA000 BRSET L0037,#$10,LA031 ; BR IF b4 A004: LDAA L0317 ; MAP2 A007: CMPA L50C3 ; 0 %FLOW FOR DISABLING THROTTLE KICKER A00A: BCC LA031 ; ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; A00C: BRCLR L0036,#$80,LA01C ; BR IF NOT b7, IDLE RPM TO HIGH A010: LDAA L02CA ; A013: CMPA L50C5 ; 0 RPM FOR DISABING THROTTLE KICKER IF IN DRIVE A016: BCC LA01C ; ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; A018: BRSET L0036,#$08,LA01F ; BR IF b3, CLSD LP ON RPM ENABLED A01C: LA01C JMP LA0B4 A01F: LA01F LDAA L50C7 ; 0 RPM FOR DISABING THROTTLE KICKER ; IF IN DRIVE ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; A022: BRSET L0036,#$02,LA029 ; BR IF b1, DRIVE, 0 = PK/NEUT A026: LDAA L50C8 ; 0 RPM FOR DISABING THROTTLE ; KICKER IF IN PK/NEUT A029: LA029 CMPA L0858 ; RPM/12.5 - TARGET IDLE A02C: BLS LA031 ; ;--------------------------- ; IAC DIAG MD WD 3 ; b4 1 = THROTTLE KICKER BARO DISABLE REQUESTED ;----------------------------- A02E: BSET L0037,#$10 ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; A031: LA031 BRCLR L0036,#$40,LA03A ; BR IF NOT b6, TPS KICKER HAS BEEN DISABLED ONCE A035: LDAA L088D ; TPS KICKER TIME A038: BNE LA053 A03A: LA03A LDAA L01FC ; TPS A03D: CMPA L50C1 ; 0% TPS MAX FOR THROT KICKER A040: BHI LA089 A042: LDAA L02A7 ; Vss/1. (KPH = 1.61) A045: CMPA L50C0 ; 0 MPH Vs.s MAX FOR THROT KICKER A048: BHI LA089 ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; A04A: BRSET L0036,#$40,LA0B1 ; BR IF b6, TPS KICKER HAS BEEN DISABLED ONCE A04E: LDAA L088D ; TPS KICKER TIME A051: BEQ LA089 A053: LA053 LDAB L0002 ; MJR LOOP SEGMENT COUNT A055: ANDB #$F0 ; A057: BNE LA0B1 ; A059: DECA ; DECR TPS KICKER TIME A05A: STAA L088D ; TPS KICKER TIME A05D: BRA LA0B1 A05F: LA05F LDAA L088D ; TPS KICKER TIME A062: CMPA #$0F A064: BLS LA07D ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; ; A066: BRSET L0036,#$0C,LA06C A06A: BRA LA075 A06C: LA06C LDAA L0319 A06F: STAA L02D5 A072: BSET L0039,#$02 A075: LA075 LDAA L088D ; TPS KICKER TIME A078: CMPA L50CD ; 10 SEC'S, HYST TIME KICKER MUST ; BE OFF TO BR RE-ENABLED A07B: BEQ LA089 ; A07D: LA07D LDAB L0002 ; MJR LOOP SEGMENT COUNT A07F: ANDB #$F0 ; 1111 0000 A081: BNE LA09C ; BR IF A083: INCA ; INCR TPS KICKER TIME A084: STAA L088D ; TPS KICKER TIME A087: BRA LA09C A089: LA089 LDAA L0317 ; MAP2 A08C: CMPA L50C4 ; 0 %FLOW FOR DISABLING THROTTLE KICKER A08F: BLS LA0A1 A091: LDD L02CA A094: ADDD L02D0 A097: CMPA L50C6 ; 0 RPM FOR DISABING THROTTLE ; KICKER IF IN PK/NEUT A09A: BHI LA0A1 ; A09C: LA09C JSR L92F1 A09F: BRA LA0B4 A0A1: LA0A1 LDAA L01FC ; TPS A0A4: CMPA L50C1 ; 0% TPS MAX FOR THROT KICKER A0A7: BHI LA0B1 ; BR IF TPS GT THRESH ; ...else A0A9: LDAA L02A7 ; Vss/1. (KPH = 1.61) A0AC: CMPA L50C0 ; 0 MPH Vs.s MAX FOR THROT KICKER A0AF: BLS LA0B4 ; BR IF Vss LT THRESH ; ...else A0B1: LA0B1 JSR L9309 A0B4: LA0B4 LDAA L02C8 ; IAC FLOW Vs. COOL A0B7: ORAA L02D2 ; A0BA: BNE LA0BF ; A0BC: JMP LA1AE A0BF: LA0BF LDAA L0875 ; IAC COLD OFFSET DELAY PERIOD A0C2: BEQ LA0C7 ; BR IF = Z A0C4: DECA ; DECR IAC COLD OFFSET DELAY PERIOD A0C5: BRA LA13F A0C7: LA0C7 LDAA L4EB3 ; 97.6% DECAY MULT FOR MAX COLD OFFSET A0CA: LDX #$02C8 ; IAC FLOW Vs. COOL A0CD: JSR LF1ED ; 8 x 16 Mult w/16b result rounded to upper 16b A0D0: TSTA A0D1: BNE LA0D5 A0D3: CLRA A0D4: CLRB A0D5: LA0D5 STD L02C8 ; IAC FLOW Vs. COOL A0D8: BEQ LA0EC A0DA: LDAA L4EB4 ; 95.7% DECAY MULT (PARK) A0DD: LDX #$02C6 ; IAC FLOW Vs. COOL A0E0: JSR LF1ED ; 8 x 16 Mult w/16b result rounded to upper 16b A0E3: CPD L02C8 ; IAC FLOW Vs. COOL A0E7: BLS LA0EC A0E9: LDD L02C8 ; IAC FLOW Vs. COOL A0EC: LA0EC STD L02C6 ; IAC FLOW Vs. COOL A0EF: LDAA L4EB3 ; 97.6% DECAY MULT FOR MAX COLD OFFSET A0F2: LDX #$02D2 A0F5: JSR LF1ED ; 8 x 16 Mult w/16b result rounded to upper 16b A0F8: TSTA A0F9: BNE LA0FD A0FB: CLRA A0FC: CLRB A0FD: LA0FD STD L02D2 A100: BEQ LA114 A102: LDAA L4EB5 ; 95.3% DECAY MULT (DRIVE) A105: LDX #$02D0 A108: JSR LF1ED ; 8 x 16 Mult w/16b result rounded to upper 16b A10B: CPD L02D2 A10F: BLS LA114 A111: LDD L02D2 A114: LA114 STD L02D0 A117: LDAA L02C8 ; IAC FLOW Vs. COOL A11A: ORAA L02D2 A11D: BEQ LA13F A11F: LDAA L02A6 A122: LDX #$4ED2 A125: JSR LF15E ; 2D LK UP A128: PSHA ;-------------------------------------------------- ; MULT Vs. FLOW ; ; TBL = MULT * 128 ;-------------------------------------------------- A129: LDX #$4EDF ; MULT Vs. IAC FLOW A12C: LDAA L0255 ; Gms/Sec AIR FLOW A12F: CMPA #64 ; CK UPPER LIMIT A131: BLS LA135 ; BR IF AIR FLOW LT 64 A133: LDAA #64 ; FORCE 64 FOR LK UP VAL A135: LA135 JSR LF15E ; 2D LK UP A138: PULB A139: MUL A13A: ASLD A13B: BCC LA13F ; IF NO OVERFLOW A13D: LDAA #255 ; USE MAX VALUE A13F: LA13F STAA L0875 ; IAC COLD OFFSET DELAY PERIOD ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; A142: BRSET L0036,#$02,LA176 ; BR IF b1, DRIVE, 0 = PK/NEUT A146: LDAA L02C6 ; IAC FLOW Vs. COOL A149: BEQ LA1AC ; BR IF IAC FLOW = 0 A14B: LDAB L4EE6 ; 40% MAX ALLOWABLE DIFF A14E: BEQ LA15B A150: MUL A151: ADCA L02C6 ; IAC FLOW Vs. COOL A154: BCS LA15B A156: CMPA L02D0 A159: BCS LA170 A15B: LA15B LDAA L02C6 ; IAC FLOW Vs. COOL A15E: LDAB L4EE7 A161: BEQ LA1AC A163: MUL A164: ADCA #$0000 A166: TAB A167: LDAA L02C6 ; IAC FLOW Vs. COOL A16A: SBA A16B: CMPA L02D0 A16E: BCS LA1A9 A170: LA170 CLRB A171: STD L0899 A174: BRA LA1A4 A176: LA176 LDAA L02D0 A179: BEQ LA1AC A17B: LDAB L4EE4 A17E: BEQ LA18B A180: MUL A181: ADCA L02D0 A184: BCS LA18B A186: CMPA L02C6 ; IAC FLOW Vs. COOL A189: BCS LA1A0 A18B: LA18B LDAA L02D0 A18E: LDAB L4EE5 A191: BEQ LA1AC A193: MUL A194: ADCA #$0000 A196: TAB A197: LDAA L02D0 A19A: SBA A19B: CMPA L02C6 ; IAC FLOW Vs. COOL A19E: BCS LA1A9 A1A0: LA1A0 CLRB A1A1: STD L0893 A1A4: LA1A4 BSET L0038,#$10 A1A7: BRA LA203 A1A9: LA1A9 BCLR L0038,#$10 A1AC: LA1AC BRA LA203 ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; A1AE: LA1AE BRSET L0036,#$0C,LA1B4 A1B2: BRA LA203 A1B4: LA1B4 LDAA L0006 ; COOL A1B6: CMPA L4FB5 A1B9: BCS LA203 A1BB: CMPA L4FB6 A1BE: BHI LA203 A1C0: LDAA L0858 ; RPM/12.5 - TARGET IDLE A1C3: CMPA L4FB4 ; 12.5 RPM, DEADBAND FOR UPDATING IDLE CELLS A1C6: BHI LA203 ; BR IF RPM GT THRESH A1C8: LDAA L0859 A1CB: CMPA L4FB4 ; 12.5 RPM, DEADBAND FOR UPDATING IDLE CELLS A1CE: BHI LA203 ; ; CURRENT ERR WD 3 ; $F5 ; A1D0: BCLR L0018,#$08 ; CLR b3, ERR 35, IAC ERROR ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; A1D3: BRSET L0036,#$02,LA1EB ; BR IF b1, DRIVE, 0 = PK/NEUT ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; A1D7: BRSET L0036,#$01,LA1E3 ; BR IF b0, A/C ON A1DB: LDAA L02C0 A1DE: STAA L02C2 A1E1: BRA LA203 A1E3: LA1E3 LDAA L02C3 A1E6: STAA L02C5 A1E9: BRA LA203 ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; A1EB: LA1EB BRSET L0036,#$01,LA1FA ; BR IF b0, A/C ON A1EF: LDAA L02CA A1F2: STAA L02CC ;----------------------------- ; IAC DIAG MD WD 1 ; b4 1 = WARM IDLE STABLE, A/C OFF ;----------------------------- A1F5: BSET L0009,#$10 ; SET b4 A1F8: BRA LA203 A1FA: LA1FA LDAA L02CD A1FD: STAA L02CF ;----------------------------- ; IAC DIAG MD WD 1 ; b4 1 = WARM IDLE STABLE, A/C OFF ;----------------------------- A200: BSET L0009,#$20 A203: LA203 LDAA L0876 ; %IAC FLOW MAX STEP FOR A/C OFF/ON A206: BEQ LA22A A208: LDAB L0877 A20B: BNE LA22A ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; A20D: BRCLR L0036,#$01,LA226 ; BR IF NOT b0, A/C ON A211: LDAB L0878 A214: BEQ LA21B A216: DEC L0878 A219: BNE LA22A A21B: LA21B LDAB L4F18 A21E: STAB L0878 A221: SUBA L4F17 A224: BCC LA227 A226: LA226 CLRA A227: LA227 STAA L0876 ; %IAC FLOW MAX STEP FOR A/C OFF/ON ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; A22A: LA22A LDAB L0036 A22C: BITB #$0008 A22E: BEQ LA238 A230: BITB #$10 ; b4 A232: BNE LA238 A234: BRCLR L003E,#$04,LA23B ; BR IF NOT b2, LOW BATTERY A238: LA238 JMP LA35E ;------------------------------------------------------ A23B: LA23B CLRB ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; A23C: BRSET L0036,#$01,LA249 ; BR IF NOT b0, A/C ON A240: LDX #$02C0 A243: LDY #$088F A247: BRA LA250 A249: LA249 LDX #$02C3 A24C: LDY #$0891 A250: LA250 LDAA 0,X A252: SUBA $0A,X A254: BCS LA273 A256: CMPA L4FBC ; 2.7 %FLOW Min Diff A259: BLS LA291 ; BR IF ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; A25B: BRSET L0036,#$02,LA269 ; BR IF b1, DRIVE, 0 = PK/NEUT A25F: LDAA 0,X A261: SUBA L4FBC ; 2.7 %FLOW Min Diff A264: STD 6.Y A267: BRA LA2B1 A269: LA269 LDAA $0A,X A26B: ADDA L4FBC ; 2.7 %FLOW Min Diff A26E: STD 0,Y A271: BRA LA2B1 ;------------------------------------------------------ A273: LA273 NEGA A274: CMPA L4FBB ; 15 %FLOW, MAX Diff A277: BLS LA291 ; BR IF ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; A279: BRSET L0036,#$02,LA287 ; BR IF b1, DRIVE, 0 = PK/NEUT A27D: LDAA 0,X A27F: ADDA L4FBB ; 15 %FLOW, MAX Diff A282: STD 6.Y A285: BRA LA2B1 A287: LA287 LDAA $0A,X A289: SUBA L4FBB ; 15 %FLOW, MAX Diff A28C: STD 0,Y A28F: BRA LA2B1 ;------------------------------------------------------ ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; A291: LA291 BRSET L0036,#$02,LA2A3 ; BR IF b1, DRIVE, 0 = PK/NEUT ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; A295: BRSET L0036,#$01,LA29E ; BR IF b0, A/C ON A299: BCLR L0038,#$04 A29C: BRA LA2CF A29E: LA29E BCLR L0038,#$08 A2A1: BRA LA2CF ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; A2A3: LA2A3 BRSET L0036,#$01,LA2AC ; BR IF b0, A/C ON A2A7: BCLR L0038,#$01 A2AA: BRA LA2CF A2AC: LA2AC BCLR L0038,#$02 A2AF: BRA LA2CF ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; A2B1: LA2B1 BRSET L0036,#$02,LA2C3 ; BR IF b1, DRIVE, 0 = PK/NEUT A2B5: BRSET L0036,#$01,LA2BE ; BR IF b0, A/C ON A2B9: BSET L0038,#$04 A2BC: BRA LA2CF A2BE: LA2BE BSET L0038,#$08 A2C1: BRA LA2CF WASSET ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; A2C3: LA2C3 BRSET L0036,#$01,LA2CC ; BR IF b0, A/C ON A2C7: BSET L0038,#$01 ; SET b0 A2CA: BRA LA2CF A2CC: LA2CC BSET L0038,#$02 ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; A2CF: LA2CF BRSET L0036,#$02,LA2E0 ; BR IF b1, DRIVE, 0 = PK/NEUT A2D3: LDX #$088F ; A2D6: PSHX ; A2D7: LDX #$02C0 ; ; A2DA: LDY #$4FB7 ; INDEX Y, ... %FLOW MiN Diff A2DE: BRA LA2EB A2E0: LA2E0 LDX #$0895 ; A2E3: PSHX ; A2E4: LDX #$02CA ; ; A2E7: LDY #$4FB9 ; INDEX Y, ... %FLOW Min Diff ; A2EB: LA2EB LDAB 0,Y ; A2EE: PSHB ; A2EF: LDD 3,X ; ; A2F1: SUBD 0,X ; A2F3: PULB ; A2F4: BLS LA2FF ; A2F6: CBA ; A2F7: BCS LA2FF ; A2F9: LDAB 1,Y ; A2FC: CBA ; A2FD: BLS LA31F ; ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; A2FF: LA2FF BRSET L0036,#$01,LA313 ; BR IF b0, A/C ON A303: LDAA 0,X ; A305: ABA ; A306: BCC LA30D ; ; A308: LDD #$FFFF ; A30B: BRA LA30E A30D: LA30D CLRB ; A30E: LA30E PULX ; A30F: STD 2,X ; A311: BRA LA340 A313: LA313 LDAA 3,X A315: SBA A316: BCC LA319 A318: CLRA A319: LA319 CLRB A31A: PULX A31B: STD 0,X A31D: BRA LA340 A31F: LA31F PULX ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; A320: BRSET L0036,#$02,LA332 ; BR IF b1, DRIVE, 0 = PK/NEUT A324: BRSET L0036,#$01,LA32D ; BR IF b0, A/C ON A328: BCLR L0038,#$02 A32B: BRA LA35E A32D: LA32D BCLR L0038,#$01 A330: BRA LA35E ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; A332: LA332 BRSET L0036,#$01,LA33B ; BR IF b0, A/C ON ; .. else A336: BCLR L0038,#$08 A339: BRA LA35E A33B: LA33B BCLR L0038,#$04 A33E: BRA LA35E ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; A340: LA340 BRSET L0036,#$02,LA352 ; BR IF b1, DRIVE, 0 = PK/NEUT A344: BRSET L0036,#$01,LA34D ; BR IF b0, A/C ON A348: BSET L0038,#$02 A34B: BRA LA35E A34D: LA34D BSET L0038,#$01 A350: BRA LA35E ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; A352: LA352 BRSET L0036,#$01,LA35B ; BR IF b0, A/C ON A356: BSET L0038,#$08 A359: BRA LA35E A35B: LA35B BSET L0038,#$04 A35E: LA35E LDAA L0866 A361: BEQ LA367 A363: DECA A364: STAA L0866 A367: LA367 LDAA L0867 ; IAC ENABLE DELAY TIME (Post startup) A36A: BEQ LA370 ; BR IF DELAY = 0 SEC'S A36C: DECA A36D: STAA L0867 ; DECR IAC ENABLE DELAY TIME A370: LA370 LDX #$02CA ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; A373: BRSET L0036,#$02,LA37A ; BR IF b1, DRIVE, 0 = PK/NEUT A377: LDX #$02C0 A37A: LA37A LDAA 2,X ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; A37C: BRCLR L0036,#$01,LA382 ; BR IF b0, A/C ON A380: LDAA 5,X A382: LA382 STAA L086A A385: RTS A386: LA386 BRSET L004F,#$80,LA38D ; BR IF b7, ENGINE RUNNING A38A: JMP LA4DC A38D: LA38D JSR L9DE0 A390: LDAA L087B A393: BEQ LA3B0 ; BR IF Z A395: LDAB L087C ; DECAY PERIOD FOR PWR STEER A398: BEQ LA39F ; BR IF Z A39A: DEC L087C ; DECAY PERIOD FOR PWR STEER A39D: BNE LA3B0 ; BR IF NZ A39F: LA39F SUBA L4F27 ; 0% FLOW, PWR STEER DECAY AMT A3A2: BCC LA3A5 ; BR IF NO UNDERFLOW A3A4: CLRA A3A5: LA3A5 STAA L087B A3A8: BEQ LA3AD A3AA: LDAA L4F26 ; 0 Sec's, DECAY PERIOD FOR PWR STEER A3AD: LA3AD STAA L087C ; DECAY PERIOD FOR PWR STEER A3B0: LA3B0 LDAA L086B ; FLOW ADDED AIR AFTER START UP A3B3: BEQ LA3D0 ; BR IF Z A3B5: BRCLR L003F,#$40,LA3BC ; BR IF NOT b6, A3B9: CLRA A3BA: BRA LA3CD A3BC: LA3BC LDAB L086C ; A3BF: BEQ LA3C6 ; A3C1: DEC L086C A3C4: BNE LA3D0 ; BR IF NZ A3C6: LA3C6 LDAB L4EAF ; 100 Msec, IAC DECAY PERIOD A3C9: STAB L086C ; IAC DECAY PERIOD A3CC: DECA ; DECR FLOW A3CD: LA3CD STAA L086B ; FLOW ADDED AIR AFTER START UP A3D0: LA3D0 LDAA L085C A3D3: BEQ LA400 A3D5: BRCLR L003F,#$40,LA3DC A3D9: CLRA A3DA: BRA LA3FD A3DC: LA3DC LDAB L085E ; A3DF: BEQ LA3EC ; BR IF Z A3E1: LDAB L0002 ; MJR LOOP SEGMENT COUNT A3E3: BITB #$F0 ; 1111 0000 A3E5: BNE LA400 ; A3E7: DEC L085E A3EA: BRA LA400 A3EC: LA3EC LDAB L085D ; DECAY PERIOD AFTER L4EB0 A3EF: BEQ LA3F6 ; BR IF Z A3F1: DEC L085D ; DECR DECAY PERIOD AFTER L4EB0 A3F4: BNE LA400 ; BR IF DECAY TIME IS NZ A3F6: LA3F6 LDAB L4EB1 ; 300 msec, IAC DECAY PERIOD AFTER L4EB0, A3F9: STAB L085D ; DECAY PERIOD AFTER L4EB0 A3FC: DECA ; DECR ... A3FD: LA3FD STAA L085C ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; A400: LA400 LDAA L0036 A402: BITA #$02 ; b1 A404: BEQ LA432 ; BR IF NOT b1 ; .... lese A406: BITA #$0C ; b2 b3 A408: BNE LA432 ; BR IF b2, b3 A40A: BITA #$01 ; b0 A40C: BNE LA421 ; BR IF b0 ; ...else A40E: LDAA L02CC A411: ADDA L4FBD ; 99.6% FLOW LMT IF NOT IN CLSD LP IAC A414: BCS LA432 ; ...else A416: CMPA L02CA A419: BCC LA432 ; ...else A41B: CLRB A41C: STD L02CA A41F: BRA LA432 A421: LA421 LDAA L02CF A424: ADDA L4FBE ; 99.6% FLOW LMT IF NOT IN CLSD LP IAC A427: BCS LA432 ; ...else A429: CMPA L02CD A42C: BCC LA432 ; ...else A42E: CLRB A42F: STD L02CD ; ; CK IAC OPT WD 1, b3 ; b2 = U/K ?? ; A432: LA432 LDAA L4E85 ; IAC OPT WD, 0000 1010 A435: BITA #$04 ; b2 A437: BEQ LA46E ; BR IF NOT ; ; CK ERR WD 3 ; ERR 36, IAC TPS KICKER FAIL ; A439: LDAA L5B02 ; ERR MASK 3 A43C: BITA #$04 ; b2, ERR 36, IAC TPS KICKER FAIL A43E: BEQ LA46E ; BR IF NOT b2 A440: BRSET L0039,#$04,LA46E ; A444: BRSET L0039,#$03,LA44A ; A448: BRA LA46E A44A: LA44A LDAA L02D4 ; TPS A/D A44D: SUBA L02D5 ; OLD TPS A/D A450: BCS LA457 ; BR IF OLD TPS A/D TPS A452: CMPA L50CC ; 0, A/D TPS MIN DIFF FOR ENABLE A455: BCC LA465 ; BR IF A/D VAL GT THRESH A457: LA457 BRSET L0009,#$40,LA460 ; BR IF b6, 1 = 1st PASS ERR 36 HAS FAILED A45B: BSET L0009,#$40 ; SET b6, 1 = 1st PASS ERR 36 HAS FAILED A45E: BRA LA46B ; ; CURRENT ERR WD 3 ; $F5 ; A460: LA460 BSET L0018,#$04 ; SET b2, ERR 36, IAC THROTTLE KICKER FAIL A463: BRA LA46B ; ; CURRENT ERR WD 3 ; $F5 ; A465: LA465 BCLR L0018,#$04 ; CLR b2, ERR 36, IAC THROTTLE KICKER FAIL A468: BCLR L0009,#$40 A46B: LA46B BSET L0039,#$04 A46E: LA46E BRSET L0002,#$20,LA4DC ; MJR LOOP SEGMENT COUNT ; ; CK ERR WD 3 ; ERR 35, IAC FAIL ; A472: LDAA L5B02 ; ERR MASK WD 3 A475: BITA #$08 ; b3, ERR 35, IAC FAIL A477: BEQ LA4BC ; BR IF NOT b3 ; ; CURRENT ERR MD 1 ; $F5 ; A479: BRSET L0016,#$10,LA4B6 ; BR IF b4, ERR 16, Vss BUFFER A47D: BRSET L0016,#$01,LA4B6 ; BR IF b0, ERR 21, HI TPS ;.... else ; ; CURRENT ERR WD 2 ; $F5 ; A481: BRSET L0017,#$80,LA4B6 ; BR IF b7, ERR 22, LOW TPS A485: BRSET L003E,#$04,LA4B6 ; BR IF b2, LOW BATTERY ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; A489: BRCLR L0036,#$08,LA4B6 ; BR IF NOT b3, CLSD LP ON RPM ENABLED A48D: BRSET L0009,#$40,LA4B6 ; BR IF b6, A491: LDX L02D0 ; A494: BNE LA4B6 ; A496: LDX L02C6 ; IAC FLOW Vs. COOL A499: BNE LA4B6 ; A49B: LDAB L0859 ; A49E: CMPB L50B6 ; 113 RPM, IF CLS LP IDLE ON AND ; REQUESTED RPM - RPM LT 113 SET ERR 35 A4A1: BLS LA4B6 ; A4A3: LDAB L088E ; ERR 35 TIMER A4A6: CMPB L50B7 ; 30 SEC'S ERR 35 TIME THRESH A4A9: BHI LA4B1 ; A4AB: INCB ; INCR ERR 35 TIMER A4AC: STAB L088E ; SAVE NEW ERR 35 TIMER A4AF: BRA LA4BC ; ; CURRENT ERR WD 3 ; $F5 ; A4B1: LA4B1 BSET L0018,#$08 ; SET b3, ERR 35, IAC ERROR A4B4: BRA LA4BC A4B6: LA4B6 CLR L088E ; ; CURRENT ERR WD 3 ; $F5 ; A4B9: BCLR L0018,#$08 ; CLR b3, ERR 35, IAC ERROR A4BC: LA4BC BRSET L0009,#$01,LA4DC ; BR IF B0, 1 = IAC MOTOR R/S IN WORK A4C0: BRSET L0009,#$04,LA4DC ; BR IF b2, 1 = R/S REQUESTED IF BIT CLEAR A4C4: BRSET L0044,#$10,LA4D0 ; BR IF b4, 1 = IGNITION OFF A4C8: LDAA L02A7 ; Vss/1. (KPH = 1.61) A4CB: CMPA L4EAD ; 40 MPH IAC MOTOR REST THRESH ; (IF NON VOL MEM OR IAC IS LOST) A4CE: BCS LA4DC ; BR IF Vss LT THRESH A4D0: LA4D0 BSET L0009,#$01 ; SET b0, 1 = IAC MOTOR R/S IN WORK ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; A4D3: BCLR L0036,#$1C ; CLR ... 0001 1100 A4D6: CLRA A4D7: STAA L0008 ; IAC A4D9: DECA A4DA: STAA L0007 ; IAC, PRESSENT MOTOR POSIT A4DC: LA4DC RTS ;-------------------------------------------- ;-------------------------------------------- ; $F4 ALDL M0DE 4 ; ; L0393 B5, 1 = RESET IAC, (ALDL CNT'L WD 3) ;-------------------------------------------- A4DD: LA4DD BRSET L0044,#$10,LA53B ; BR IF b4, 1 = IGNITION OFF A4E1: BRSET L0009,#$01,LA53B ; BR IF b0, 1 = IAC MOTOR R/S IN WORK A4E5: LDAB L0393 ; ALDL CNT'L WD 3 A4E8: BITB #$20 ; b5, RESET IAC A4EA: BEQ LA4F0 ; BR IF NOT b5 A4EC: PULX A4ED: JMP LA4D0 ;---------------------------------------------- ;---------------------------------------------- ; ; ;---------------------------------------------- A4F0: LA4F0 LDAB L0397 ; ALDL CNT'L WD 7 A4F3: ANDB #$01 ; 0000 0001 A4F5: LDAA L0391 ; $F4, ALDL MODE 4, DISRETE ENABLES A4F8: ANDA #$40 ; b6, ??? A4FA: ABA A4FB: BEQ LA53B A4FD: CMPA #$41 A4FF: BEQ LA53B A501: BITA #$01 A503: BEQ LA521 A505: LDAA L0397 ; ALDL CNT'L WD 7 A508: BITA #$02 ; b1 A50A: BNE LA516 ; BR IF b1 ; ,., ese ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; A50C: BCLR L0036,#$0C ; CLR $0C, DIAG MD WD #3 A50F: PULX A510: LDAA L0398 ; ALDL CNT'L WD 8 A513: JMP L997C A516: LA516 LDAA L0398 ; ALDL CNT'L WD 8 A519: STAA L0857 ; DESIRED IDLE RPM/12.5 A51C: BSET L0038,#$40 A51F: BRA LA53B ; ; CK ALDL CW 3 ; A521: LA521 PULX A522: LDAA L0392 ; (ALDL CNT'L WD 2) A525: BITA #$40 ; b6, A527: BEQ LA532 A529: JSR L9305 ;--------------------------- ; IAC DIAG MD WD 3 ; b2 1 = THROTTLE KICKER ACTIVE ;----------------------------- A52C: BSET L0037,#$04 ; SET b2, THROTTLE KICKER ACTIVE A52F: JMP L997E A532: LA532 JSR L931F ;--------------------------- ; IAC DIAG MD WD 3 ; b2 1 = THROTTLE KICKER ACTIVE ;----------------------------- A535: BCLR L0037,#$04 ; CLR b2, THROTTLE KICKER ACTIVE A538: JMP L997E A53B: LA53B RTS :------------------------------------------------- *********************************************** * * * JSR HERE FROM L7B34 *********************************************** ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Spark minor loop ; ; Run 80x a second ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; ;-Calculate vacuum ; LA53C LDAB #151 ; ; LDAA L0317 ;Load filtered baro SUBA L01E9 ;Subtract A/D MAP BHI LA548 ;Bra if Baro > MAP ; ;-MAP >= Baro ; LDAA #$01 ;Clear underflow ; ;-MAP < Baro ; LA548 MUL ;(A/D Baro - A/D MAP) x 151 ADDD #64 ;+64 to round up if needed ASLD ;x2 BCC LA552 ;Bra if overflow ; LDD #$FFFF ;Clear overflow ; LA552 NEGA ;change sign STAA L01EC ;Store it, vacuum = 256 - 1.96(Delta A/D counts) ; ;-Calc. S/D MAP ; LDAB #151 ;Multiplier for S/D MAP LDAA L01E9 ;A/D MAP SUBA #26 ; BCC LA562 ;Bra if underflow ; CLRA ;Clear underflow BRA LA56C ;Bra to save ; LA562 MUL ;151 x (A/D MAP - 64) ADDD #64 ;+64 to round up if needed ASLD ;x2 BCC LA56C ;Bra if overflow LDD #$FFFF ;Clear overflow LA56C STAA L01E3 ;S/D map ; ;-Calculate ratio of MAP kPa to baro kPa ; LDAA L01F1 ;baro factor x 256 for MAP/baro ratio CLRB ;Preclear B LDX L027A ;MAP kPa x 256 XGDX ;Get baro factor into X and MAP into D FDIV ;Fract. divide XGDX ;Get result into D SUBD #8192 ;-8192d BCC LA581 ;Bra if no underflow ; LDD #$0000 ;Clear underflow ; LA581 ASLD ;x2 BCC LA586 ;Bra if overflow ; LDAA #255 ;Clear overflow ; ;-Now = 256 x 1.25 x [MAP kPa/(baro kPa - 5)] - 64 ; LA586 STAA L01F2 ;MAP/baro ratio ; ;~~~~~~~~~~~~ ; MAP diags. ;~~~~~~~~~~~~ ; ;-Perform low MAP test ; BCLR L0018,#$10 ;Error word #3, clear b4, err 34, MAP sensor low ; BCLR L006F,#$08 ;Status word, clear b3, low MAP ; BRSET L006F,#$04,LA5B7 ; ; LDAA L082E ;Load A/D MAP CMPA L4E5A ;Lower MAP limit to set Err. 34 BCC LA5B7 ;Bra if MAP >= ; ;-Low MAP present, check quals. to set err 34 ; LDAA L024C ;Err. 34 timer CMPA L4E5C ;Timer threshold to set err BHI LA5BC ;Bra if > ; LDAA L0061 ;Scaled RPMs CMPA L4E5B ;1200 RPM, upper limit for err 34 BCS LA5B2 ;Bra if RPMs less ; LDAA L01FC ;%TPS CMPA L4E5D ;Lower %TPS limit for err 34 BLS LA5B7 ;Bra if TPS <=, no err 34 ; ;-Quals. met for err 34, increment timer ; LA5B2 INC L024C ;+1, err 34 timer BRA LA5C2 ;Bra ; ;-Quals. not met for err 34, bra to continue ; LA5B7 CLR L024C ; BRA LA5C2 ; ; ;-Err 34 timer elapsed, set err 34, MAP sensor low ; LA5BC BSET L0018,#$10 ;Err. word #3, set b4, err 34, MAP low BSET L006F,#$08 ;Status word, set b3, MAP low ; ;-Here if not setting error ; LA5C2 BRCLR L0050,#$20,LA613 ;Status word, bra if b5==0, no DRP yet ; ;-DRP occured here ; BCLR L0050,#$20 ;Clear b5 in prep. for next DRP BSET L0050,#$04 ;Set b2, DRP occured, 6.25 msec test CLRA ; CLRB ; STD L0283 ;Time since last DRP ; ;-Decay out dynamic dwell ; LDD L020D ;Dwell LSRD ;/2 LSRD ;/2 LSRD ;/2 COMA ;1's comp. COMB ; ADDD L020D ;Add in negative dwell/8 BPL LA5E0 ;Bra if result is + ; CLRA ;Clear out dwell CLRB ; ; LA5E0 STD L020D ;Save dwell CLR L0225 ;Clear counter, DRP occured BRCLR L004F,#$80,LA616 ;Status word, bra if b7==0, engine not running ; ;~~~~~~~~~~~~~~~~~~~~~ ; Engine running here ;~~~~~~~~~~~~~~~~~~~~~ ; BRSET L004F,#$10,LA5F1 ;Status word, bra if engine above threshold for cranking ; JSR LA657 ;Engine running/Cranking status routine ; LA5F1 BRCLR L004F,#$40,LA655 ;(???) BR IF NOT b6, MINOR LOOP EST MONITOR ?? ; BRSET L0051,#$40,LA655 ;Status word, bra if b6==1, all SA is ramped in ; ;-Bring in SA after startup ; LDAB L414D ;Filter coeff. for SA LDX L0215 ;SA ramping multiplier CPX #65264 ;Upper value for multipluer BHI LA60E ;Bra if higher, all SA is ramped in ; LDAA #255 ;.996, multipler to filter to JSR LF0F6 ;Lag filter STD L0215 ;Save it BRA LA655 ;Bra to continue LA60E BSET L0051,#$40 ;Status word, set b6, all SA ramped in BRA LA655 ; ; LA613 JMP LA671 ; ; ;~~~~~~~~~~~~~~~~~~~~~~~~~ ;Engine off/cranking here ;~~~~~~~~~~~~~~~~~~~~~~~~~ ; LA616 BRSET L0044,#$08,LA620 ;Bra if first valid DRP already recieved ; BSET L0044,#$08 ;Set b3, first valid DRP revieved JMP LAD0C ;RPM calculation routine ; LA620 BRSET L004F,#$10,LA627 ;Status word, bra if b4==1, engine transitioning to run ; JSR LA657 ;Engine running/cranking status routine ; ;-See if RPMs high enough for engine running ; LA627 LDD L3FC0 ;DRP CPD L4134 ;DRP threshold for engine to be running BCS LA636 ;Bra if DRP <, rpms higher then threshold for run ; ;-Engine still cranking/off here ; CLR L0233 ;Clear DRP counter, used for setting engine running flag JMP LAD0C ; ; ;-Engine running here ; LA636 INC L0233 ;+1, LDAA L0233 ;DRP counter, used for setting engine running flag CMPA L4143 ;# of counts for engine to be running BCC LA644 ;Bra if >=, set engine running flag and continue ; ;-Not enough DRPs for engine to be running yet ; JMP LAD0C ;RPM calc. routine ; ;-Engine is now running, perform resets ; LA644 BSET L004F,#$80 ;Status word, set b7, engine is now running CLR L0233 ;Clear DRP counter BSET L0004,#$08 ;Set b3, bad shutdown BCLR L0051,#$40 ;Status word, clear b6, ramp in SA CLRA ; CLRB ; STD L0215 ;SA ramping multiplier ; LA655 BRA LA6BB ;Bra to calc rpms ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Engine running/Cranking status routine ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; LA657 LDD L3FC0 ;DRP counter CPD L4136 ;DRP threshold for engine to be running BCC LA66C ;Bra if DRP >= ; ;-Engine RPMs above cranking threshold ; LDAA L0234 ;Transition from crank to run delay DRP counter INCA ;+1 CMPA L4144 ;Threshold to transition from crank to run BCS LA66D ;Bra if # of DRPs is less ; ;-Engine now running... ; BSET L004F,#$10 ;Set b4, engine now transitioning to run ; LA66C CLRA ;Clear transition from crank to run DRP counter LA66D STAA L0234 ;Save it RTS ;Return ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Here if no valid DRPs recieved ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; LA671 LDX L0283 ;Time since last DRP CPX L4958 ;Max time to run pump with no DRPs BCC LA67F ;Bra if >=, shut down the pump INX ;+1 STX L0283 ;Save the timer BRA LA683 ;Bra to continue ; ;-Timer elapsed, shut down the pump ; LA67F CLRA ; STAA L306F ;Hardware, fuel pump relay control ; ;-Here if not shutting down fuel pump ; LA683 CPX #0160 ;Max time window for next DRP BCS LA694 ;Bra if timer < ; ;-Assume engine has stalled/failed to start ; SEI ;Disable interrupts LDAA L4D8C ;Value to init cranking DRP counter to CMPA L02F1 ;Compare to cranking DRP counter BCC LA694 ;Bra if <= ; STAA L02F1 ;Save value as cranking DRP counter ; LA694 CLI ;Re-enable interrups LDAA L0225 ;DRP period counter CMPA #23 ;.287 sec., max period for engine to be running BCS LA6B0 ;Bra if <= ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;DRPs outside of window here ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; BCLR L004F,#$90 ;Clear b7=engine running, b4=now transitioning to run BCLR L0044,#$08 ;Clear b3, 1st DRP valid ; LDD #65535 ;Reset DRP to max period STD L005F ;Stored DRP ; LDX #L3060 ;??? BCLR 0,X,#$10 ;Clear b4, ; ;~~~~~~~~~~~~~~~~~~~~~~~ ; Do software interrupt ;~~~~~~~~~~~~~~~~~~~~~~~ ; LA6AD SWI ;Software interrupt BRA LA6AD ;Loop ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;~~~~~~~~~~~~~~~~~~~~~~~~~ ; DRPs within window here ;~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; LA6B0 BRSET L004F,#$80,LA6B7 ;Bra if engine is running ; ;-Here if engine isnt running ; JMP LAD0C ;RPM calc. routine ; LA6B7 INCA ;+1, DRP period counter STAA L0225 ;Sace it ; ;~~~~~~~~~~~~~~~~~ ; Calculate RPMs ;~~~~~~~~~~~~~~~~~ ; ;-RPM = (25 x 256 x 307)/(2 x (# cyl/8) x DRP) ; ;-DRP = (65536 x 120) / (RPM x # cyl) ; LA6BB LDD L3FC0 ;DRP counter STD L005F ;Stored DRP value STD L020B ;Stored DRP value ; LDX #L005F ;Stored DRP LDAA L4142 ;# of cylinders LDAB #32 ;mult. MUL ;32 x # of cylinders TBA ;Get LSB into A (/256), now # of cylinders relative to V8 BEQ LA6D4 ;Bra if ==0, no cylindr count set ; JSR LF1ED ;(A x X*)/256, # of cylinders x DRP ; STD L005F ;Save result ; LA6D4 LDD L005F ;Load result,DRPs ASLD ;x2 XGDX ;Get result into X, denominator LDD #307 ;Numerator FDIV ;Fract. divide XGDX ;Get result into D STD L083D ;Save calculated RPMs ; ;~~~~~~~~~~~~~~~~ ; Do scaled RPMs ;~~~~~~~~~~~~~~~~ ; CMPA #96 ;2400 rpm BCS LA6ED ;Bra if <, do 12.5 rpm/count portion ; ;-2400 - 4800 rpm ; ADDD #$4080 ;MSB = 64, offset, LSB = 128, round up if needed BCC LA6F4 ;Bra if no overflow ; LDAA #255 ;Clear overflow, BRA LA6F4 ;Bra to save ; ;-400 - 2400 ; LA6ED ASLD ;x2, RPM/12.5 SUBD #$1F80 ;MSB = 31, 400 rpm offser, LSB = 128, round down if needed BCC LA6F4 ;Bra if no underflow ; CLRA ;Clear underflow ; LA6F4 STAA L0061 ;Scaled RPMs ; ;~~~~~~~~~~~~~~~~~~~~ ; Do RPM/25 ;~~~~~~~~~~~~~~~~~~~~ ; LDD L083D ;Stored RPMs from calc. ADDD #128 ;Round up if needed SBCA #$00 ;-1 if overflow STAA L0062 ;Save it, RPM/25 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~ ; Filter RPM for governor ;~~~~~~~~~~~~~~~~~~~~~~~~~ ; LDX #L02B1 ;Governor RPM/25 LDAB L50DA ;Governor RPM filter coeff JSR LF0F6 ;Lag filter routine STD L02B1 ;RPM/25 ADDD #128 ;Round if needed LDAB L0002 ;Loop counter ANDB #$1F ;Clear all but lower 5 bits CMPB #$04 ;0000 0100 BNE LA721 ;Bra if b2==1 ; TAB ;Get rpm/25 into B SUBB L02AF ;Previous governor rpm/25 term STAB L02B0 ;Delta governor RPM/25 STAA L02AF ;Save current RPM/25 as previous term ; ;-Do rpm/6.25 ; LA721 LDD L083D ;Stored RPM/25 ASLD ;x2 BCS LA72F ;Bra if overflow ; ASLD ;x2 BCS LA72F ;Bra if overflow ; ADDD #128 ;Round if needed BCC LA731 ;Bra if no overflow ; LA72F LDAA #255 ;Clear overflow ; LA731 STAA L0067 ;RPM/6.25 ; CLRB ;Clear LSB LDX L0068 ; BEQ LA742 ;Bra if filtered RPMs are ==0, save new value instead ; ;-Filter RPMs/6.25 ; LDX #L0068 ;Addr. of stored RPMs LDY #L450D ;Addr. of filter coeff. JSR LF116 ;RPM filter routine LA742 STD L0068 ;Save filtered RPMs/6.25 ; LDD L083D ;Stored RPMs/25 ASLD ;x2 BCC LA74D ;Bra if no overflow ; LDD #$FFFF ;Clear overflow ; LA74D STAA L0837 ;Save it, stored RPMs/12.5 LDX L0063 ;Filtered RPM/12.5 BEQ LA75B ;Bra if ==0, save new value instead LDY #L4152 ;Addr. of filter coeff JSR LF0D3 ;Lag filter routine LA75B STD L0063 ;Filtered RPMs/12.5 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Calculate needed dwell ;~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;-Do dynamic dwell ; LDAA #255 ;3.89 msec, max dyn. dwell LDAB L01E3 ;S/D MAP SUBB L01E5 ;S/D MAP, two delayed BCS LA76B ;Bra if MAP falling ; ;-S/D MAP steady/rising ; CMPB #32 ;Delta S/D MAP, 30 kPa BCC LA77A ;Bra if delta SD MAP >=, set max dwell ; LA76B LDD L0209 ;DRP, one delayed SUBD L020B ;Subtract Stored DRP ASLD ;x2 SUBD L020D ;Subtract previous dynamic dwell BMI LA77D ;Bra if result negative, bra if RPMs falling/dynamic dwell was greater ; ;-RPMs rising, add in additional dwell = (DRP, one delayed - DRP) ; ADDD L020D ;Get delta DRPs x 2 back ; ;-Here to set max dwell ; LA77A STD L020D ;Save it, dynamic dwell ; ;-Limit dynamic dwell to DRP/8, or 11.25 degrees ; LA77D LDD L020B ;Stored DRP LSRD ;/2 LSRD ;/2 LSRD ;/2, now DRP/8, total time available for dynamic dwell SUBD L020D ;subtract dyn. dwell BCC LA78E ;Bra if dwell is <= DRP/8 ; ADDD L020D ;Get DRP/8 back STD L020D ;Save DRP counts/8 instead ; ;~~~~~~~~~~~~~~~~~~~~~~~~ ;-Calculate static dwell ;~~~~~~~~~~~~~~~~~~~~~~~~ ; LA78E LDD L020B ;DRP STD L0209 ;DRP, one delayed LSRD ;/2, now .5 x DRP SUBD #229 ; BCC LA79F ;Bra if DRP/2 is >= ; ;-DRP < 7 msec, dwell = .5 x DRP + 1.2 msec ; ADDD #308 ; BRA LA7AF ;Bra to save ; ;-DRP >= 7 msec ; LA79F LSRD ;/2, now .25 x DRP - 1.74 msec SUBD #295 ; BCS LA7AA ;Bra if DRPs < 1636 ; ;-DRP >= 25 msec, dwell = .25 x DRP - .41 msec ; ADDD #382 ; BRA LA7AF ;Bra to save ; ;-7 <= DRP < 25, dwell = .0625 DRP + 4.7 msec ; LA7AA ADDD #1527 ; LSRD ;/2 LSRD ;/2 ; LA7AF STD L083F ;Save it, static dwell ; ;-Compensate for low batt. voltage ; LDAA #120 ;12V, batt volts SUBA L00A1 ;Subtract A/D batt volts, now delta batt volts BCC LA7B9 ;Bra if batt volts are <= ; CLRA ;Clear delta batt volts ; LA7B9 LDAB #04 ;Delta batt volts multiplier, .6 msec per volt below 12 volts MUL ;4 x Batt volts ADDD L083F ;Add in static dwell ADDD L020D ;Add in dynamic dwell STD L020F ;Save it, outputted dwell ; ;-Limit dwell to ensure at least 595 usecs of off time between coil firings ; LDD L3FC0 ;DRP counter SUBD #39 ;595 usecs SUBD L020F ;Outputed dwell BCC LA7D6 ;Bra if off time > 595 usec ; ADDD L020F ;Get DRPs - 595 usecs back STD L020F ;Save as outputted dwell ; ;-Shuffle the MAP around ; LA7D6 LDAB L01E4 ;SD MAP, one delayed STAB L01E5 ;Save it, SD MAP two delayed LDAB L01E3 ;SD MAP STAB L01E4 ;Save it, SD MAP, one delayed ; ;~~~~~~~~~~~~ ; Look up SA ;~~~~~~~~~~~~ ; LDX #L4165 ;Main SA table BRCLR L0050,#$40,LA7EC ;Status word, bra if b6==0, idle spark not enabled ; LDX #L4289 ;Closed throttle SA table ; ;-Load in RPM and MAP for lookup ; LA7EC LDAB L01E3 ;SD MAP LDAA L0061 ;Scaled RPMs CMPA #64 ;1200 RPM, upper limit to use scaled RPMs BLS LA7FD ;Bra if RPMs < 1200 RPM, use scaled RPMs ; ;-Use RPM/25 if RPMs high enough ; LDAA L0062 ;RPM/25 ADDA #16 ;400 RPM offset for crossing point BCC LA7FD ;Bra if no overflow ; LDAA #255 ;Clear overflow ; ;-RPMs now 400-1200 in 12.5 RPM inc., 1200-5975 in 25 rpm inc. ; LA7FD JSR LF17B ;3D lookup ; STAA L021B ;Save it, looked up SA ; ;-Look up cool temp SA correction ; LDX #L43AD ;Addr. of MAP/VAC option byte LDAB L01EC ;Load vacuum LDAA 0,X ;Load it in BEQ LA810 ;Bra if ==0, use vac ; LDAB L01E3 ;Load SD MAP LA810 INX ;+1, advance to start of table LSRB ;Vac,MAP/2 LDAA L0006 ;Cool temp, linear CMPA #244 ;128 deg C, max temp for lookup BLS LA81A ;Bra if cool temp <= LDAA #244 ;Load max LA81A JSR LF17B ;3D lookup ; LDAB L0050 ;Status word BPL LA830 ;Bra if b7==0, not idling ; ;-Idling here, check and limit negative SA ; LDAB L0006 ;Cool temp CMPB L4141 ;Cool temp threshold for BCC LA830 ;Bra if cool temp is >=, skip check CMPA L413D ;Cool temp SA bias BCC LA830 ;Bra if cool temp SA corrections greater ; LDAA L413D ;Use bias if SA is less ; ;-Here if not idling ; LA830 STAA L021C ;Save it, cool temp spark correction LDAA L400D ;Option byte BITA #$04 ;Test b2, backpressure EGR BEQ LA849 ;Bra if not using back pressure EGR ; ;-Lookup alt. SA correction ; LDAA L01EF ;Baro val. for lookup LDAB L01EC ;Vacuum LDX #L44CB ;Addr. of alt. SA correction table JSR LF17B ;3D lookup routine ; STAA L021E ;Save it, alt. SA correction ; ;-Look up low octane SA retart ; LA849 LDAB L0841 ;Low octane RPM mult. LDAA L01E3 ;SD MAP LDX #L45BD ;Addr. of low octane MAP mult. JSR LF15E ;2D lookup ; ;-low octane SA mult. = (MAP mult x rpm mult) / 256 ; MUL ;Low octane map mult. x low octane rpm mult. ADCA #0 ;Round if needed LDAB L022D ;Low octane base SA retard MUL ;Low octane SA mult. x base SA retard ADCA #0 ;Round if needed STAA L022E ;Save it, low octane SA retard ; LDAA L413F ; 0 EGR BIAS CLRB ; BRCLR L006E,#$80,LA8A3 ; BR IF b7, EGR ON ;---------------------------------------------- ; EGR SPK CORRECTION Vs. RPM Vs. LOAD ; (Load = %EGR OR Vac) ; ; SEE BIAS AT L41.., (0 DEG) ; ; 13 X 5 LINES ; TABLE = SPK * 256/90 ;---------------------------------------------- ; ; (???) ; LDX #L4855 ; LD SEL, EGR SPK CORR Vs. RPM Vs. LOAD LDAB L01D5 ; LDAA #192 ; MUL ; TAB ; LDAA 0,X ; GET LD SEL BYTE BEQ LA88D ; BR IF NOT VAC ; LDAB L01EC ; CURRENT VACUUM VALUE NEGB ; CMPB #64 ; BHI LA882 ; ASLB ; n/2 BRA LA88D ; ; LA882 SUBB #64 ; LSRB ; DIV BY 2 ADDB #128 ; CMPB #192 ; BLS LA88D ; ; LDAB #192 ; USE MAX VAC, (60 kpa) ; ; CK MAX RPM FOR LK UP ; LA88D LDAA L0062 ; RPM/25 CMPA #160 ; 4000 RPM BLS LA895 ; ; LDAA #160 ; LA895 LSRA ; DIV BY 2 INX ; JSR LF17B ; 3d LK UP ; LDAB L4854 ; EGR ON SPARK FILTER COEF LDX L0217 ; EGR ON SPK JSR LF0F6 ; FILT ROUTINE ; ;-Here if EGR not on ; LA8A3 STD L0217 ; SAVE FILT EGR ON SPK ; ;~~~~~~~~~~~~~~~~~~ ;-Sum up SA so far ;~~~~~~~~~~~~~~~~~~ ; ADDD #128 ;Round if needed TAB ;Get result into B LDX #$0000 ;Clear X ABX ;Add in EGR SA LDAB L021E ;Load in alt. SA corr. ABX ;Add it in LDAB L021B ;Load in main SA ABX ;Add it in LDAB L021F ;PE SA ABX ;Add it in LDAB L021C ;Cool temp SA corr. ABX ;Add it in LDAB L02EE ; SPK (???) ABX ;Add it in XGDX ;Get result into D ; ;-Sub out bias' and retard ; SUBB L413C ;Main SA bias SBCA #$00 ;Perform carry if needed SUBB L413D ;Cool correction SA bias SBCA #$00 ; SUBB L413E ;Alt. SA corr. bias SBCA #$00 ; SUBB L413F ;EGR SA bias SBCA #$00 ; SUBB L022E ;Low octane SA retard SBCA #$00 ; SUBB L0154 ;(???) SBCA #$00 ; STD L0220 ;Save it, final SA ; ;~~~~~~~~~~~~~~~~~~~~~~ ;-Do MAT SA correction ;~~~~~~~~~~~~~~~~~~~~~~ ; ; ;-Look up MAT SA correction mult for negative SA correction ; LDAA L01E3 ;SD MAP LDX #L4493 ;Addr of negative MAT SA correction mult. vs. SD MAP BRSET L0041,#$02,LA8F1 ;Status word, bra if b1==1, SA correction is negative ; ;-Look up MAT SA correction mult for positive SA correction ; LDX #L44A4 ;Addr. of positive MAT SA correction mult. vs. SD MAP LA8F1 JSR LF15E ;2D lookup ; LDAB L021D ;MAT SA correction MUL ;MAT SA corr. x MAT SA mult. STAA L083C ;Save it, Final MAT SA correction BRCLR L0041,#$02,LA90C ;Status word, bra if b1==0, MAT SA corr. >=0 ; ;-Subtract MAT SA correction ; LDD L0220 ;Final SA SUBB L083C ;-Final MAT SA SBCA #0 ;Round if needed STD L0220 ;Save it, Final SA BRA LA914 ; ;-Add in MAT SA correction ; LA90C TAB ;Get MAT correction SA into B LDX L0220 ;Load final SA ABX ;Add in MAT SA STX L0220 ;Save final SA LA914 LDX L00F8 ;Engine run time CPX L415D ;Min run time for idle SA adj. BCC LA91D ;Bra if runtime is >= ; BRA LA977 ;Bra to skip idle SA adj. ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Idle under/overspeed SA adj. ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;-Check quals for idle SA adj. ; LA91D LDX #L44F8 ;Addr. of engine idle underspeed SA adj. table LDAA L02A7 ;MPH CMPA L4159 ;Upper MPH limit for idle SA adj. BCC LA977 ;Bra if VSS >= ; LDAA L415A ;Upper %TPS limit for idle SA adj., idle SA ok'd BRCLR L0050,#$40,LA932 ;Status word, bra if idle SA not ok'd ; LDAA L415B ;Upper TPS limit for idle SA adj., idle SA not ok'd ; LA932 CMPA L01FC ;%TPS BHI LA939 ;Bra if %TPS is less, continue ; BRA LA977 ;Bra, TPS exceeds limits ; LA939 LDAB L0006 ;Cool temp, linear CMPB L415C ;Min temp for SA adj. BLS LA977 ;Bra if cool temp less ; CLRB ; LDAA L0857 ;Desired idle speed ; BRSET L0050,#$80,LA954 ;Status word, bra if b7==1, engine idling ; ;-Check desired idle speed ; ADDA L415F ;RPM offset if not idling BCC LA954 ;Bra if no overflow ; ;-Here if overflow from addition of bias ; BCLR L0053,#$01 ;Status word, clear b0, engine underspeed ; SUBD L0063 ;Subtract RPM/12.5, now delta RPMs ; BRA LA977 ;Bra, quals not passed for idle SA control ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Here if quals passed for idle SA control ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; LA954 SUBD L0063 ;Subtract RPM/12.5 BCS LA95D ;Bra if eng. speed > then desired idle speed ; BCLR L0053,#$01 ;Status word, clear b0, engine speed <= desired idle speed BRA LA967 ;Bra to continue ; ;-Here if engine speed > desired idle speed ; LA95D BSET L0053,#$01 ;Status word, set b0, engine speed > then desired idle speed NEGA ;Make positive delta value NEGB ; SBCA #$00 ;Perform carry if needed LDX #L44E6 ;Addr. of engine overspeed SA correction ; ;-Here if engine speed <= desired idle speed ; LA967 PSHX ;Table addr. to stack ASLD ;Delta RPM x 2, now RPM / 6.25 BCS LA973 ;Bra if overflow ; ;-Scale the delta RPMs for lookup, 0 - 50 rpm in .78 rpm inc., 50 - 1250 rpm in 6.25 rpm inc. ; CMPA #08 ;50 rpm, delta RPM limit for RPM x 1.28 BCS LA97D ;Bra if delta less ADDA #56 ;Offset for RPM x 1.28 BCC LA980 ;Bra ; LA973 LDAA #255 ;Load max BRA LA980 ;Bra ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Here if quals not passed for idle SA control ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; LA977 BCLR L0050,#$40 ;Status word, clear b6, idle SA adj. not active JMP LA9CC ;Bra to skip idle SA adj. ; ;-Here to continue with idle SA adj. ; LA97D ASLD ;x2 ASLD ;x2 ASLD ;x2, now RPM x 1.28 ; JSR LF136 ;2D lookup with UL ; PULX ;Get start addr. back into X PSHA ;Push SA corr. to stack ; ;-Look up S/D MAP SA corr. multiplier ; LDAB #$08 ;Addr. offset for SD MAP SA corr. mult. ABX ;Add in the offset LDAA L01E3 ;S/D MAP JSR LF136 ;2D lookup with UL ; PULB ;Get idle SA correction MUL ;Idle SA x idle SA mult. BRCLR L0053,#$01,LA995 ;Status word, bra if b0==0, engine idle underspeed NEGA ;Make negative signed val. if SA corr. negative ; ;-Perform idle SA derivative control ; LA995 PSHA ;Push idle SA corr. to stack LDX #L4511 ;Addr. of transient RPM idle SA corr. table LDAA L006C ;Transient RPM ratio SUBA #96 ;limit to .75 RPM ratio BCC LA9A2 ;Bra if no underflow CLRA ;Clear underflow BRA LA9A8 ;Bra to continue ; ;-Check upper limit for lookup ; LA9A2 CMPA #63 ;1.25 RPM ratio BLS LA9A8 ;Bra if <= ; LDAA #63 ;Load max ; LA9A8 ASLA ;x2 ASLA ;x2, now spans from .75-1.25 in .00195 increments JSR LF15E ;2D lookup ; PULB ;Get idle SA corr. off the stack ABA ;Add it in SUBA L450A ;20 deg., SA bias for transient RPM SA corr. BMI LA9C0 ;Bra if SA corr is negative ; CMPA L450B ;Max positive SA corr. BLS LA9BC ;Bra if SA corr. <= LDAA L450B ;Load max SA corr. ; LA9BC TAB ;Get SA corr. into B CLRA ;Preclear A BRA LA9C3 ; ;-Here if SA corr. is negative ; LA9C0 TAB ;Get SA corr. into B LDAA #$FF ;Preload with 0xFF, negative SA corr. ; ;-Here if SA corr. is positive ; LA9C3 ADDD L0220 ;Add in SA corr. STD L0220 ;Save it, final SA BSET L0050,#$40 ;Status word, set b6 for next pass, idle SA enabled ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-SA derivative engine control routine, used with manual transmission ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; LA9CC LDAA L0006 ;Cool temp, linear CMPA L46E8 ;Lower limit for SA adj. BCS LAA40 ;Bra if cool temp less, no SA adj. ; CMPA L46E9 ;upper limit for SA adj. BHI LAA40 ;Bra if cool temp is higher, no SA adj. ; ;-Check to see if manual trans present ; LDAA L400F ;Opt. byte BITA #$80 ;Test b7, manual trans/TCC BEQ LAA40 ;Bra if ==0, TCC present, skip routine ; ;-Check to make sure engine not idling ; BRCLR L0050,#$80,LA9EC ;Status word, bra if b7==0, not idling ; LDAA L0837 ;Stored RPMs/12.5 CLRB ; STD L0838 ;Stored RPMs/12.5, filtered BRA LAA40 ;Bra to skip routine ; ;-All quals met here ; LA9EC LDAA L0063 ;RPM/12.5 SUBA L0838 ;Subtract stored RPMs/12.5, filtered STAA L083A ;Save it, RPM error ; ;-Look up filter coeff for filtered RPMs/12.5 using TPS ; LDX #L46EA ;Addr. of filter coeff. vs. TPS table LDAA L01FC ;TPS LSRA ;/2 LSRA ;/2, now TPS/4 for lookup JSR LF15E ;2D lookup ; TAB ;Get filt. coef. into B LDAA L0837 ;RPM/12.5 LDX L0838 ;RPM/12.5, filtered JSR LF0F6 ;Filter routine ; STD L0838 ;Save filtered RPMs ; LDX #L46E2 ;Addr. of gain terms LDAA L083A ;RPM error BPL LAA18 ;Bra if RPMs rising ; ;-RPMs falling here ; INX ;curr. addr. +1 INX ;+1 INX ;+1, now at params for falling RPMs NEGA ;Make absolute value of RPM error ; ;-RPMs rising here ; LAA18 LDAB 0,X ;Load RPM gain MUL ;RPM error x gain ADDA 1,X ;Add in der. term bias CMPA 2,X ;Upper limit for der. term BLS LAA23 ;Bra if less ; LDAA 2,X ;Load max SA der. term ; LAA23 STAA L083B ;SA prop. term LDAA L083A ;RPM error BPL LAA35 ;Bra if RPMs rising ; ;-RPMs falling here, add in SA der. term ; LDD L0220 ;Final SA ADDB L083B ;Add in SA der. term ADCA #$00 ;Perform carry if needed BRA LAA3D ;Bra to save ; ;-RPMs rising here, subtract out the SA der. term ; LAA35 LDD L0220 ;Final SA SUBB L083B ;Subtract out the SA der. term SBCA #$00 ;Perform carry if needed LAA3D STD L0220 ;Final SA adv. ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Perform Decel Fuel Cut Off SA corrections ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; LAA40 LDD L0220 ;Load final SA BRCLR L0046,#$08,LAA69 ;Status word, bra if b3==0, DFCO not enabled ; ;-Subtract out DFCO SA correction if entering DFCO ; BSET L0051,#$20 ;Status word, set b5, DFCO SA correction enabled ; CLRA ; CLRB ; STD L0215 ;SA ramping mult. LDAB L4151 ;DFCO SA ; LDAA L021C ;Cool temp corr. SA SUBA L413D ;Subtract bias BMI LAA5C ;Bra if SA corr. is negative ; ABA ;Add in DFCO SA TAB ;Get result into B ; LAA5C STAB L022B ;Save it, DFCO SA correction ; LDD L0220 ;Final SA SUBB L022B ;Subtract DFCO SA correction SBCA #$00 ;Perform carry if needed BRA LAAA3 ;Bra to save SA ; ;-Check to see if previously performing DFCO SA corr. ; BRCLR L0051,#$20,LAAA6 ;Status word, bra if b5==0, no DFCO SA corr. LDAB L414E ;Low %TPS filter coeff. for SA ramping mult. LDAA L01FC ;TPS CMPA L4150 ;Upper TPS threshold for filter coeff. BLS LAA7B ;Bra if TPS is <= ; ;-Ramp DFCO SA corr. back into main SA ; LDAB L414F ;High %TPS filter coeff. for SA ramping mult. ; LAA7B LDX L0215 ;SA ramping multiplier CPX #65264 ;Upper limit to filter ramp-in mult. BHI LAA8D ;Bra if higher, all SA ramped in ; LDAA #255 ;Value to filter ramp-in mult. to JSR LF0F6 ;Filter routine ; STD L0215 ;Save it, DFCO SA ramp-in multiplier BRA LAA90 ;Bra, still ramping in SA ; ;-Here if all DFCO SA ramped back in ; LAA8D BCLR L0051,#$20 ;Status word, clear b5, no longer performing DFCO SA corr. ; LAA90 LDAB L022B ;DFCO SA corr. LDAA L0215 ;SA ramping multiplier MUL ;DFCO SA x ramping mult. ADCA #$00 ;round if needed TAB ;Get SA into B CLRA ; ADDD L0220 ;Add in partial DFCO SA corr. into final SA SUBB L022B ;Subtract DFCO SA corr., now only part of DFCO SA corr. is in effect SBCA #$00 ;Perform carry if needed ; LAAA3 STD L0220 ;Save it, final SA ; LAAA6 BRCLR L0082,#$40,LAAAD ;Status word, bra if b6==0, no heads-up yet ; JSR L1812 ;Heads up vector table ; ;(???) resolve FWD low/PS switch issue ; ; ; IAC OPT WD 1, b1 ; 1 = PWR STEER SW IN USE ; LAAAD LDAA L4E86 ;Opt. byte BITA #$02 ;Test b1, power steering switch in use BEQ LAAE0 ;Bra if ==0, no PS switch in use ; ; ; DIACMW2, NON-VOL IDLE CNT'L MD WD ; BRCLR L0036,#$20,LAADD ; BR IF NOT b5, PWR STEER PRESS LOAD IN WORK ; ; PWR STEER Spk Adv QUALS ; LDAA L0006 ; COOL CMPA L4160 ; 151 DEG c COOL THRESH FOR PWR STEER SPK BLS LAADD ; ; AABF: LDAA L01FC ; TPS AAC2: BRSET L0053,#$10,LAACD ; BR IF b4, PWR STEER CRAMP STALL SAVER AAC6: CMPA L4163 ; 0d AAC9: BHI LAADD ; AACB: BRA LAAD2 AACD: LAACD CMPA L4164 ; 0% TPS THRESH FOR SETTING PWR STEER SPK ADV AAD0: BHI LAADD ; BR IF AAD2: LAAD2 LDD L4161 ; 0 Deg PWR STEER FORCED SPK ADV AAD5: STD L0220 ; FINAL SPK ADV ; AAD8: BSET L0053,#$10 ; SET b4, PWR STEER CRAMP STALL SAVER AADB: BRA LAAE0 AADD: LAADD BCLR L0053,#$10 ; CLR b4, PWR STEER CRAMP STALL SAVER ; ;-Subtract base SA ; LAAE0 LDD L0220 ;Final SA SUBB L4133 ;Base SA SBCA #0 ;Perform carry if needed STD L0211 ;Save it, total SA ; ;-Check limits on SA ; LDD L4145 ;Max allowable SA SUBD L0211 ;Subtract total SA BGT LAAF9 ;Bra if SA < ; ADDD L0211 ;Add in total SA to get max allowable SA back STD L0211 ;Save max allowable SA instead ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Perform knock prevention ;~~~~~~~~~~~~~~~~~~~~~~~~~~ ; LAAF9 LDAA L400F ;Opt. byte BITA #$08 ;Test b3, enable ESC BEQ LAB47 ;bra if b3==0, bra if no ESC ; BRSET L0050,#$10,LAB47 ;Bra if b4==1, in field service mode ; ;-Check cool temp quals ; LDAA L0006 ;Cool temp, linear CMPA L45D0 ;Min cool temp for spark retard BLS LAB47 ;Bra if cool temp less, no retard ; ;-Check to see if knock prevention in effect ; BRCLR L006E,#$02,LAB24 ;Bra if knock prevention not currently in effect DEC L0231 ;Burst retard timer BNE LAB17 ;Bra if !=0, perform burst retard ; BCLR L006E,#$02 ;Status word, clear b1, knock prevention no longer in effect ; ;-Knock prevention in effect here ; LAB17 LDD L0211 ;Load total SA SUBB L0842 ;Subtract burst retard SBCA #$00 ;Perform carry if needed STD L0211 ;Save total SA BRA LAB47 ;Bra to continue ; ;-Check quals for knock prevention ; LAB24 LDAA L01E3 ;Load SD MAP CMPA L46D5 ;50 kPa BCC LAB47 ;Bra if >= ; LDAB L01FC ;%TPS CMPB L46D6 ;Upper limit for BCC LAB47 ;Bra if TPS >= ; SUBB L01FD ;Subtract TPS, one delayed BCS LAB47 ;Bra if throttle is closing ; CMPB L46D7 ;Delta %TPS threshold for BCS LAB47 ;Bra if delta TPS <= ; BSET L006E,#$02 ;Status word, set b1, knock prevention ok'd ; LDAA L46D8 ;Time for burst retard to be in effect STAA L0231 ;Save it, burst retard timer ; ;-Here if knock prevention not ok'd ; LAB47 SEI ;Disable interrupts LDAB L0230 ;Load knock counts into B CLR L0230 ;Clear knock counts CLI ;Enable interrupts BRSET L006E,#$02,LAB60 ;Status word, bra if knock prevention in effect ; ; ; BRCLR L0016,#$60,LAB59 ;Error word, bra if b5, b6==0, no cool temp sens. errors ; BRA LAB63 ;Bra to continue with SA retard quals if errors set. ; ;~~~~~~~~~~~~~~~~~~~~ ; Knock retard quals ;~~~~~~~~~~~~~~~~~~~~ ; LAB59 LDAA L0006 ;Load cool temp CMPA L45D0 ;Min temp for knock retard BCC LAB63 ;Bra if cool temp >= ; ;-Here if knock prevention already in effect ; LAB60 CLRA ; BRA LAB91 ; ; ;-Check MPH ; LAB63 LDAA L02A7 ;MPH CMPA L45CE ;Lower limit for SA retard BCC LAB72 ;Bra if speed >= ; ;-Check RPMs ; LDAA L0063 ;RPM/12.5 CMPA L45CF ;Lower RPM limit for SA retard BCS LABA2 ;Bra if RPMs <=, no retard ; ;-Check for ESC error ; LAB72 BRCLR L0019,#$10,LAB7B ;Error word #4, bra if no ESC failure ; LDAA L4E6D ;Default SA for ESC faulure BRA LAB91 ;Bra to save ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; All quals passed, calc. retard ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;-Retard SA = .5 x [(knock attack rate x knock counts)/128] ; LAB7B LDAA L0843 ;Knock attack rate MUL ;Knock counts x knock attack rate ASLD ;x2 BCS LAB87 ;Bra if no overflow ; ADDA L022F ;Add in previous retard BCC LAB89 ;Bra if no overflow ; LAB87 LDAA #255 ;Clear overflow ; LAB89 TAB ;Knock retard to B LDAA L0844 ;Max knock retard CBA ; BLS LAB91 ;Bra if knock retard is less TBA ;Get max knock retard into A ; LAB91 STAA L022F ;Save it, knock retard x2 LSRA ;/2 PSHA ;Push to stack TSX ;Get current stack pointer into X LDD L0211 ;Load total SA SUBB 0,X ;Subtract retard SBCA #$00 ;Perform carry if needed STD L0211 ;Save total SA INS ;Restore stack pointer LABA2 LDAA L0154 ;(???) BEQ LABB2 ;Bra if ==0 ; LDD L414B ;max retard during torque management fuel cutoff CPD L0211 ;Total SA BLT LABD5 ;Bra if timing is > ; BRA LABD2 ;Bra to save max retard instead ; LABB2 BRCLR L0051,#$20,LABC9 ;Bra if no longer performing DFCO SA correction ; ;-Performing DFCO SA correction here ; LDAA L01FC ;TPS CMPA L48D0 ;Max closed throttle TPS BHI LABC9 ;Bra if TPS > ; ;-Throttle is closed, limit retard ; LDD L4149 ;Max retard during DFCO CPD L0211 ;Total SA BLT LABD5 ;Bra if timing > BRA LABD2 ;Bra to save max retard instead LABC9 LDD L4147 ;Max allowable retard CPD L0211 ;Total SA BLT LABD5 ;Bra if timing > ; LABD2 STD L0211 ;Save total SA ; LABD5 LDD L0211 ;Load total SA ; ; SERIAL DATA MD WORD ; CK FOR ENG CONTROLLER MODE ; BRCLR L003B,#$10,LABF9 ;Bra if not in mode 4 ; LDX #L0397 ;(???) BRCLR 0,X,#$08,LABF9 ; BR IF NOT b3, ; BRSET 0,X,#$10,LABE9 ; BR IF b4, ; CLRA ;Clear SA CLRB ; ; LABE9 BRSET 0,X,#$20,LABF4 ; BR IF b5, ; ADDB L039A ; ADCA #$00 ; ROUND ; BRA LABF9 ; ; LABF4 SUBB L039A ;(???) SBCA #$00 ; ; LABF9 STD L0211 ;Save total SA STD L0213 ; ; ;-Check sign of SA and set status bit accordingly ; BCLR L004F,#$01 ;Status word, clear b0, SA positive ; LDD L0211 ;Load total SA BPL LAC0B ;Bra if >0 ; BSET L004F,#$01 ;Status word, set b0, SA negative NEGB ;Get abs. value of SA ; LAC0B TBA ;SA to A ; ;-Check if SA ramping still in effect ; BRSET L0051,#$40,LAC1D ;Status word, bra if b6==1, all SA ramped back in ; LDAB L0215 ;SA ramping multiplier LDX #L0216 ;Index LSB for rounding BRCLR 0,X,#$80,LAC1B ;Bra if b7==0, LSB < 128 ; INCB ;+1, round up ; LAC1B MUL ;SA x ramping multiplier INCA ;+1, compensate for the fact that multiplier only goes to 255 ; ;-Check for heads up ; LAC1D BRCLR L0082,#$40,LAC24 ;Status word, bra if b6==0, no heads up yet ; JSR L180F ;To heads up vector table ; ;~~~~~~~~~~~ ; Output SA ;~~~~~~~~~~~ ; ;-Perform spark latency correction ; LAC24 PSHA ;Push SA to stack LDAA L0062 ;RPM/25 LDX #L4540 ;Addr. of spark latency correction table JSR LF136 ;2D lookup with UL ; STAA L0224 ;Save it, spark latency correction ; ;-Finalize SA for output ; PULA ;Get SA off the stack LDX #L005F ;DRPs JSR LF1ED ;(A x X*)/256 ; BRSET L004F,#$01,LAC3F ;Status word, bra if b0==1, SA negative ; NEGA ;Negate, 65536 - time based SA NEGB ; SBCA #$00 ; ; LAC3F SUBB L0224 ;Subtract spark latency SBCA #$00 ;Perform carry if needed PSHB ;Push result to stack PSHA ; TSX ;Get current stack pointer into X CLRA ;Clear AB CLRB ; SUBD L3FC0 ;Subtract DRP counter LSRD ;/2 LSRD ;/2 LSRD ;/2 LSRD ;/2 ORAA #$F0 ;Clear lower 4 bits of MSB ADDD L3FF6 ;Add in EST fall counter SUBD 0,X ;Subtract origional result on stack BMI LAC5D ;Bra if msb is ==1 ; ADDD 0,X ;Add origional result back in STD 0,X ;Save ; LAC5D LDD 0,X ;Finalized SA value SUBD L3FF6 ;Subtract EST fall counter again JSR LF08A ;Short delay ; STD L3FE8 ; JSR LF08A ;Short delay ; ADDD L3FDC ; SUBD L020F ;Subtract stored dwell NOP ;Very short delay LDX L020F ;Load dwell STD L3FE6 ; JSR LF08A ;Short delay ; STX L3FDC ; JSR LF08A ;Short delay ; PULA ;Get SA value back off stack PULB ; STD L3FF6 ;Save it, EST fall counter ; ;~~~~~~~~~~~~~~~~~~~ ; Perform EST diag. ;~~~~~~~~~~~~~~~~~~~ ; BRCLR L0044,#$08,LACEC ;Status word, bra if b3==0, no valid DRP yet ; BRCLR L0050,#$04,LACCB ;Bra if b2==0, no DRP yet ; ;-First DRP occured, perform EST check ; LDD L3FCA ;EST circuit info PSHB ; PSHA ; PULX ;Transfer into X ; LDY #L5B03 ;Error mask 4 BRCLR 0,Y,#$20,LACD7 ;Test b5, EST mon. falure, bra if ==0, not setting error ; BRSET L004F,#$40,LACE0 ;Bra if b6==1, EST bypass diag. already passed ; ;-No EST diag. yet, check for open/faulty EST circuit ; BRSET L0044,#$80,LACD1 ;EST failure already flagged ; SUBD L0228 ;Previous EST circuit info TSTA ;Test MSB BNE LACB9 ;Bra if EST circuit info value > 255, EST open ; CMPB L4E67 ;Number of counts to set error BHI LACB9 ;Bra if >, faulty EST, set error ; ;-EST circuit counter value within limits to be grounded ; BRSET L0044,#$40,LACD7 ;Status word, bra if b6==1, EST mon. already set ; BSET L0044,#$40 ;Status word, set b6, EST monitor BRA LACC8 ;Bra to save EST info and exit. ; LACB9 LDAB L024F ;Load error 42 counter CMPB L4E68 ;# of EST errors to set code 42 BHI LACCE ;Bra if >, set error ; ;-Not setting code 42 yet here ; INCB ;Inc. error 42 counter STAB L024F ;Save it BCLR L0044,#$40 ;Clear b6, EST monitor ; CLR b6 LACC8 STX L0228 ;Save EST circuit info ; LACCB JMP LAD5E ;Exit ; ;-Setting code 42 here ; LACCE BSET L0044,#$80 ;Set b7, EST failure ; LACD1 BSET L0019,#$20 ;Error word #4, set code 42, EST failure JMP LAD5E ;Bra to exit ; ;-Here if EST passed diag. ; LACD7 BSET L004F,#$40 ;Set b6, EST bypass diag. passed CLR L024F ;Clear EST error counter STX L0228 ;Save EST circuit info ; LACE0 BCLR L0044,#$08 ;Status word, clear b3, no valid DRP yet ; LDX L3FEC ; JSR LF08A ;Short delay ; STX L3FE4 ; ; LACEC BSET L004B,#$10 ;I/O word, set b4 ; ;-Check for EST active fault ; BRCLR L0004,#$80,LACFC ;Bra if EST active fault not set ; BRSET L0044,#$04,LACFC ;Status word, bra if b2==1, skip EST due to ALDL ; ;-Here to set code 42, EST ; BSET L0019,#$20 ;Error word #4, set code 42, EST BRA LAD5B ;Bra ; ;-Here if no EST fault/skipping EST error ; LACFC BRCLR L003B,#$10,LAD5E ; BR IF NOT b4, IN MODE 4, ($F4) LDAA L0393 ; BITA #$08 ; BEQ LAD5E ; ; BSET L0044,#$04 ;(???) BRA LAD5B ; ; ;~~~~~~~~~~~~~~~~~~~~ ; ; RPM calc. routine ; ;~~~~~~~~~~~~~~~~~~~~ ; ;-RPM = (25 x 256 x 307)/(2 x (# cyl/8) x DRP) ; ;-DRP = (65536 x 120) / (RPM x # cyl) ; LAD0C LDX #$FFFF ;Max DRP period BRCLR L0044,#$08,LAD59 ;Bra if no valid DRPs recieved yet ; LDD L3FC0 ;DRP counter STD L005F ;DRP period STD L020B ;DRP period LDX #$005F ;DRP period LDAA L4142 ;# cylinders LDAB #32 ; MUL ;# cylinders x 32 TBA ;Get result into A BEQ LAD2C ;Bra if 8 cylinders ; JSR LF1ED ;(A x X*)/256 STD L005F ;D = (# cyl. x DRP) / 8, now relative to 8 cyl. engine ; LAD2C LDD L005F ;Stored DRP ASLD ;x2 XGDX ;Swap DRP x 2 into X LDD #307 ; FDIV ;Fract. divide, X = (307/(DRPs x 2)) PSHX ;Push X to stack PULA ;Get results into D, now RPMs/25 PULB ; ; ;~~~~~~~~~~~~~~~~ ; Do scaled RPMs ;~~~~~~~~~~~~~~~~ ; ;-400 - 2400 in 12.5 rpm inc., 2400-4800 in 25 rpm increments ; CMPA #96 ;2400 rpm BCS LAD44 ;Bra if less ; ;-RPMs >= 2400 rpm ; ADDD #$4080 ;dec. 64, offset for 2400-4800 rpm, $80= round up if needed BCC LAD4B ;Bra if no overflow ; LDAA #255 ;Clear overflow BRA LAD4B ;Bra to save. ; ;-RPMs < 2400 here ; LAD44 ASLD ;x2, now in SUBD #$1F80 ;dec. 31, 400 rpm minimum, $80, round down if needed BCC LAD4B ;Bra if no underflow ; CLRA ;Clear underflow ; LAD4B STAA L0061 ;Save it, scaled rpms ; ;~~~~~~~~~~~ ; Do rpm/25 ;~~~~~~~~~~~ ; ;-0 - 6375 in 25 rpm increments ; PSHX ;Push calc'd rpms to stack PULA ;Get back into D PULB ; ADDD #$80 ; SBCA #$00 ;Round if needed STAA L0062 ;Save it, RPM/25 BRA LAD5B ;Bra ; LAD59 STX L005F ;Stored DRP value LAD5B BCLR L004B,#$10 ;I/O word, clear b4 ; LAD5E BCLR L0050,#$04 ;CLR b2, reset DRP test bit RTS ;Return ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;----------------------------------------- AD62: LAD62 LDX #$400E ; MODE WD, 0000 0000 AFR 4 AD65: BRSET 0,X,#$04,LAD6C ; BR IF b2, (SHIFT LIGHT ENABLE) AD69: JMP LAE64 AD6C: LAD6C BRCLR L0050,#$10,LAD76 ; bR IF NOT b4, DIAG SW IN DIAG POSIT. AD70: BRSET L004F,#$80,LAD76 ; BR IF b7, ENGINE RUNNING AD74: BRA LAD8B ; ; SERIAL DATA MD WORD ; CK FOR ENG CONTROLLER MODE ; AD76: LAD76 BRCLR L003B,#$10,LAD8E ; BR IF NOT b4, IN MODE 4, ($F4) ; .. else AD7A: LDX #$0391 ; $F4, ALDL MODE 4, DISRETE ENABLES AD7D: BRCLR 0,X,#$01,LAD8E ; BR IF NOT b0, 1 = OVERSPEED LIGHT ENABLE AD81: LDX #$0392 ; $F4, ALDL MODE 4, DISRETE STATES AD84: BRSET 0,X,#$01,LAD8B ; BR IF b0, 1 = OVERSPEED LIGHT ON AD88: JMP LAE03 AD8B: LAD8B JMP LAE08 AD8E: LAD8E LDD L3FE0 AD91: PSHB AD92: PSHA AD93: SUBD L0847 AD96: STD L0849 AD99: PULA AD9A: PULB AD9B: STD L0847 ;----------------------------------------------- ; HIGH ET RATIOS FOR UPPER ENG RPM/TRANS RPM ; OF A PAIR USED ; ; ESTABLISH CORRECT GEAR RANGE FOR SPECIFIED GEAR ; TO SET SHIFT LIGHT TRIP POINT ; ; MANUAL XMISSION & TH700R4 ;----------------------------------------------- AD9E: LDX #$5109 ADA1: LDAA L0006 ; COOL ADA3: CMPA $0C,X ADA5: BLS LADF3 ADA7: LDAA $0D,X ADA9: LDAB L0845 ADAC: CMPB #$02 ADAE: BLS LADB2 ADB0: LDAA $0E,X ADB2: LADB2 CMPA L01FC ; TPS ADB5: BHI LADF3 ; ADB7: LDAA L02A7 ; MPH/1 ADBA: CMPA #$05 ; 5 MPH ADBC: BCS LADF3 ; BR IF Vss LT 5 MPH ADBE: LDAA L0062 ; RPM/25 ADC0: CMPA $0F,X ; ADC2: BHI LAE08 ; ADC4: CMPA #40 ; ADC6: BCS LADF3 ; ADC8: LDAB #$01 ; ADCA: STAB L0845 ; ADCD: PSHX ; ADCE: LDD #$0F ; ADD1: LDX L005F ; ADD3: FDIV ; ADD4: LDD L0849 ; ADD7: LSRD ; ADD8: ADDD L0849 ; ADDB: XGDX ; ADDC: IDIV ; ADDD: PSHX ; ADDE: PULA ; ADDF: PULB ; ADE0: STAB L084B ; ADE3: PULX ; ADE4: LADE4 CMPB 0,X ; ADE6: BCC LAE0D ; ADE8: INC L0845 ; ADEB: INX ; ADEC: LDAA L0845 ; ADEF: CMPA #$05 ; ADF1: BCS LADE4 ; ADF3: LADF3 LDAA L5119 ; ADF6: LDAB L0845 ; ADF9: CMPB #$02 ; ADFB: BLS LAE00 ; ADFD: LDAA L511A ; AE00: LAE00 STAA L0846 ; ; AE03: LAE03 BCLR L0053,#$04 ; CLR b2, SHIFT LIGHT ON AE06: BRA LAE64 AE08: LAE08 BSET L0053,#$04 ; CLR b2, SHIFT LIGHT ON AE0B: BRA LAE64 AE0D: LAE0D LDAA L0062 ; RPM/25 AE0F: CMPA 4,X ; AE11: BLS LADF3 ; AE13: LDAA 8,X ; ; AE15: LDAB L01FC ; TPS AE18: MUL ; AE19: ASLD ; AE1A: BCS LAE21 ; AE1C: ADDD #128 ; AE1F: BCC LAE23 ; AE21: LAE21 LDAA #255 ; FORCE MAX VALUE AE23: LAE23 PSHA ;-------------------------------------------------- ; LK UP LOAD LMT Vs. RPM ; TH700R4, (NON-ELECTRONIC) ; USED BY UPSHIFT LIGHT CODE TO GET A TPS THRESH ; ;--------------------------------------------------- AE24: LDX #$511B ; INDEX LOAD LMT Vs. RPM TBL AE27: LDAB L0845 ; AE2A: CMPB #$02 ; AE2C: BLS LAE31 ; ;-------------------------------------------------- ; LK UP LOAD LMT Vs. RPM ; TH700R4, (NON-ELECTRONIC) ; USED BY UPSHIFT LIGHT CODE TO GET A TPS THRESH ; ;-------------------------------------------------- AE2E: LDX #$5131 ; INDEX LOAD LMT Vs. RPM ; AE31: LAE31 LDAB #11 ; ; AE33: BRSET L0053,#$04,LAE38 ; BR IF b2, SHIFT LIGHT ON AE37: ABX ; AE38: LAE38 LDAB #40 ; ; AE3A: LDAA L0062 ; ENG RPM/25 AE3C: CMPA #200 ; 5000 RPM AE3E: BCS LAE42 ; BR IF RPM LT 5000 RPM AE40: LDAA #200 ; FORCE 5000 RPM AE42: LAE42 JSR LF15A ; 2D LK UP W/OFFSET ; AE45: PSHA ; ;-------------------------------------------------- ; BARO CORRECTION TO TBL'S L5113 th L513E (ABOVE) ; TH700R4, (NON-ELECTRONIC) ; ;-------------------------------------------------- AE46: LDAA L01EF ; BARO AE49: LDAB #96 ; OFFSET VALUE ;-------------------------------------------------- ; BARO CORRECTION TO TBL'S L5113 th L513E (ABOVE) ; TH700R4, (NON-ELECTRONIC) ; ;-------------------------------------------------- AE4B: LDX #$5147 ; INDEX BARO CORRECTION TBL AE4E: JSR LF15A ; 2d LK UP W/OFFSET ; AE51: PULB ; AE52: MUL ; AE53: ASLD ; AE54: BCC LAE58 ; AE56: LDAA #255 ; FORCE MAX VALUE AE58: LAE58 PULB ; AE59: CBA ; AE5A: BCS LADF3 ; AE5C: LDAA L0846 ; AE5F: BEQ LAE08 ; AE61: DECA ; AE62: BRA LAE00 ; ; AE64: LAE64 RTS ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Non CC trans. TCC handling routine ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; LAE65 LDAA L400F ;Opt. byte BITA #$40 ;Test b6, TCC (non CC trans) BNE LAE6F ;Bra if ==1, using TCC ; JMP LAF16 ;Skip routine ; ;-Here if using TCC ; LAE6F LDAA L02A7 ;MPH LDAB #205 ;Scalar for lookup MUL ;MPH x scalar ASLA ;x2, now scaled to 10 mph increments for lookup LDX #L515E ;Lower load limit for TCC to lock JSR LF15E ;2D lookup TAB ;Load limit to lock TC into B LDX #L5156 ;Addr. of MPH limit for mand. TCC lockup BRCLR L0085,#$20,LAE8B ;Status word, bra if b5==0, TCC unlocked ; ;-TCC locked here ; INX ;+1, MPH limit for TCC to remain in mand. lockup SUBB L5151 ;TPS hyst. for TCC locked BCC LAE8B ;Bra if no underflow ; CLRB ;Clear underflow ; ;-Here if TCC unlocked ; LAE8B LDAA L01FC ;%TPS CBA ;Compare %TPS to load limit to lock TC BCC LAE99 ;Bra if TPS >= ; ;-Here if TPS less then limit for TCC to lock ; LDAA L5155 ;Coast relock delay STAA L0853 ;Save it ; BRA LAF0D ;Bra to unlock TCC and return ; ;-Check for manditory lockup speed ; LAE99 LDAA L02A7 ;MPH CMPA 0,X ;Manditory TCC lockup speed BCS LAEA2 ;Bra if MPH less, no manditory lockup ; BRA LAF02 ;Bra to lock the TCC and return ; ;-Check cool temp quals ; LAEA2 LDAA L0006 ;Cool temp, linearized CMPA L5150 ;Lower temp limit for TCC lockup BCS LAF07 ;Bra if cool temp less, no TCC lockup ; ;-Check throttle opening/closing rate ; LDAA L01FC ;%TPS SUBA L0854 ;Sub. %TPS, one delayed BCC LAEB7 ;Bra if TPS increasing/steady ; ;-Here if throttle closing ; NEGA ;Get abs. val. of delta TPS LDAB L5152 ;Delta throttle closing rate to force TCC to unlock BRA LAEBA ;Bra to contine ; ;-Here if throttle is opening ; LAEB7 LDAB L5153 ;Delta throttle opening rate to force TCC to unlock ; LAEBA CBA ;Compare to delta TPS BHI LAF07 ;Bra if delta TPS >, unlock TCC ; ;-Check MPH thesholds ; LDX #L515A ;TCC lock/unlock MPH thresholds CLRB ; ; ;-Check if A/C active ; BRCLR L004D,#$01,LAEC7 ;I/O port C, bra if no A/C ; ;-A/C on, adv. to next set of thresholds ; INX ;+1 INX ;+1, move to next set of thresholds ; LAEC7 BRCLR L0085,#$20,LAECC ;Bra if b5==0, TCC not commanded to lock ; INX ;+1, MPH threshold to unlock TCC ; LAECC LDAA L02A7 ;MPH CMPA 0,X ;Check threshold BLS LAF07 ;Bra if MPH <=, unlock TCC ; ;-Check TCC load limits to lock/remain locked ; LDY #L5158 ;Lower RPM limit for TCC to remain locked LDX #L5167 ;Addr. of load limit to remain locked vs. mph BRSET L0085,#$20,LAEE3 ;Bra if b5==1, TCC commanded to lock ; ;-TCC unlocked here ; LDX #L5174 ;Addr. of load limit to lock vs. mph INY ;+1, rpm limit for TCC lockup ; LAEE3 ABX ;Add in offset in B, if present LDAB #205 ;Scalar for MPH MUL ;Scalar x MPH ASLA ;x2 ASLA ;x2, MPH now in 5 mph increments LDAB #64 ;20 MPH offset JSR LF15A ;2D lookup with SBA ; CMPA L01FC ;Compare to %TPS BCS LAF07 ;Bra if TPS >, no lockup ; ;-Check RPM limit ; LDAA L0063 ;RPM/12.5 CMPA 0,Y ;Compare to limit BCS LAF07 ;Bra if RPMs are less, unlock TCC ; ;-Check time delay to lock ; LDAA L0853 ;TCC relock delay timer BEQ LAF02 ;Bra if ==0, allow TCC to lock ; DECA ;-1 from timer BRA LAF0A ;Bra to save and return ; ;~~~~~~~~~~~~~~~~~~~~~ ; Here if lockup ok'd ;~~~~~~~~~~~~~~~~~~~~~ ; LAF02 BSET L0085,#$20 ;Status word, set b5, TCC commanded to lock BRA LAF10 ;bra to return ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~ ; HHere if lockup not ok'd ;~~~~~~~~~~~~~~~~~~~~~~~~~~ ; LAF07 LDAA L5154 ;Time delay to relock TCC ; LAF0A STAA L0853 ;TCC relock delay timer ; LAF0D BCLR L0085,#$20 ;Clear b5, No TCC lockup ; LAF10 LDAA L01FC ;%TPS STAA L0854 ;Save it, %TPS, one delayed ; LAF16 RTS ;Return ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;~~~~~~~~~~~~~~~~~~~~~~~ ; ; Routine to check VATS ; ;~~~~~~~~~~~~~~~~~~~~~~~ ; LAF17 LDAA L400D ;Opt. byte BITA #$40 ;Test b6 BEQ LAF3C ;Bra if not using VATS ; ;-Vats in use here ; BRSET L003D,#$02,LAF3F ;Status word, bra if b1==1, VATS passed ; LDX L3012 ;Load TIC 2 timer val PSHX ;Push to stack PULA ;Get into AB PULB ; ; SUBD L0851 ;Previous stored TIC 2 timer val BEQ LAF3F ;Bra if result ==0, VATS freq. =0 ; STX L0851 ;Save as previous TIC 2 result CPD L5181 ;Upper period limit for VATS freq. BHI LAF3F ;Bra if period greater, VATS fail ; CPD L5183 ;Lower period limit for VATS freq. BCS LAF3F ;Bra if less, VATS fail ; ;-VATS passed ; LAF3C BSET L003D,#$02 ;Set b1, VATS passed ; ;-Here if VATS failed ; LAF3F RTS ;Return ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ AF40: LAF40 JSR LAF5C AF43: JSR LAF62 AF46: JSR LB106 AF49: JSR LB12A AF4C: JSR LB291 AF4F: JSR LB2DD AF52: JSR LB375 AF55: JSR LF42B AF58: JSR LF2EB AF5B: RTS ;---------------------------------------------- AF5C: LAF5C JSR LB35E ; GET ERR 24 DEFAULT RATIOS AF5F: STX L00F3 ; SAVE RATIOS AF61: RTS ;---------------------------------------------- ;---------------------------------------------- ; ; ;---------------------------------------------- AF62: LAF62 BCLR L0076,#$80 AF65: LDAA L3000 ; PORT A AF68: BITA #$40 ; b6 AF6A: BEQ LAF6F ; BR IF NOT b6 AF6C: BSET L0076,#$80 AF6F: LAF6F LDAB L3002 ; PORT G AF72: COMB AF73: ANDB #$0F AF75: LDAA L3060 ; AF78: EORA L3062 ; TOGGLE I/O PORT D AF7B: ANDA #$03 AF7D: ASLA AF7E: ASLA AF7F: ASLA AF80: ASLA AF81: ABA AF82: STAA L0098 AF84: LDX #$004B AF87: LDAB L00D3 ; GEAR NUMBER AF89: CMPB #0 ; AF8B: BNE LAF9B ; BR IF NON Z AF8D: BRCLR 0,X,#$08,LAF96 ; BR IF NOT b3 AF91: BSET L0084,#$10 ; SET b4 AF94: BRA LAFB5 AF96: LAF96 BCLR L0084,#$10 ; CLR b4 AF99: BRA LAFB5 AF9B: LAF9B BRSET 0,X,#$08,LAFAB ; BR IF b3, AF9F: BRCLR L0084,#$08,LAFA6 ; BR IF MOT b3, AFA3: BSET L0084,#$10 ; SET b4 AFA6: LAFA6 BCLR L0084,#$08 ; SET b3 AFA9: BRA LAFB5 AFAB: LAFAB BRSET L0084,#$08,LAFB2 ; BR IF b3, AFAF: BSET L0084,#$10 ; SET b4 AFB2: LAFB2 BSET L0084,#$08 ; SET b3 AFB5: LAFB5 LDX #$004B AFB8: BRSET 0,X,#$80,LAFC5 ; BR IF b7, AFBC: BRSET 0,X,#$04,LAFCE ; BR IF b2, AFC0: BCLR L0085,#$02 ; CLR b1, TCC ENABLE SOLENIOD VALID AFC3: BRA LAFD1 AFC5: LAFC5 BRCLR 0,X,#$04,LAFCE ; BR IF NIT b2 AFC9: BCLR L0085,#$02 ; CLR b1, TCC ENABLE SOLENIOD AFCC: BRA LAFD1 AFCE: LAFCE BSET L0085,#$02 ; SET b1, TCC ENABLE SOLENIOD AFD1: LAFD1 LDAA L0096 AFD3: STAA L0097 AFD5: BCLR L0096,#$04 ; CLR b2, ;----------------------------- ; AFR MD WORD 0, ; b5 1 = PWR ENR IS ACTIVE ;----------------------------- AFD8: BRCLR L003D,#$20,LAFDF ; CLR b5 AFDC: BSET L0096,#$04 ; SET b2, AFDF: LAFDF BCLR L0096,#$80 ; CLR b7, AFE2: BRCLR L0050,#$10,LAFED ; bR IF NOT b4, DIAG SW IN DIAG POSIT. AFE6: BRSET L0082,#$80,LAFED ; BR IF b7, AFEA: BSET L0096,#$80 ; SET b7, AFED: LAFED LDY #$5D02 ;-------------- ; I/O PORT C ;-------------- AFF1: LDAB L004D ; I/O PORT C AFF3: TBA ; B --> A ; AFF4: EORA L0095 ; AFF6: STAB L0095 ; ; AFF8: BITA #$01 ; AFFA: BEQ LB001 ; BR IF NOT b0, AFFC: BRSET 1,Y,#$04,LB00B ; BR IF b2, (1 = Filter A/C input) ; B001: LB001 BCLR L0096,#$02 ; CLR b1 ; B004: BITB #$01 ; b0 B006: BEQ LB00B ; BR IF NOT b0 B008: BSET L0096,#$02 ; SET b1 ; B00B: LB00B BITA #$80 ; b7 B00D: BEQ LB01C ; BR IF NOT b7 B00F: XGDX ; B010: LDAA L5D23 ; 4 sec DISABLE ERR 72 4 SEC DURING 4WD B013: STAA L019C ; ERR 72 TIMER B016: XGDX B017: BRSET 1,Y,#$10,LB026 ; BR IF b4, (1 = Filter 4 wheel drive low input) B01C: LB01C BSET L0096,#$20 ; SET b5, ; B01F: BITB #$80 ; b7 B021: BEQ LB026 ; BR IF NOT b7 B023: BCLR L0096,#$20 ; CLR b5, ; B026: LB026 TST L019C ; ERR 72 TIMER B029: BEQ LB02E ; BR IF TIMER = Z B02B: DEC L019C ; DECR ERR 72 TIMER ; B02E: LB02E BITA #$1C ; 0001 1100 B030: BEQ LB037 ; B032: BRSET 1,Y,#$02,LB054 ; BR IF b1, (1 = Filter pattern inputs) ;----------------------------------------- ; 8 LINE TABLE ; INDEXED LK UP AT LB03B ; WASXXX ;----------------------------------------- B037: LB037 ANDB #$1C ; 0001 1100 B039: LSRB ; SHIFT LEFT 2 PL B03A: LSRB ; B03B: LDX #$B0FE ; INDEX A 8 LINE TABLE B03E: ABX ; ADJ INDEX B03F: LDAB 0,X ; GET VAL FM TABLE ; B041: LDAA L009B ; B043: INCA ; B044: BEQ LB048 ; BR IF Z B046: STAA L009B ; ; B048: LB048 LDAA L009C ; PRNDL B04A: STAA L009D ; B04C: CBA ; B04D: BEQ LB054 ; BR IF B = A B04F: CLR L009B ; B052: STAB L009C ; PRNDL ; B054: LB054 LDAB L0076 ; B056: TBA ; B057: EORA L0077 ; B059: STAB L0077 ; ; B05B: BITA #$80 ; b7 B05D: BEQ LB064 ; BR IF NOT b7 B05F: BRSET 1,Y,#$08,LB06E ; BR IF b3, B064: LB064 BSET L0096,#$40 B067: BITB #$80 ; b7 B069: BEQ LB06E ; BR IF NOT b7 ;--------------------- ; ;--------------------- B06B: BCLR L0096,#$40 ; CLR b6 ; B06E: LB06E LDD #0120 ; B071: LDX L005F ; LAST DRP PERIOD B073: FDIV B074: XGDX B075: CPD #0120 B079: BHI LB07D B07B: CLRA B07C: CLRB B07D: LB07D STD L00B1 B07F: LDD L00F3 B081: LDX L00CB ; XMISH OUTPUT SPD JSR LF23F ;16 x 16 mult. routine ; ASLD ;x2 BCS LB096 B089: ASLD B08A: BCS LB096 B08C: XGDX B08D: ROLA B08E: ROLA B08F: ROLA B090: ANDA #$0003 B092: TAB B093: ABX B094: BRA LB099 B096: LB096 LDX #$FFFF B099: LB099 STX L00B7 B09B: STX L00BE ; B09D: LDX #$3FE0 B0A0: LDY #$3FC2 ; ; SPD SENSOR SOURCE ; 0010 0001 ; b0 1 = Allow tps hist buffer every 25 Msec ; b5 1 = Force 2nd Gr if in D2 and not manual b4, 0 = Output speed from dig. ratio adaptor. ; ; LDAA #$10 ; b4 BITA L5D02 ;Opt. byte, test b4 BEQ LB0B2 ;Bra if ==0, speed from dig. ratio adaptor ; LDX #$3FC6 LDY #$3FF8 ; LB0B2 SEI ;Disable interrupts LDD 0,X ;Load JSR LF08A ;Short delay ; PSHY ; LDY 0,Y ; JSR LF08A ; VERY SHORT DELAY ; CPD 0,X ; BEQ LB0D0 ; ; JSR LF08A ; VERY SHORT DELAY ; PULY ; LDY 0,Y ; INCB ; BRA LB0D2 ; ; LB0D0 INS ; INS ; LB0D2 LDX #$00C2 ; STAB 8,X ;Store at L00CA/L00CB STY 6,X ; CLI ; LDY #$00C2 ; LDX L5D13 ; 40 PULSES/REV OUTPUT SHAFT SPD LDAB L5D12 ; 20 msec max period between JSR LE34C ; XMISH SPEED RELATED SUBROTUINE ; ; CK 4WD ; B0E8: BRCLR L0096,#$20,LB0FB ; BR IF NOT b5 B0EC: LDX L5D16 ; 2.72:1 4WD LO RATIO B0EF: JSR LF23F B0F2: ASLD ; n x 2 B0F3: BCS LB0F8 ; BR IF NO OVERFLOW B0F5: ASLD ; n x 2 B0F6: BCC LB0FB ; BR IF NO OVERFLOW B0F8: LB0F8 LDD #$FFFF ; MAX VALUE B0FB: LB0FB STD L00C6 B0FD: RTS ;----------------------------------------- ;----------------------------------------- ; 8 LINE TABLE ; INDEXED LK UP AT LB03B ; ;----------------------------------------- B0FE: FCB $88 ; B0FF: FCB $08 ; B100: FCB $88 ; B101: FCB $04 ; B102: FCB $20 ; B103: FCB $40 ; B104: FCB $01 ; B105: FCB $02 ; ;----------------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Routine to check for manual 2nd gear select ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; LB106 LDAA L0099 ;Trans shift pattern word STAA L009A ;Previoud trans shift pattern ; CLR L0099 ;Preclear trans shift pattern ; LDX #L5D02 ;Opt byte BRCLR 0,X,#$20,LB121 ;Bra if b5==0, not forcing 2nd gear when in manual D2 ; BRSET L0092,#$04,LB121 ;Bra if b2==0, trans. press. switch. error ; ;-Here if no errors, check for manual second ; BRCLR L009C,#$02,LB121 ;Bra if not in second gear ; BSET L0099,#$04 ;Set b2, manual pattern requested BRA LB124 ;Bra to return ; BSET L0099,#$01 ;Set b0, normal pattern requested ; LB124 RTS ;Return ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;----------------------------------------- ; 09 01 ; 02 04 ; 09 ; B125: DEX B126: NOP B127: IDIV B128: LSRD B129: DEX *********************************************** *********************************************** * * * *********************************************** B12A: LB12A JSR LE677 B12D: JSR LEA7B B130: JSR LE4BA B133: BRCLR L0092,#$04,LB13B ;Status word, bra if b4==0 B137: LDAA #$88 ; 1000 1000 B139: STAA L009C ; ; B13B: LB13B LDX #$5B00 ; INDEX DIAGNOSTIC MODE WORD MASKS B13E: LDAA L0099 ; ; B140: BRCLR $32,X,#$20,LB14E ; $5B32, BR IF NOT b5, ERR 77, MNP SWITCH ; .. else B144: LB144 BRCLR L001D,#$20,LB14E ; BR IF NOT b5 B148: ANDA #$F0 ; 1111 0000 B14A: ORAA #$09 ; b3 & b0 B14C: BRA LB15D B14E: LB14E BITA #$04 : b2 B150: BEQ LB15F ; BR IF NOT b2 ; ... else B152: BRSET L0092,#$04,LB15B ; BR IF NOT b2 B156: LDAB L5D0D ; 0, NON Z TO DISABLE MANUAL MODE <----**** B159: BEQ LB15D ; BR IF Z B15B: LB15B EORA #$05 ; B15D: LB15D STAA L0099 ; B15F: LB15F JSR LE576 ; B162: JSR LE5B7 B165: JSR LE38F B168: JSR LE96F ; ; CK DIG I/O MD WD ; B16B: LDX #$400F ; MODE WD, DIG I/O B16E: BRSET 0,X,#$80,LB175 ; BR IF b7, 1 = MAN, (0 = TCC) B172: JSR LE5F6 ; ; ; here if manual xmish ; B175: LB175 JSR LEDD4 ; EXIT VIA RTS B178: JSR LE930 ; B17B: JSR LE3CB B17E: JSR LE4A4 B181: JSR LE3B1 B184: RTS ;----------------------------------------- ;----------------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Transmission TPS Based params. routine ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;~~~~~~~~~~~~~~~~~~~~~~ ; Check for TPS errors ;~~~~~~~~~~~~~~~~~~~~~~ ; ;-Check for error 21, high TPS ; LB185 LDX #L5B00 ;Start addr. of diag masks BRSET L0092,#$01,LB1B5 ;Status word, bra if b0==1, Trans. TPS error flagged ; BRCLR $2B,X,#$01,LB199 ;Error mask, bra if b0==0, not setting error 21, High TPS ; BRSET $34,X,#$01,LB199 ;Alt. error mask, bra if b0==1, not setting error 21. ; LDAA L015B ;Error 21 timer BNE LB1A6 ;Bra if !=0 ; ;-Check for error 22, low TPS ; LB199 BRCLR $2C,X,#$80,LB1B7 ;Error mask, bra if b7==0, not setting error 22, TPS high ; BRSET $35,X,#$80,LB1B7 ;Alt. mask, bra if b7==1, not setting error 22 LDAA L015C ;Error 22 timer BEQ LB1B7 ;Bra if ==0, continue normally ; ;~~~~~~~~~~~~~~~~~~~ ; Here if TPS error ;~~~~~~~~~~~~~~~~~~~ ; LB1A6 LDX #L5D02 ;Option byte BRCLR 0,X,#$01,LB1B2 ;Bra if b0==0, dont allow TPS hyst. buffer every 25 msecs ; ;-Use four delayed TPS here ; LDAA L019B ;%TPS, four delayed BRA LB219 ;Bra ; LB1B2 JMP LB223 ; ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Here if trans TPS error set ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; LB1B5 BRA LB213 ;Bra to load defaults ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;Here if no TPS error flagged or not flagging TPS errors ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; LB1B7 LDAA L00A0 ;A/D TPS CMPA L0319 ;idle TPS BHI LB1CD ;Bra if TPS is greater ; ;-Filter idle TPS if A/D tps is less ; LDAB #128 ;Set LSB LDX L0319 ;idle TPS LDY #L5B25 ;%TPS filter coeff. JSR LF0D3 ;Lag filter routine ; STD L0319 ;Save it, idle TPS ; LB1CD LDAA L00F1 ;MPH, one delayed SUBA L00D1 ;MPH, filtered BCC LB1D8 ;Bra if speed decreasing ; ;-Here if speed increasing ; BCLR L0094,#$04 ;Clear b2 of L0094, bump idle TPS when in decel BRA LB201 ;Bra ; ;-Here if speed decreasing ; LB1D8 BRSET L0094,#$04,LB201 ;Bra if b2==1, already bumped idle TPS ; BRSET L0018,#$02,LB201 ;Error word #5, bra if b1==1, error 37, TCC brake switch stuck on. ; BRSET L0018,#$01,LB201 ;Error word #5, bra if b0==1, error 38, TCC brake switch stuck off ; BRCLR L0096,#$01,LB201 ;Bra if kickdown not ok'd CMPA L5B2A ;Threshold for bumping idle TPS BLS LB205 ;Bra if MPH less ; ;-Speed greater then 5 mph here and speed decreasing, bump idle TPS up when in decel ; LDAA L0319 ;idle TPS ADDA L5B29 ;+1 when in decel CMPA L5B24 ;Max value for idle TPS BLS LB1FB ;Bra if less ; LDAA L5B24 ;Load max ; LB1FB STAA L0319 ;Idle TPS BSET L0094,#$04 ;Set b1, decelerating ; ;-Here if speed increasing ; LB201 LDAA L00D1 ;Filtered MPH STAA L00F1 ;Save it, MPH, one delayed ; ;-Shuffle %TPS values ; ; %TPS -> %TPS, one delayed -> %TPS, two delayed -> %TPS, three delayed -> %TPS, four delayed ; LB205 LDD L0199 ;%TPS, two delayed/three delayed STD L019A ;Save it, %TPS, three delayed/four delayed LDD L0197 ;%TPS, for engine/%TPS, one delayed STD L0198 ;Save it, %TPS, one delayed/two delayed BRA LB219 ;Bra ; ;-Here to load default TPS value if error ; LB213 LDAA L5B22 ;Default TPS CLRB ;Clear LSB BRA LB221 ;Bra to save ; ;-Here if no error ; LB219 LDX L00AA ;Trans. TPS LDAB L5B28 ;Filter coeff for trans. TPS JSR LF0F6 ;Filter routine ; LB221 STD L00AA ;Store it, trans. TPS LB223 LDAA L00AA ;Trans %TPS SUBA #128 ;Subtract 50% TPS ADDA L0101 ; (???) BVC LB230 ;Bra if no 2's comp. overflow ; ;-Clear 2's overflow ; LDAA #$7F ;Load max signed %TPS ADCA #$00 ;Perform carry if needed ; LB230 ADDA #128 ;Add 50% tps back in STAA L00AC ;Save trans %TPS ; ;-Check kickdown ; LDAB L5D1C ;90.2% TPS, threshold to disable kickdown BRSET L0096,#$10,LB23E ;Bra if kickdown enabled ; LDAB L5D1B ;90.2% TPS, threshold for kickdown ; LB23E BCLR L0096,#$10 ;Clear b4, kickdown enable ; CMPB L00AA ;Trans. TPS BCC LB24C ;Bra if TPS <= ; ;-TPS above threshold, enable kickdown if no manual pattern requested ; BRSET L0099,#$04,LB24C ;Bra if b2==1, manual pattern requested ; BSET L0096,#$10 ;Set b4, enable kickdown ; LB24C RTS ;Return ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Self-zeroing idle TPS routine ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; LB24D LDAA L00A0 ;A/D TPS CMPA L0319 ;idle TPS BLS LB26F ;Bra if A/D TPS <= idle %TPS, return ; ;-Filter idle TPS if A/D TPS > ; LDAB #128 ;Use 128 as LSB of filtered value LDX L0319 ;Old %TPS LDY #L5B27 ;TPS filter coeff. JSR LF0D3 ;Lag filter routine ; STD L0319 ;Save it, filtered idle TPS CMPA L5B24 ;Max val. for %TPS BCS LB26F ;Bra if < ; LDAA L5B24 ;Load max CLRB ; STD L0319 ;Save it, idle %TPS ; LB26F RTS ;Return ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; %TPS for engine routine ; ;~~~~~~~~~~~~~~~~~~~~~~~~~ ; LB270 LDD L0319 ;Idle TPS ADDD #128 ;Round if needed TAB ;Idle TPS to B LDAA L00A0 ;Load A/D TPS SBA ;Subtract idle TPS from A/D TPS BCC LB27D ;Bra if no underflow CLRA ;Clear underflow ; LB27D LDAB L5B26 ;92, scalar for TPS MUL ;TPS x scalar ADDD #32 ;+32 ASLD ;x2 BCS LB28A ;Bra if overflow ; ASLD ;x2 BCC LB28D ;Bra if overflow ; LB28A LDD #$FFFF ;Clear overflow ; ;%TPS = (92 x A/D TPS + 32)/64 ; LB28D STAA L0197 ;%TPS, for engine RTS ;Return ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;----------------------------------- ; speed sensor calibration param's ; ; ECM $0D ;----------------------------------- ;------------------------ ; RPM FILTER ;------------------------ B291: LB291 LDD L00B1 B293: LDX L019D ; RPM * 8 B296: LDY #$5D0F ; 87 msec, RPM filter B29A: JSR LF0D3 ; TRANSMISSION LAG FILTER ROUTINE B29D: STD L019D ; RPM * 8 ;------------------------- ;------------------------- ; INPUT SPD FILT ;------------------------- B2A0: LDD L00B7 B2A2: LDX L00BC B2A4: LDY #$5D10 ; 6.3 msec, INPUT SPD FILTER B2A8: JSR LF0D3 ; TRANSMISSION LAG FILTER ROUTINE B2AB: STD L00BC ; FILT TIS ;------------------------- ;------------------------ ; XMISH Input spd filter ;------------------------ B2AD: LDD L00BE B2AF: LDX L00C0 ; TIS B2B1: LB2B1 LDY #$5D11 ; 6.3 msec, XMISH INPUT SPD FILTER B2B5: JSR LF0D3 ; TRANSMISSION LAG FILTER ROUTINE B2B8: STD L00C0 ; FILT TIS ;------------------------- B2BA: LDD L00B1 B2BC: SUBD L00BE B2BE: RORA B2BF: ROLA B2C0: BVC LB2C9 B2C2: LDD #32767 B2C5: ADCB #$0000 B2C7: ADCA #$0000 ;--------------------------------------------- ; FILT TCC SLIP ;--------------------------------------------- B2C9: LB2C9 LDX L00E5 ; TCC SLIP B2CB: LDY #$5D0B ; 110 msec, converter slip filter, 2 MSEC/bit) B2CF: JSR LF0BD ; FILT B2D2: STD L00E5 ; TCC SLIP B2D4: BPL LB2DA ; BR IF B2D6: NEGA B2D7: NEGB B2D8: SBCA #$00 ; PREVENT OVERFLOW B2DA: LB2DA STD L00E7 ; NEG TCC SLIP B2DC: RTS ;-------------------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; LB2DD BRCLR L0093,#$04,LB2FF ;Status word, bra if b2==0, no loss of output speed ; ;-Error, generate default output speed ; JSR LB35E ;Read in gear ratio ; ;-Output speed = (RPM x 4 / ratio) x 65536 ; LDD L00B1 ;RPM x 8 LSRD ;/2 LSRD ;/2 FDIV ;frac. divide XGDX ;Get result into D BRCLR L0096,#$20,LB318 ;Status word, bra if b5==0, not in 4WD ; ;-In 4WD here ; LDX L5D16 ;Additiona reduction ratio for xfer case JSR LF23F ;16 x 16 multiply routine ; ASLD ;x2 BCS LB2FA ;Bra if overflow ; ASLD ;x2 BCC LB318 ;Bra if no overflow ; LB2FA LDD #$FFFF ;Clear overflow BRA LB318 ;Bra to save and continue ; ;-Here if no error ; LB2FF LDAA L015D ;Error 24 timer, VSS ORAA L016E ;Error 72 timer, output speed loss BNE LB316 ;Bra if !=0 ; ;-No errors pending here ; LDD L00C6 ; LDX L00CD ; TOS BRSET L0082,#$08,LB312 ;Status word, bra if b3==1, ignition is on ; LDX #$0000 ; LB312 STX L00CF B314: BRA LB318 B316: LB316 LDD L00CF ; B318: LB318 STD L00CB ; XMISH OUTPUT SPD ; ;-Transmission output speed filter ; LDX L00CD ;TOS LDY #L5D15 ;Trans. output speed filter coeff. JSR LF0D3 ;Filter routine ; STD L00CD ;Save it, TOS ;-------------------------- ; NO/VS RATIO ; VAL = RATIO * 1024 ;-------------------------- B325: LDD L00CD ; TOS B327: LDX L5D18 ; 44.7:1 NO/VS RATIO <-------* B32A: FDIV B32B: XGDX B32C: SUBA #128 B32E: ADDA L0102 B331: BVC LB33A ; BR IF B333: LDD #32767 ; FORCE MAX VAL 32,767 B336: ADCB #0 B338: ADCA #0 B33A: LB33A ADDA #128 B33C: ADDD #128 B33F: BCC LB344 B341: LDD #$FFFF B344: LB344 STD L0814 ;----------------------- ; Vss filter ; ;----------------------- B347: LDX L00D1 ; Vss B349: LDY #$5D1A ; 6.3 msec, Vss filter B34D: JSR LF0D3 ; TRANSMISSION LAG FILTER ROUTINE B350: STD L00D1 ; FILT Vss B352: LDAB L00D1 ; Vss B354: CLRA B355: XGDX B356: LDD L019D ; RPM * 8 B359: IDIV B35A: STX L0190 B35D: RTS ;--------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Routine to fetch trans gear ratios ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; LB35E LDX L5B43 ;Load ratio for reverse gear BRSET L009C,#$20,LB374 ;Bra if b5==1, in reverse ; LDX #L5B49 ;Trans ratios for gears 1st-4th LDAB L00D3 ;Load gear number BRCLR L0092,#$04,LB370 ;Status word, bra if b2==0, no press. switch. man. error ; ;-Error, load default gear # ; LDAB #2 ;Error, load 1st as default ; LB370 ASLB ;x2 for 16 bit addr. ABX ;Add in offset LDX 0,X ;Load gear ratio ; ;-Here if in reverse ; LB374 RTS ;Return ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;-Look up force motor ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Trans temp value for lookup = (trans temp x 8)/256, limit value to <8 for indexed lookup ; LB375 LDAA L00AF ;Trans temp, filtered LDAB #08 ;8, scale for table lookup MUL ;Trans temp x 8 SUBD #01 ;-1 BLT LB384 ;Bra if < 0 ; CMPA L014C ;Previously stored result BGE LB38C ;Bra if >= previously stored result, save ; ;-Here if trans temp = -40 deg C or XXX < previously stored result ; LB384 ADDD #17 ;+17, 1.5 deg C hyst. CMPA L014C ;Previously stored result BGE LB38F ;Bra if >= previously stored result, dont save ; ;-Here if trans temp > stored value or temp difference less then 1.5 deg C ; LB38C STAA L014C ;Save it, trans temp value used for lookup ; LB38F LDAB L014C ;Load in stored temp value LDX #LB3A5 ;Get table addr. ABX ;Add in offset LDAA 0,X ;Load table value STAA L014D ;Save it LDAA 8,X ;Load value 8 bytes ahead STAA L014E ;Save it RTS ;Return ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-------------------------------------------------- ; ; ;-------------------------------------------------- LB3A1 FCB 3 ; LB3A2 FCB 2 ; LB3A3 FCB 0 ; LB3A4 FCB 1 ; ;------------------------------------------------- ; ;~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Force motor ;~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; val. ;Deg C ; LB3A5 FCB 70 ;-40 FCB 64 ;-16 FCB 60 ; 8 FCB 58 ; 32 FCB 54 ; 55 FCB 52 ; 80 FCB 52 ;103 FCB 52 ;127 ; FCB 41 ;-40 FCB 35 ;-16 FCB 31 ; 8 FCB 28 ; 32 FCB 24 ; 55 FCB 21 ; 80 FCB 19 ;103 FCB 17 ;127 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~ ; LB3B5 LDX #$400F BRCLR $0C,X,#$18,LB3C8 ; BR IF NOT b3 & b4 BRCLR L0011,#$CE,LB3F7 ; 1100 0111 SEI ;----------------------------------------------- ; CK IF TCC FOR TH700 ; ; JSR HER FM L7 ;----------------------------------------------- ; ; DIG I/O MODE WD, 0000 1000 ; B3B8: BRCLR 0,X,#$C0,LB3BE ; IF BIT 7 & 8 SET ; ; b7 1 = MAN, (0 = TCC) ; b6 1 = TCC (Non Elect xmish) ; B3BC: BRA LB3C7 ; EXIT via RTS ;------------------------------------------------- B3BE: LB3BE JSR LB3C8 ; CK POWER TRAIN MOTION PARAMS B3C1: JSR LB3FB B3C4: JSR LB486 B3C7: LB3C7 RTS ;------------------------------------------------- ;------------------------------------------------- ; CK POWER TRAIN MOTION PARAMS ; ;------------------------------------------------- LB3C8 LDD L019D ;Trans output RPM x 8 CPD L5D1D ;Min RPM for powertrain to be in motion BCC LB3F4 ;Bra if trans output rpm > ; LDD L00CD ;Trans. output speed CPD L5D1F ; 8191.9 RPM VEH SPD MIN ; FOR POWER TRAIN IN MOTION B3D7: BCC LB3F4 B3D9: LDD L00C0 B3DB: CPD L5D21 B3DF: BCC LB3F4 B3E1: BRCLR L0082,#$80,LB3FA B3E5: INC L00FA B3E8: LDAA L5D0C B3EB: CMPA L00FA B3ED: BCC LB3FA B3EF: BCLR L0082,#$80 B3F2: BRA LB3FA B3F4: LB3F4 CLR L00FA B3F7: LB3F7 BSET L0082,#$80 B3FA: LB3FA RTS ;------------------------------------------------- ; ; ; ;------------------------------------------------- B3FB: LB3FB CLR L01C9 B3FE: LDAA L01CA B401: STAA L01CD B404: LDD L01CB B407: STD L01CE B40A: LDX #$019D ; RPM * 8 B40D: LB40D INX B40E: INX B40F: PSHB B410: LDAB L01C9 B413: INCB B414: CMPB L5D0E B417: BEQ LB426 B419: STAB L01C9 B41C: PULB B41D: SUBD 0,X B41F: BCC LB424 B421: DEC L01CA B424: LB424 BRA LB40D B426: LB426 PULB B427: STD L01CB B42A: LDD L019D ; RPM * 8 B42D: ADDD 0,X B42F: PSHB B430: BCC LB43D B432: LDAB L5D0E B435: DECB B436: LSRB B437: ADDB L01CA B43A: STAB L01CA B43D: LB43D LDAB L5D0E B440: DECB B441: LSRB B442: PSHB B443: MUL B444: ADDD L01CA B447: STD L01CA B44A: PULA B44B: PULB B44C: MUL B44D: ADDD L01CB B450: STD L01CB B453: BCC LB458 B455: INC L01CA B458: LB458 LDD L01CA B45B: LSRD B45C: LSRD B45D: LSRD B45E: ADCB #$0080 B460: STAB L01D0 B463: BSET L0081,#$01 B466: LDD L01CA B469: CPD L01CD B46D: BLS LB472 B46F: BCLR L0081,#$01 B472: LB472 LDX #$019B B475: LDAB L5D0E B478: ASLB B479: ABX B47A: LB47A LDD 0,X B47C: STD 2,X B47E: DEX B47F: DEX B480: CPX #$019D ; RPM * 8 B483: BCC LB47A B485: RTS ;------------------------------------------------- ;------------------------------------------------- ; ; ;------------------------------------------------- B486: LB486 LDAB L00D5 ; B488: INCB ; B489: BEQ LB48D ; ; ...else B48B: STAB L00D5 ; B48D: LB48D BRSET L0081,#$02,LB4DD ; ; B491: BRCLR L007F,#$09,LB4E8 ; ; ...else B495: BSET L0081,#$02 ; B498: BCLR L0081,#$91 ; B49B: BCLR L007F,#$12 ; B49E: BRCLR L007F,#$01,LB4A5 ; ; ...else B4A2: BSET L007F,#$02 ; B4A5: LB4A5 BRCLR L007F,#$08,LB4AC ; ; ...else B4A9: BSET L007F,#$10 ; B4AC: LB4AC BCLR L008A,#$08 ; ; B4AF: LDAA L009B ; B4B1: BNE LB4B6 ; ; ...else B4B3: LB4B3 BSET L008A,#$08 ; ; B4B6: LB4B6 LDAA L00D5 ; B4B8: STAA L0181 ; B4BB: CLRA ; B4BC: STAA L00D4 ; B4BE: STAA L00D5 ; B4C0: STAA L00F7 ; B4C2: LDAA #$007F ; B4C4: STAA L00D9 ; B4C6: STAA L00DA ; B4C8: CLRA ; B4C9: LDAB L009A ; B4CB: EORB L0099 ; B4CD: ANDB #$0007 ; B4CF: BEQ LB4D3 ; ; B4D1: LDAA #$0001 ; B4D3: LB4D3 STAA L008B ; B4D5: CLRA ; B4D6: STAA L008C ; B4D8: LDAA L00AC ; B4DA: STAA L018B ; B4DD: LB4DD BRSET L007F,#$01,LB4E8 ; ; ...else B4E1: BRSET L007F,#$08,LB4E8 ; ; ...else B4E5: BCLR L0081,#$02 ; ; B4E8: LB4E8 BRSET L0081,#$80,LB552 ; ; ...else B4EC: LDAA L00D5 ; B4EE: SUBA L00D4 ; B4F0: STAA L00D6 ; ; B4F2: LDAB L00D3 ; GEAR NUMBER B4F4: BRSET L007F,#$02,LB504 ; BR IF b1 B4F8: LDAA L00D5 ; B4FA: LDX #$5FE6 ; B4FD: ABX ; B4FE: CMPA 0,X ; B500: BCS LB552 ; ; B502: BRA LB549 ; ; B504: LB504 LDX #$5FCF ; 2.0 SEC'S TIME SUB'ED PERIOD FOR NEXT LINE B507: ASLB ; B508: ABX ; B509: LDD L01CA ; B50C: BRSET L0081,#$10,LB524 ; ; B510: BRCLR L0081,#$01,LB51E ; B514: CPD 0,X ; B517: BGE LB51E ; B519: BSET L0081,#$10 ; SET b4, B51C: BRA LB52D B51E: LB51E LDAA L00D5 ; B520: STAA L00D4 ; B522: BRA LB52D B524: LB524 BRSET L0081,#$01,LB52D ; B528: CPD 6,X ; B52B: BGT LB543 ; ;----------------------------- ; TCC MODE WD ; ; b6 1 = TCC IS BEING APPLIED ; b5 1 = TCC IS IN LOCK ADJ MODE ; b4 1 = TCC IS IN RELEASE MODE SLIPPING ;----------------------------- B52D: LB52D LDAA L008C ; B52F: BRSET L0085,#$20,LB53B ; BR IF b5, TCC IS IN LOCK ADJ MODE B533: BRCLR L0085,#$50,LB53B ; BR IF NOT b4 & b6, B537: ORAA #$20 ; B539: STAA L008C ; B53B: LB53B JSR LB553 ; ; B53E: LDAA L00D5 ; B540: INCA ; B541: BNE LB552 ; B543: LB543 JSR LB5FE ; ; B546: JSR LEBB1 ; ; B549: LB549 BSET L0081,#$80 ; B54C: BCLR L0081,#$02 ; B54F: BCLR L007F,#$12 ; ; B552: LB552 RTS ; ; B553: LB553 LDAA L008B ; B555: LDX #$5FC5 ; ; B558: LDAB L00D3 ;; GEAR NUMBER B55A: DECB ; B55B: ABX ; B55C: BRCLR L008A,#$04,LB562 ; ; B560: ORAA #$0008 ; B562: LB562 LDY #$601D ; B566: BRCLR 0,Y,#$01,LB574 ; ; B56B: LDAB L00D4 ; B56D: CMPB $004F,X ; B56F: BLS LB574 ; ; B571: BSET L008C,#$80 ; ; B574: LB574 LDAB L00D6 ; B576: CMPB 1,X ; B578: BLS LB57C ; ; B57A: ORAA #$20 ; B57C: LB57C LDAB L00AC ; B57E: CMPB $0030,X ; B580: BLS LB586 ; ; B582: CMPB $33,X ; B584: BLS LB588 ; ; B586: LB586 ORAA #$04 ; B588: LB588 LDX #$5FC5 ; B58B: SUBB L018B ; B58E: BCC LB591 ; ; B590: NEGB ; B591: LB591 CMPB $36,X ; B593: BCS LB597 ; ; B595: ORAA #$0080 ; B597: LB597 BRSET L0083,#$02,LB59F ; ; B59B: BRCLR L0099,#$04,LB5A1 ; ; B59F: LB59F ORAA #$01 ; B5A1: LB5A1 LDAB L00AF ; XMISH TEMP B5A3: CMPB $2E,X ; B5A5: BLS LB5AB ; ; B5A7: CMPB $2F,X ; B5A9: BCS LB5AD ; ; B5AB: LB5AB ORAA #$02 ; B5AD: LB5AD BRCLR L009C,#$03,LB5B3 ; ; B5B1: ORAA #$10 ; B5B3: LB5B3 LDAB 0,X ; B5B5: CMPB L00D5 ; B5B7: BNE LB5BF ; ; B5B9: CMPB L00D4 ; B5BB: BLS LB5BF ; ; B5BD: ORAA #$0040 ; B5BF: LB5BF STAA L008B ; B5C1: PSHX ; B5C2: JSR LE414 ; ; B5C5: PULX ; B5C6: LDAA L008C ; B5C8: BRCLR L0092,#$10,LB5CE ; ; B5CC: ORAA #$0008 ; ; B5CE: LB5CE LDAB L00D3 ;; GEAR NUMBER B5D0: DECB ; B5D1: ABX ; B5D2: LDAB L0181 ; B5D5: CMPB $0040,X ; B5D7: BCC LB5DB ; ; B5D9: ORAA #$01 ; ; B5DB: LB5DB LDAB L009B ; B5DD: CMPB $43,X ; B5DF: BCC LB5E3 ; ; B5E1: ORAA #$02 ; ; B5E3: LB5E3 LDAB L00D1 ;; FILT Vss B5E5: SUBB L0180 ; B5E8: BPL LB5EB ; ; B5EA: NEGB ; B5EB: LB5EB CMPB $46,X ; B5ED: BLS LB5F1 ; ; B5EF: ORAA #$04 ; B5F1: LB5F1 STAA L008C ; ; B5F3: BCLR L008D,#$01 ; ; B5F6: BRCLR L0096,#$20,LB5FD ; ; B5FA: BSET L008D,#$01 ; ; B5FD: LB5FD RTS ; ;-------------------------------------------------- ;------------------------------------ ; TABLE INDEX ; ; 03-11-1996 Dissassemby of BDWM ; ;------------------------------------ B5FE: LB5FE LDY #$B74F ; B602: LDAB L0099 ; B604: ANDB #$06 ; B606: ABY ; B608: LDY 0,Y ; ; B60B: LDAB L00D3 ;; GEAR NUMBER B60D: DECB ; B60E: ASLB ; B60F: ABY ; B611: LDAA L0114 ; B614: BNE LB64D ; ; B616: LDX 6,Y ; B619: LDAA L00AC ; B61B: JSR LF15E ;; 2D LK UP ; B61E: PSHA ; B61F: CLRA ; ; B620: LDAB L00D3 ;; GEAR NUMBER B622: DECB ; B623: ASLB ; B624: LDX #$B76D ; B627: ABX ; B628: LDX 0,X ; B62A: BEQ LB631 ; ; B62C: LDAA L00AC ; B62E: JSR LF15E ;; 2D LK UP ; B631: LB631 PSHA ; B632: TSX ; B633: JSR LD96D ; ; B636: INS ; B637: ADDD #$0040 ; B63A: ASLB ; B63B: TAB ; B63C: ANDA #$0000 ; B63E: ROLB ; B63F: ROLA ; B640: XGDX ; B641: PULA ; B642: CLRB ; B643: IDIV ; B644: XGDX ; B645: TSTA ; B646: BEQ LB64C ; ; B648: LDAA #$00FF ; B64A: BRA LB64D ; ; B64C: LB64C TBA ; B64D: LB64D LDX #$0132 ; ; B650: LDAB L00D3 ;; GEAR NUMBER B652: DECB ; B653: ABX ; B654: LDAB L00D5 ; B656: SUBB L00D4 ; B658: STAB L00D6 ; B65A: STAB 0,X ; B65C: SBA ; B65D: RORA ; B65E: ROLA ; B65F: BVC LB665 ; ; B661: LDAA #$007F ; B663: ADCA #$0000 ; B665: LB665 STAA L00D7 ; B667: STAA 3,X ; B669: LDX #$600E ; ; B66C: LDAB L00D3 ;; GEAR NUMBER B66E: DECB ; B66F: ABX ; B670: LDAA L008B ; B672: LDAB L5FC5 ; B675: CMPB L00D5 ; B677: BCS LB67D ; ; B679: ORAA #$0040 ; B67B: STAA L008B ; B67D: LB67D LDAA L008C ; B67F: PSHX ; B680: LDX #$6017 ; ; B683: LDAB L00D3 ;; GEAR NUMBER B685: DECB ; B686: ABX ; B687: LDAB L00D6 ; B689: CMPB 0,X ; B68B: BCC LB691 ; ; B68D: ORAA #$0040 ; B68F: STAA L008C ; B691: LB691 PULX ; B692: ORAA L008B ; B694: ORAA L008D ; B696: BEQ LB69B ; ; B698: JMP LB74E ; ; B69B: LB69B LDAA #$0001 ; B69D: ANDA L601D ; B6A0: BNE LB6AC ; ; B6A2: LDAA L00D4 ; B6A4: CMPA 6.X ; B6A6: BCS LB6AC ; ; B6A8: LDAA $0C,X ; B6AA: BRA LB6CE ; ; B6AC: LB6AC LDAA #$FF ; B6AE: STAA L00F7 ; B6B0: LDAA L00D7 ; B6B2: CMPA 0,X ; B6B4: BGE LB6BA ; ; B6B6: LB6B6 LDAA 3,X ; B6B8: BRA LB6CE ; ; B6BA: LB6BA LDAA L00D7 ; B6BC: ADDA #$0008 ; B6BE: BGE LB6C1 ; ; B6C0: CLRA ; B6C1: LB6C1 CMPA #$10 ; B6C3: BLS LB6C7 ; ; B6C5: LDAA #$10 ; B6C7: LB6C7 LDX $0C,Y ; B6CA: TAB ; B6CB: ABX ; B6CC: LDAA 0,X ; B6CE: LB6CE STAA L00DB ; B6D0: LDX 0,Y ; B6D3: LDAB L0145 ; B6D6: ABX ; B6D7: LDAB 0,X ; B6D9: EORB #$0005 ; B6DB: ANDB #$0003 ; B6DD: STAB L00D8 ; B6DF: TSTA ; B6E0: BPL LB6FA ; ; B6E2: LDAB L00D9 ; B6E4: BGT LB6E9 ; ; B6E6: CLRA ; B6E7: BRA LB6F8 ; ; B6E9: LB6E9 NEGB ; B6EA: ASLB ; B6EB: ASLB ; B6EC: BCC LB6F8 ; ; B6EE: ADDB L00D8 ; B6F0: SUBB #$0003 ; B6F2: BCS LB6F8 ; ; B6F4: CBA ; B6F5: BCC LB6F8 ; ; B6F7: TBA ; B6F8: LB6F8 BRA LB70B ; ; B6FA: LB6FA LDAB L00DA ; B6FC: BGT LB701 ; ; B6FE: CLRA ; B6FF: BRA LB70B ; ; B701: LB701 ASLB ; B702: ASLB ; B703: BCS LB70B ; ; B705: ADDB L00D8 ; B707: CBA ; B708: BLS LB70B ; ; B70A: TBA ; B70B: LB70B ADDA 0,X ; B70D: BVC LB713 ; ; B70F: LDAA #$007F ; B711: ADCA #$0000 ; ;------------------------------------ ; TABLE INDEX ; ; 03-11-1996 Dissassemby of BDWM ; ;------------------------------------ B713: LB713 LDY #$B74F ; B717: LDAB L0099 ; B719: ANDB #$0006 ; B71B: ABY ; B71D: LDY 0,Y ; B720: PSHX ; B721: LDX $0012,Y ; B724: CMPA 0,X ; B726: BGE LB72A ; ; B728: LDAA 0,X ; B72A: LB72A LDX $14,Y ; B72D: CMPA 0,X ; B72F: BLE LB733 ; ; B731: LDAA 0,X ; B733: LB733 PULX ; B734: TST L0113 ; B737: BNE LB74E ; ; B739: BRCLR L0082,#$08,LB74E ; ; B73D: LDY $16,Y ; B740: TAB ; B741: NEGB ; B742: ADDB 0,X ; B744: ADDB 0,Y ; B747: SEI ; B748: STAA 0,X ; B74A: STAB 0,Y ; B74D: CLI ; B74E: LB74E RTS ;-------------------------------------------------- ;-------------------------------------------------- ; ; ; 03-11-1996 Dissassemby of BDWM Lines= 256 ; ;-------------------------------------------------- ; ;~~~~~~~~~~~~~~~~~~~ ; ;~~~~~~~~~~~~~~~~~~~ ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Addr of set of cells to use ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Cell RAM addr. table ;Shift pattern ; LB74F FDB LB755 ;Normal pattern FDB LB755 ;Performance pattern FDB LB755 ;Manual Pattern ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;-Addr. of adaptive modifier cells for each gear ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; Start addr. ;Gear # ; LB755 FDB L031B ;2nd FDB L031F ;3rd FDB L0323 ;4th B75B LB75B FDB $658F ; DESIRED SHIFT TIME 1 -> 2 SHFT B75D LB75D FDB $65A0 ; DESIRED SHIFT TIME 2 -> 3 SHFT B75F LB75F FDB $65B1 ; DESIRED SHIFT TIME 3 -> 4 SHFT ;---------------------------------------------------------------- ; ADAPTIVE PRESSURE MODIFIER LINE PRESSURE Vs. SHIFT TIME ERROR ; ; ;---------------------------------------------------------------- B761 LB761 FDB $65C2 ; 1 -> 2 SHIFT B763 LB763 FDB $65D3 ; 2 -> 3 SHIFT B765 LB765 FDB $65E4 ; 3 -> 4 SHIFT B767 LB767 FDB $5FFC ; B768 LB769 FDB $5FFD ; B76A LB76B FDB $0327 ; B76C LB76D FDB $6044 ; 2nd GEAR, DESIRED SHIFT TIME ALTITUDE GAIN B76E LB76F FDB $6055 ; 3rd GEAR, DESIRED SHIFT TIME ALTITUDE GAIN B771 LB771 FDB $6066 ; 4th GEAR, DESIRED SHIFT TIME ALTITUDE GAIN ;------------------------------------------------------ ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~ ; LB773 LDX #L400F ;Opt. byte BRCLR 0,X,#$C0,LB77C ;Bra if b7==0, auto trans and b6==0, CC transmission ; ;-Non CC transmission here ; BRA LB78B ;Bra to return ; ;-CC transmission here ; LB77C JSR LB78C ; B77F: JSR LBCED B782: JSR LBDF3 B785: JSR LBD4D B788: JSR LBE8F ; LB78B RTS ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ; ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; LB78C LDAA L0111 ; BEQ LB794 ; ; JMP LBACB ; ; L553B FDB $0099 ; 74, PATTERN, MNP PATTERN ; ; b7 not used ; b6 not used ; b5 not used ; b4 not used ; ; b3 1 = ILLEGAL PATTERN REQUESTED ; b2 1 = "MANUAL" PATTERN REQUESTED ; b1 1 = "PERFORMANCE" PATTERN REQUESTED ; b0 1 = "NORMAL" PATTERN REQUESTED LB794 LDAB L0099 ;Transmission shift pattern word ANDB #$06 ;Clear all but b1=performance pattern req, ;b2=manaul pattern requested LDX #LBB48 ;Addr. of line pressure table(s) for 0-64 mph CLRA ;Preclear A BRSET L009C,#$20,LB7A2 ;Status word, bra if b5==1, trans in reverse ; ;-Here to load MPH ; LDAA L00D1 ;Load MPH ; LB7A2 ASLA ;MPH x 2 BCC LB7A8 ;Bra if <= LDX #LBB4E ;Addr. of line pressure table(s) for 64-128 mph ; LB7A8 ABX ;Add in the offset LDX 0,X ;Load addr. of Line pressure table TAB ;MPH to B LDAA L00AC ;Trans %TPS JSR LF17B ;3D lookup ; LDAB L00D3 ;Gear # DECB ;-1 BRCLR L007F,#$10,LB7B9 ; (???) ; INCB ;+1 ; LB7B9 BMI LB7E8 ;Bra if in first ; PSHA ;Push line pressure to stack LDX #L0115 ; ABX ;Add in gear # as offset LDAA 0,X ;Load BNE LB7E0 ; ; BRCLR L0099,#$06,LB7D0 ;Trans shift pattern word, bra if b2==0, ;manual pattern not selected, and b1==0, ;performance pattern not requested. ; ADDB #03 ;Skip ahead to second set of offset tables ; BRSET L0099,#$02,LB7D0 ;Bra if b1==1, performance pattern requested ; LB7CE ADDB #$03 ;Skip ahead again to third set of tables ; ;-Look up pressure offset vs. %TPS table addr ; LB7D0 LDX #LBB54 ;Pre