More patches available online at chROM
Please read the whole document carefully
Instructions - applying the patch
Important: You need to have the latest EcuFlash version and ECU definitions installed in order to be able to edit the feature parameters. Also make sure you have set the user level to developer.
Images shown below are just for reference, actual data may differ
If you will be using a stock ROM you can skip this part and go to the Patching steps below. If you already have a patched ROM file and you wish to use that, you must first unpatch the ROM.
Unpatching
- Place the contents of the patch package you wish to unpatch in a folder of your choice
- Open your patched ROM file in EcuFlash
- Set all patch parameters to zero (0)
- Save ROM file and exit EcuFlash
- Navigate to your EcuFlash XML folder (on a typical installation that is C:\Program Files\OpenECU\EcuFlash\rommetadata\subaru\)

- With a text editor (e.g. notepad) open the file named xxxxxxxx.xml (where xxxxxxxx is your specific ROM internal id)
- Navigate to the end of the file
- Remove all text related to patch parameters before the “</rom>”

- Save and exit
- Copy this ROM file to the same folder as above
- Make sure your ROM image file has a .hex extension (change/rename extension if needed)
- Run unpatch.bat
- Proceed with on screen instructions
- Process is succesfully finished only if message "Unpatched xx bytes" is displayed
- Now you can use this ROM file for futher patching
Patching
- Extract downloaded patch .zip file into a seperate folder, now you should have these files:
- TinyPatcher.exe
- Patch.bat
- UnPatch.bat
- patch.dif
- ecuflash xml.txt
- Into the same folder place a copy of your ROM image file.
- IMPORTANT: Only RAW binary ROM images are supported
- IMPORTANT: 16bit ROM images must be 192K
- If you are familiar with command line interface, navigate to above folder and use “TinyPatcher.exe [your rom filename] patch.dif”, then go to step 6
- If you will be using the batch file make sure your ROM image file has a .hex extension (change/rename extension if needed)
- Double click on Patch.bat, a command window will appear, then follow on screen instructions to apply the patch
- If process finishes without any error message(s), your ROM image file is patched and ready to be used
- For the final steps, you need to add the new parameters into the XML file. With a text editor (e.g. notepad) open the file named “ecuflash xml.txt”. Select all the available text and copy to the clipboard. Close the file

- Navigate to your EcuFlash XML folder (on a typical installation that is C:\Program Files\OpenECU\EcuFlash\rommetadata\subaru\)

- With a text editor (e.g. notepad) open the file named xxxxxxxx.xml (where xxxxxxxx is your specific ROM internal id)
- Navigate to the end of the file and just before the “</rom>” paste the text you copied before. Save and close

- Open EcuFlash and your patched ROM. If you see the message below make sure you answer YES

- New patch maps should be available and visible like in the screenshot below, if they don't appear it probably means you have not copied the xml parameters properly. Follow steps 7-10 carefully

- Ready!
Multi function patch
This patch offers many and unique functions. The priority of the executed functions affecting the rev limiter is the following
- Rev-protect
- Valet mode
- Launch control
Rev-protect
The purpose of this feature is to restrict the maximum RPM limit the engine can reach depending on the coolant temperature.
This is useful to assist you in avoiding racing the engine when it is not properly heated
Set your desired value of Rev-protect RPM delta and coolant temp threshold in your ROM
IMPORTANT NOTICE: Rev-protect RPM Delta is an offset to the normal rev limiter
To disable this function set the parameters as follows:
Rev-protect RPM delta = 0
Rev-protect coolant temp threshold = -40
Valet mode
The purpose of this feature is to restrict the maximum RPM limit the engine can reach.
This is useful in various situations e.g. where you let someone else drive your car.
Set your desired value of Valet RPM delta in your ROM
IMPORTANT NOTICE: Valet RPM Delta is an offset to the normal rev limiter
Effectively rev limit = rev limit - Valet RPM delta,
the higher the Valet RPM delta value the lower the actual rev limit becomes, the lower the Valet RPM delta value the higher the rev limit becomes.
To toggle the valet mode at anytime while stationary, perform the following sequence:
- Make sure the engine is OFF, turn the key to the on/ign position, DO NOT START THE CAR
- Set the rear defog switch to OFF
- Fully HOLD down the accelerator pedal
- Set the rear defog switch to ON
- Release accelerator pedal
- Set the rear defog swtich to OFF
- Valet mode toggle is complete
Launch control
The purpose of this feature is to allow you to hold your foot planted to the throttle while stationary and forcing an RPM delta (offset to real rev limit) that allows the car to hold a user desired rev limit and launch with as much less wheelspin as possible when releasing the clutch.
Of course this RPM limit must be disabled after the car has reached a specified speed threshold.
The actual logic/algorithm is like this:
read vehicle speed
if vehicle speed > speed threshold then
no adjustment to real RPM
else
adjust real RPM by RPM delta
pass control to rev limiter check (fuel cut)
Effectively rev limit = rev limit - LC RPM delta, the higher the LC RPM delta value the lower the actual rev limit becomes, the lower the LC RPM delta value the higher the rev limit becomes.
Set your desired value of LC RPM delta in your ROM
IMPORTANT NOTICE: LC RPM Delta is an offset to the normal rev limiter
To disable this function set the parameters as follows:
LC RPM delta = 0
LC disable speed threshold (KMH or MPH) = 0
Lets see some examples and interesting extra features
Launch control enabled, from stationary to 10km/h
rev limit is 7200rpm
LC speed threshold=10km/h
LC RPM delta=1700rpm
rev limit will be 5500rpm (7200-1700) till vehicle reaches 10km/h
Valet mode
rev limit is 7200rpm
LC speed threshold=255km/h
LC RPM delta=3200rpm
rev limit will be pegged to 4000rpm (7200-3200)
Normal operation (feature disabled)
rev limit is 7200rpm
LC speed threshold=0km/h
LC RPM delta=0rpm
no change to rev limit (7200-0)
Stationary rev limit
rev limit is 7200rpm
LC speed threshold=0km/h
LC RPM delta=3200rpm
rev limit will be 4000rpm only when stationary (7200-3200)
Wastegate + boost map switching
The purpose of this feature is to allow you to switch between two different boost and wastegate maps
These are the tuneable switchable maps (Primary/Alternate)
- Primary target boost (BAR/PSI). This is the map that used by default when your first flash it to your car or switch from alternate or anytime you perform a RESET.
- Alternate target boost (BAR/PSI). This is the alternate target boost map used when you switch from primary
- Primary max wastegate duty. This is the map that used by default when your first flash it to your car or switch from alternate or anytime you perform a RESET.
- Alternate max wastegate duty. This is the alternate max wastegate duty map used when you switch from primary
To switch maps at anytime while driving perform the following sequence:
- While driving, set the rear defog switch to OFF
- Select 4th or 5th gear, reduce engine RPMs to 2000 or lower
- While fully HOLDING down the accelerator pedal, set the rear defog switch to ON
- Map swithing is complete
IMPORTANT NOTICE: BE EXTRA CAREFUL when switching maps, as switching is almost instant