WOT Voltage?

Nistune topics related specifically to the 6303 cpu

Moderator: Matt

Matt
Site Admin
 

Posts: 8961
Joined: Sun Jan 29, 2006 1:45 am
Location: Adelaide, Australia
Contact:

Re: WOT Voltage?

Post by Matt »

Yep same code I was looking at
ROM:951B ldaa #$FF
Gets put into TP when looking at the SR20DET ECUs and confirmed on h/w tracing
Matt
Site Admin
 

Posts: 8961
Joined: Sun Jan 29, 2006 1:45 am
Location: Adelaide, Australia
Contact:

Re: WOT Voltage?

Post by Matt »

Old thread. Adding new table to Nistune to support TPS_IDLE_POSTION table
Matt
Site Admin
 

Posts: 8961
Joined: Sun Jan 29, 2006 1:45 am
Location: Adelaide, Australia
Contact:

Re: WOT Voltage?

Post by Matt »

Old thread, brought up by Andrew going over the F530 TPS referenced table

Code: Select all

CA0C        LCA0C:
CA0C : B6 14 73             ldaa    RPM_IDX
CA0F : CE F5 30             ldx    #ROM_F530_TPS_AF_Alpha
CA12 : BD 80 EF             jsr    JSR_80EF_Interpolate16xtable           ; Gets index into table
CA15 : 7B 01 D8             tim    #$01RAM_00D8_Flag                      ; Checks if flag has been set
CA18 : 27 05                beq    BRA_CA1F_Over
CA1A : 80 0A                suba    #$0A                                  ; Flag was set so subtracts 10 (50mv) for hysterysis
CA1C : 24 01                bcc    BRA_CA1F_Over
CA1E : 4F                   clra                                          ; Underflow (clears A)
CA1F                BRA_CA1F_EngineOver:
CA1F : B1 15 DF             cmpa    TPS_POS_ADJUSTED                      ; Not set then check TPS > table value
CA22 : 22 05                bhi    BRA_CA29_Next
CA24 : 72 01 D8             oim    #$01RAM_00D8_Flag                      ; Not higher set flag
CA27 : 20 03                bra    LCA2C
                ;
CA29                BRA_CA29_SetNext
CA29 : 71 FE D8             aim    #$FERAM_00D8_Flag                      ;  Yes higher clear flag
Now checking the interpolation routine that uses this flag:

Code: Select all

811F                 JSR_811F_InterpolateMap:
811F : FE 14 0A            ldx    RAM_140A_CONSULT_RPM_MSB                ; Gets RPM index to fuel map
8122 : DF 6A               stx    RAM_006A_RPM_MSB_Copy1
8124 : FF 15 90            stx    RAM_1590_RPM_MSB_Copy2
8127 : 7B 40 80            tim    #$40RAM_0080_interp_flags(40=RPM_or_TP) ; Checks first flag to use TP
812A : 27 0A               beq    L8136
812C : 7B 01 D8            tim    #$01RAM_00D8_Flag                       ; Checks flag set from AF/Alpha above/below to use TP
812F : 27 05               beq    L8136
8131 : CE FF FF            ldx    #$FFFF                                  ; Above AF/Alpha values so TP=MAX (last column)
8134 : 20 03               bra    L8139
                ;
8136                L8136:
8136 : FE 14 8C            ldx    RAM_148C_TP_MSB                         ; Below AF alpha so use normal TP indexing
8139                L8139:
8139 : DF 6C               stx    RAM_006C_TP_MSB_Copy1
813B : FF 15 92            stx    RAM_1592_TP_MSB_Copy2
This table is not used for TPS idle but used as the ADD_FUEL table which makes the ECU use the last column of the fuel map on wide open throttle acceleration. Not enough code was pursued previously when assuming the function of this table

RAM_00D8_Flag is used by the ECU code to set whether to check the AF/Alpha flag or not

Basically fuel maps it uses the flag to then check the AF/Alpha table vs TPS postion. This is not used in the timing maps so this flag is disabled, since the interpolation routine is used by both fuel and timing
Post Reply