![]() Introduction Select Monitor Adapter Subaru Diagnostic Ports How to build a PC adapter Protocol Software Troubleshooting Eavesdropping Engine Control Unit (ECU) Description Reading Error Codes Reverse Engineering Modifying ROM images Transmission Control Unit (TCU) Description Reading Error Codes Reverse Engineering Power Mode Modifying ROM images Other Control Units Air Conditioning Unit 4WS Control Unit Cruise Control Unit OBD2 Information Select Monitor Cartridge Downloads Links to other sites Custom TCU Development |
Subaru 4EAT Power ModeFrom the driver's perspective, the SVX TCU has two modes: Normal mode for normal driving, and Power mode that causes the gears to upshift at higher RPM for times when you want more acceleration. The method for engaging power mode depends on the target market of the car. I believe that other Subaru models with a 4EAT transmission and JECS TCU may have a similar function. JDM carsThe JDM SVX has a switch next to the shifter that engages Normal or Power mode. In addition, Power mode is automatically engaged if you kick down on the throttle pedal. Some JDM owners prefer to keep the switch in Power mode position because it makes the car feel more sporty and responsive even at lower RPMs. I traced the wiring of my JDM car and found that the Power Mode Switch connects pin A4 of the TCU to ground, that is pin 4 of the 1st TCU connector. USDM carsThe USDM SVX does not have a switch for power mode. Power mode can only be engaged by kicking down on the throttle pedal. Nomake Wan examined the wiring on his USDM car and found pin A4 was not connected. So he grounded it to see what would happen. When he put shifter in D, the power mode came on, just like the Japanese cars. Since then, a lot of USDM SVX owners have connected up switches to enable power mode and the feedback has been overwhelmingly positive. It makes the car feel much more responsive and sporty to drive. When writing the program for the USDM TCU, Subaru clearly gave themselves the option of having a Power Mode switch, but for some reason did not follow through to installing it on the car. See these threads on the SVX Network for Nomake's HOWTO and feedback from people who have tried this mod. Power Mode SelectionPower Mode Switch Installed, Very Pleased EUDM carsThe European SVX differs from the others in that it has three modes instead of two. There is Normal mode, Power mode when you kick down on the throttle, and Economy mode activated by a button on the shifter.
The Economy mode switch connects to pin A4 of the TCU. The same pin that is used by the Power mode switch on the JDM cars. The only way to make a Power Mode switch for the European TCU is to reprogram the TCU. I have created a modified TCU ROM that allows European SVX owners to have a Power Mode switch. With my modified ROM installed, Economy Mode is gone and the Economy switch selects either Normal or Power mode. The Australian SVX uses the same TCU ROM as the Euro model and therefore also has Economy mode, but the switch is not wired. If you have an Australian SVX and want to make it more economical, you can wire a switch to pin A4. Alternatively, if you want to make the car feel sportier and more fun to drive then you can use my modified ROM. How it worksGrounding pin A4 of the TCU causes bit 6 (0x40) of address 0x0011 in the TCU memory to change from 0 to 1. The TCU program looks at the value of this bit when deciding which shift mode to use. Below are extracts from the TCU program of JDM, USDM and UK cars. This is the subroutine that determines whether to use Normal or Power mode. I have added comments to make it easier to read. JDM Model
In the JDM code, the command at location e77f says if the Power switch is off, goto e787. Otherwise (ie. Power Switch is on), the program sets the B register to 2 and goes to e7dc. At e7dc it stores the value of the B register at location 005a, which is the variable that indicates which shift map to use. The value of 0x005a is 0 for "Normal Mode", 1 for "Power Mode due to throttle" and 2 for "Power Mode due to switch" USDM Model
In the USDM code, the state of the Power switch is checked when the stick is in D or when the manual switch is OFF and the stick is in 1, 2 or 3. In this case the value of 0x005A is 0 for normal mode and 1 for power mode, regardless of how power mode was engaged. UK Model
In the UK code, you can see that the Economy switch prevents the Power Mode from being engaged by kickdown of the throttle. When the Economy switch is on, the mode gets set to "Normal" and the subroutine exits. But there is more to Economy mode than that. Elsewhere in the program, the Economy switch is checked again and a different shift map is used if Economy Switch is engaged. Modified UK TCU
Rather than having a separate "clrb" for each possible execution path, I have put a single one at the start, and I have changed the destination of the "brset" instruction to go directly to e65d. This creates a few bytes of space where I can insert the extra code. The instruction at e608 says, if the economy switch is on, goto e610, which carries out the normal processing - power mode on kickdown. However, if the ecomony switch is off, the instruction at e60c will set the B register to 2 and go to e65d, which stores the value of the B register at location 005a. Power mode engaged. In another part of the program, I have removed the Economy mode shift map. The TCU will use the Normal mode shift map when the Economy Switch is on. You can download the modified firmware from the ROM images page. See the TCU modifying page for instructions on how to replace the TCU ROM. |