14CUX Toolkit V1.0

14CUX Toolkit V1.0

Author
Discussion

Workshop15 Ltd

Original Poster:

21 posts

127 months

Tuesday 17th September 2013
quotequote all
Edit......

Latest version here (currently 1.2).... Click me .... 18/09/13 - V1.2 Added display of ID('s) of the rom(s).



******************************************************************************************************************************************************

Please Read 19/09/13

Just to point out, I am not looking to step on anyone's toes with this software, I am not looking to make a new "Rovergauge" just make the process of manipulating roms/images to put onto a 14CUX an easier task, it's all a bit of a pain at the moment wink The more people doing this means we all get better maps and understanding wink

I have no intention of charging for this software, but please understand, I am doing this in my free time and updates may be a bit "sporadic", I know a "nudge" screen comes up every 10 times you run it, you can just click "OK" and off you go again, I won't be offended wink

******************************************************************************************************************************************************





Hello, I am new here, but have been lurking a while wink

I see the manipulation of images, especially checksums is a a bit of a pain, so I have knocked up a small program "14CUX Toolkit" to deal with checksums and Duplicate the image to fit onto a 27C256.

Please Click the link at the top of the post for the latest version wink

Use the top right "Download" link, you may have to try it twice and suffer the advert frown Unless a kind admin can attach it to this message wink(not sure if it's possible on this forum).

You will need .net 4 (this should be on most computers from win7)

I have "Corrected" the checksum by manipulating location 0x0000(first image), and 0x4000(second image), from.....
stevesprint said:
d. Now the trick is to change the first byte in mods.bin so jacksum returns a checksum of 1

If this is incorrect, please let me know and I can re-code it!

I have cross-checked my program by using HxD Click me, it seems to work correctly but please be aware, this is an "as is" program, use at your own risk, and please let me know of any bugs/issues/small fires caused by this wink

I have downloaded this using another computer, as the program needs the registry to "remember" your End User License Agreement (EULA) you need to run the program as an administrator. If you don't you will be nagged every time you start the program, this is NOT an attempt to annoy you, just run as administrator and you will only have to agree to the EULA once.

This link.... Click me... will show you how to allow a program to run as an administrator.

If there is any interest in this program I may expand/improve it to cover maps etc.

Please let me know how you get on!



Regards


Matt smile

stevesprint said:
3. Reset the checksum to 1, Stops the checksum error code
Technically you should reset the checksum to 1 every time you make a change to the chip and therefore I’m going to suggest you do. However I don’t always especially when I’m experimenting with a quick change. I’ve proved the checksum error is NOT the code of death but merely an indication that your tune chip has been altered. I would certainly reset the checksum to 1 once I’ve finished testing my alterations.

To set the checksum to 1 you need to run a program called jacksum on one copy of the code and data in a 16K file which is why I suggest saving the image at the start with RoverGauge.
a. Check mods.bin is still 16,384 bytes long.
b. Download and Install jacksum from http://www.jonelo.de/java/jacksum/
c. Run jacksum from the command line as follows “jacksum -a sum8 mods.bin”, it requires Java runtime that you’ll probably already have installed.
d. Now the trick is to change the first byte in mods.bin so jacksum returns a checksum of 1, you can use Colin’s formula or logical trial and error. If you use trial & error make notes as you guess and you’ll soon see how it works.

4. Duplicate the image
If you remember from step one the code/data is duplicated on the chip so run the following from the command line to duplicate the code/data image:-
copy /b mods.bin+mods.bin mods2.bin


Edited by T2000V8 on Thursday 19th September 09:38


Edited by T2000V8 on Thursday 19th September 09:41

Workshop15 Ltd

Original Poster:

21 posts

127 months

Wednesday 18th September 2013
quotequote all
Hello again...

Already onto V1.1 wink

I have updated the checksum locations for both roms to offset 0x3FEB, sorted a few bugs, and added a file name window so that you can see what file you are working with.

The V1.1 can be grabbed here.....Please Click the link at the top of the page on my first post for the latest version wink

I will have a look later this week ref the ability to select top or bottom rom image to save (as a single image).

I also have a little, simple, hardware mod I am working on to give the ability to switch remotely between 4 maps live (i.e. not a resistor mod hack). I will update when I know it works properly and have some pictures.

Regards


Matt smile


stevesprint said:
Workshop15 Ltd
What a brilliant little utility, thanks. It will certainly make life much much easier for anyone trying to remap their car or just tweak their idle speed etc.

Sorry, but after my original post the checksum fixer address has now be confirmed to be 0x3FEB and as you know duplicated to 7FEB.

You can see the new confirmed address on Danbourassa post near the bottom of this page.
http://www.pistonheads.com/gassing/topic.asp?h=0&a...

Maybe a future development could be an option to chop a 32k image in half ready for editing or to be more precise remove the top copy. On my first attempt I was making changes to the top copy and wondering why the changes had no effect.

Thank you in anticipation
Steve
Edited by Workshop15 Ltd on Wednesday 18th September 09:37


Edited by T2000V8 on Thursday 19th September 09:43


Edited by T2000V8 on Thursday 19th September 20:48

Workshop15 Ltd

Original Poster:

21 posts

127 months

Wednesday 18th September 2013
quotequote all
Now onto V1.2! smile

Click here....Please Click the link at the top of the page on my first the post for the latest version wink Have added display of ID('s) of the rom(s).


Regards


Matt smile


Workshop15 Ltd said:
Hello again...

Already onto V1.1 wink

I have updated the checksum locations for both roms to offset 0x3FEB, sorted a few bugs, and added a file name window so that you can see what file you are working with.

Edited by T2000V8 on Thursday 19th September 09:43

T2000V8

Original Poster:

21 posts

127 months

Thursday 19th September 2013
quotequote all
SILICONEKID343HP said:
The best tool for the 14CUX is a lump hammerlaugh
Maybe wink But if I had to replace my standard "free" ECU and wiring loom, with say a megasquirt/trigger wheel and sensor install/coil packs and leads/map sensor fitting/teething problems etc etc etc....... it will become an expensive (for me anyway) lump hammer! wink

Don't get me wrong the MS/Emerald are much better ECU's, well supported etc.... but in a way that's part of the problem for me, I like to tinker and disassemble electronics and code, it's all been done with these, not as much adventure/frustration/despair in it for me wink

I need to spend what little spare "play money" I have on keeping my car running, it's 41 years old and is a bit like an old person, it forgets it's supposed to be a car and not a stationary museum piece wink I drive it every day to work (about 40miles round trip) wink

I am in the process of getting everything together for my RV8 (3.9) "upgrade". However my friend has a 3.9 4WD off road trails motor to test my code/theories on wink

Which brings me on to the "correct" place to put these posts, my car is a 1972 Triumph 2000 (MK2), but I am VERY interested in the 14CUX stuff and this seems to be the place it's happening wink Does anyone have any issues with me posting here? If so, where would you recommend I post the 14CUX stuff?

Regards


Matt smile

Edited by T2000V8 on Thursday 19th September 09:27

T2000V8

Original Poster:

21 posts

127 months

Thursday 19th September 2013
quotequote all
Thanks Steve,
I will try and implement some/all of these for you, it will be a couple of days, I have some "work" to do wink

stevesprint said:
P.S. I hope you don't mind me asking what 14CUX vehicle do you have?

Of course not, it's a 1972 Triumph 2000 (MK2), I am in the process of gathering all the RV8 stuff I need, will be fitted soon wink


Regards


Matt smile

stevesprint said:
Wow, that was quick and you’ve added the revision ID, well done & thanks. I'll certainly be using your program from now on and I know a few others that will also use it.

Your program will enable less techy people to modify their own settings as your program handles the code/data duplication and checksum issues. You could even add some screen validation to make it safe for people to modify their PROM.

It shows you are serious about adding more functionality like the fuel maps so don’t let me stop you, their are 5 maps with older and newer addresses. You could start with something simple like the idle speed that is at the addresses below.

$0176 - base idle (TVR 900rpm is 0x0320) (Land Rover 700rpm ish 0x0258)
This could have screen validation to limit the first byte 1 to 5.

The following idle adjusters can also be used to change the base idle speed. Mark (Blitzracing) has connected his cooling fan to the screen heater input so his idle increases when his large fan kicks in.

$0159: Neutral gear & Manual gearbox (0x0064)
$015B: A/C compressor (0x0032)
$01E9: Screen heater (0x0000)

Thanks again for your toolkit, it's just what I needed.smile
Cheers Steve
P.S. I hope you don't mind me asking what 14CUX vehicle do you have?

T2000V8

Original Poster:

21 posts

127 months

Thursday 19th September 2013
quotequote all
Wow, thanks for that Steve smile a real inspiration! Yes, that's what I am aiming for smile

I have the engine and a 4 speed Jag auto box, just getting the funds together to get it fitted, hopefully will be happening next month (fingers crossed).

I am re-looking at the whole layout, looking at TunerPro (awesome software) I think I would like to create a simple interface for just tweaking a few settings, base idle, software lock, checksum fixer, simple Rom splitter and assembler etc. Again, this is not an attempt to re-invent the wheel, I can't see me trying to replicate/improve on TunerPro. I would like to make a V8 14CUX specific program to make assembling/testing of RV8 Roms easy.

Referring to other posts I tend to agree that messing with maps needs some more understanding than "point and click" software (which is all I am trying to achieve). TunerPro has the Map side of things more than expertly covered, if anyone wants to change these, it looks like that's the way to go wink

If you (or anyone else) have any more setting address you would like me to included, let me know, I will see what I can do wink

Thanks for everyone's encouragement, I think I now have a clearer vision of what I would like to achieve here.


Regards


Matt smile

stevesprint said:
Matt

You mean something like this? I spotted at Gaydon 10 years ago at a huge Triumph show and I mean hundreds & hundreds of Triumphs, I was there in a Triumph TR7 V8 3.9 with 14cux!!!


Matt, seriously don’t bust a gut adding features to your toolkit on my behalf, but it is a cool idea and you did mention adding fuel tables. I’m just delighted I can now very quickly and easily fix the checksum.

YES, this is certainly is correct place for 14CUX stuff since every Griffith & Chimaerea left the factory with a 14CUX. Also we are all very very grateful for your contribution to this effort.
Cheers Steve

T2000V8

Original Poster:

21 posts

127 months

Friday 20th September 2013
quotequote all
stevesprint said:
Matt
Road speed limit
Overrun cut off (for increased sound effects)
Copy/paste fuel tables (for example from map 2 to map 5)
Steve
Hello Steve,
Do you have the addresses for these locations? Is there a document that covers all the know ones?

I can't seem to PM yet, I think I read somewhere I have to wait 2 weeks (maybe that's wrong?) frown

Can you please try sending me a PM? I have something I want to mention to you.

Regards


Matt smile

T2000V8

Original Poster:

21 posts

127 months

Thursday 26th September 2013
quotequote all
Thanks Steve smile

Ok, just so I can be totally clear in my mind about these values can you please confirm what I think this data means....


stevesprint said:
New Map 2 New Map 5
length Offset Offset
Main fuel map row 1 16 379 6AF
So I interpret this as.....

8 bytes starting at location (offset) 0x379 for map 2 or 0x6AF for map5, is that correct?


Assuming map 5, we get the temp from...

danbourassa said:
Excluding the main fuel map, the top row is always the coolant sensor count value
and this tells the software what column of data to use.
Offset for this is not shown, so from "a location", we then compare the temp value to match (or greater than) the value stored in these 16 locations, use this offset 0-16 to decide what fuel map column to use.

For example, if the calc'd offset of the temp is 2, we would use the 8 bytes of the fuel map reading a "Column 2 map 5" from locations, 0x6B1,0x6C1,6D1,0x6E1,0x6F1,0x711 and 0x721

This then gets "manipulated" by a 16bit value stored at 0x731 and 0x732

Is this correct so far?

So looking at the above we only have 8 injector values to play with per "map column in play", I assume the "in between" values are interpolated between the 2 map points, is this correct?

My head is spinning a little now wink

Can you also please explain a bit about the over-run value Steve? What is this and how does it work, I assume it's some sort of delay time for ramping-down the points on the map to push more fuel into the exhaust and give a more "manly" popping noise.... or is there a more "enineeringey" reason for this being here wink

I think that will do for now smile


Regards





Matt smile






stevesprint said:
Matt
Here's the full fuel map structure & offsets for newer Proms maps 2 & 5

For further information and see where I copied the structure from please see Dans post at
http://www.pistonheads.com/gassing/topic.asp?h=0&a...

Next I'll work out the offsets for maps 2 and 5 on older Proms.

danbourassa said:
I want to mention to Steve and others who may want to experiment, that the tables in
the fuel map are not nearly as complicated as would seem at first glance.
Excluding the main fuel map, the top row is always the coolant sensor count value
and this tells the software what column of data to use. Only one column is
in play at any given engine temperature.
For example, if the coolant temp count reads 0x23 (approx 190 deg F),
only the second column would be in play (the next column to the right of this value).
So, using the example below, if you want to tune a fully warmed engine,
you are now down to just 5 values to be concerned about.

New Map 2 New Map 5
length Offset Offset
Main fuel map row 1 16 379 6AF
Main fuel map row 2 16 389 6BF
Main fuel map row 3 16 399 6CF
Main fuel map row 4 16 3A9 6DF
Main fuel map row 5 16 3B9 6EF
Main fuel map row 6 16 3C9 6FF
Main fuel map row 7 16 3D9 70F
Main fuel map row 8 16 3E9 71F

Fuel multiplier 2 3F9 72F



6 x 10 table is used to calc the throttle pot direction & rate (the 1st derivative)
the resultant value is offset by adding 1024, stored at 0x005D/5E and ultimately used
to dynamically adjust the fueling
coolant temp 10 3FB 731 low is hot, high is cold
Throttle opening 10 405 73B
Throttle closing 10 40F 745
Throttle opening 10 419 74F
Throttle opening 10 423 759
Throttle closing 10 42D 763

3 x 12 table is used by the coolant temperature routine
Coolant temp 12 437 76D low is hot, high is cold
Cranking fueling 12 443 779 above zero deg F
Time fueling 12 44F 785 1 Hz countdown

3 x 8 table calculates an adjustment factor based on engine temperature
Coolant temp 8 45B 791
Multiplier values 8 463 799
Addition value 8 46B 7A1




ADC control list 16 473 7A9

Calc fuel map row 1 483 7B9
RPM safety delta 1 484 7BA (7500000/(1212+15) = 6112 RPM)
RPM safety limit 2 485 7BB (7500000/1212 = 6188 RPM)
Fuel map value 1 487 7BD
Coolant threshold 1 488 7BE
Todo 1 489 7BF Dan when you're ready (only joking)
Multi abs throttle 1 48A 7C0


Edited by stevesprint on Wednesday 25th September 23:33

T2000V8

Original Poster:

21 posts

127 months

Monday 30th September 2013
quotequote all
PeteGriff said:
I run Apple machines so need a PC based system to operate the Rover Gauge software, then I can start dabbling!! Regards, Pete
Can you not run this in "Bootcamp" on your Mac?

Regards


Matt smile

T2000V8

Original Poster:

21 posts

127 months

Wednesday 2nd October 2013
quotequote all
stevesprint said:
Matt
........I personally think you should aim your toolkit at the home user wanting to copy complete data structures from one revision to another or from cat to non cat and visa versa. You could include changing the idle in decimal as it an easy fix for a common problem when transplanting an off road engine into a performance car. I’m very sorry if you think I’m speaking out of turn but changing all the settings below is best left to TunerPro.


Edited by stevesprint on Tuesday 1st October 12:20
I couldn't agree more Steve, I have re-started the project from scratch to try and accommodate all of the things we have talked about, whilst keeping it simple to play with.

I do have a question that will help shape how this looks, the 5 maps (selected by a resistor), can these be selected "on the fly" or is the resistance only read on power-up reset of the ECU. I.E. If starting on "MAP2" with the correct resistance, if the "MAP3" resistance is substituted during run time, will the ECU stick with "MAP2" until the engine is re-started (ECU re-powered).

Also can you please clear up how the over-run value works? I understand it makes the car sound sexy, but what is the "engineering" purpose of this value and how is it implemented/work?

Regards


MATT smile

T2000V8

Original Poster:

21 posts

127 months

Friday 4th October 2013
quotequote all
stevesprint said:
Matt
I personally like your version 1.2 with the two “Fix Bad Checksum” buttons but I guess it’s confusing and unnecessary for non-techie people.
Don't worry, that's staying wink I want to make it easier to "Mix and match" maps etc, it's more of a layout change + features rather than removing the good stuff already there smile

stevesprint said:
The real purpose of the overrun is to save fuel when the engine overruns.
Sounds good to me, my car is an everyday (40 miles to work and back) car so this will be useful to me smile

stevesprint said:
I believe the overrun set point is either in the data near the idle settings or hard coded.
The value that you wanted me to include on the Toolkit, I thought this was known? Or am I getting myself confused (again!) here?

Regards



Matt smile



T2000V8

Original Poster:

21 posts

127 months

Sunday 13th October 2013
quotequote all
stevesprint said:
Matt,
Here’s a list of features with offsets you may wish to consider and leave the Tuning to TunerPro.
Change open loop RPM point     7,500,000/ 2 bytes at offset 00A7
Force open loop Set offset 0099 to non-zero forces open loop
Adjust idle speed 2 bytes at offset 0176
Adjust RPM limit set in each fuel map see 'Graphic Interface' page 11
Copy complete data structure See Colin’s post in 'Graphic Interface' page 10
Adjust road speed limit unknown
Overrun set point unknown
Dan/Colin - please correct me if I’ve got anything wrong
Sorry Steve I have been very busy the last 2 weeks with work and getting my 2000 ready for the conversion. I will hopefully get onto this again next week smile


Regards



Matt smile