Page 2 of 2
Re: WOT Voltage?
Posted: Tue Jun 19, 2012 12:22 am
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
Re: WOT Voltage?
Posted: Thu May 15, 2014 11:47 am
by Matt
Old thread. Adding new table to Nistune to support TPS_IDLE_POSTION table
Re: WOT Voltage?
Posted: Thu Oct 02, 2014 10:08 am
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