Motronic 2.10.3 (SAAB)

Bosch Motronic etc ECUs and PCMs
User avatar
flaset
Posts: 16
Joined: Mon Jan 15, 2018 8:42 pm
cars: SAAB 9-3 Aero -02, SAAB 900T16 Cab -89 & SAAB 900T8 -85
Location: GOT, Sweden

Motronic 2.10.3 (SAAB)

Post by flaset »

Hi guys!
I'm working on a XDF for the SAAB Motronic 2.10.3 "0261204400_1037358528" and need some help figuring out how to calculate the axis scalars since they seem to differ a little bit from other Bosch code I've worked with...?
The bin is actually read from the ECU using tunerproRT and the Motronic kwp71 plugin found on this page, seems to works fine.

For example, we know basics that;
36 - Batt, Volt. x*0,0704
38 - ECT x*-80
3B - RPM *40
40 - Int. Load
4B - MAF?
54 - Ign.Adv x*(-0,75)+78 (Deg)

But in this 2.10.3-file you can find values like;
03
33
36
37 - ECT?
3a - RPM? (256-x)*40 ?
3f - LOAD?
5c
6d
8b

I would really appreciate some help, if someone is interested and got the time, i have the bin-file, a "starter-xdf" with all maps from pointer-map in it, and also a txt-file with copy-pasted adresses and hex-values for each map like;

cb b7 - 37 04 1f 2f 5d 41 0a 0a 0a 0a (CBBD)
cb c1 - 8b 04 0a 14 28 ba 20 0a 0f 0f (CBC7)
cb cb - 37 05 10 26 38 2b 63 0b 0b 0b 0c 0d (CBD2)

Thanks in advance

BR
Andreas J
9³ Aero SS -03, 9³ Aero Coupé -02, 900T16 Cab -89 & 900T8 -85 on garaget.org website
User avatar
festy
Posts: 1039
Joined: Sat Apr 30, 2011 6:27 pm
cars: Alfa Romeos
Location: Narellan, NSW

Re: Motronic 2.10.3 (SAAB)

Post by festy »

What model Saab used a Motronic M2.10.3? Was it the the 9000 built on the Tipo 4 platform?

Post up your bin and XDF if you can, I'd be interested in taking a look at it.
If the base code is similar to one of the Alfa bins of the same ECU series, I might be able to work out most of your missing ram labels pretty quickly.
User avatar
flaset
Posts: 16
Joined: Mon Jan 15, 2018 8:42 pm
cars: SAAB 9-3 Aero -02, SAAB 900T16 Cab -89 & SAAB 900T8 -85
Location: GOT, Sweden

Re: Motronic 2.10.3 (SAAB)

Post by flaset »

festy wrote:What model Saab used a Motronic M2.10.3? Was it the the 9000 built on the Tipo 4 platform?
It was used in the "new generation" 900, between modelyears 96->98 N/A engines, I think.
I'll try to attach these files later this afternoon.

EDIT: I've been glancing at some Alfa stuff, but I think I haven't found so much similarities....?

Thanks!
//
Andreas
Last edited by flaset on Wed Jan 17, 2018 4:13 am, edited 1 time in total.
9³ Aero SS -03, 9³ Aero Coupé -02, 900T16 Cab -89 & 900T8 -85 on garaget.org website
User avatar
flaset
Posts: 16
Joined: Mon Jan 15, 2018 8:42 pm
cars: SAAB 9-3 Aero -02, SAAB 900T16 Cab -89 & SAAB 900T8 -85
Location: GOT, Sweden

Re: Motronic 2.10.3 (SAAB)

Post by flaset »

Here's the binary and the basic xdf, there are still many many mapadresses left to insert, but it may be a starter for those who's intrested in helping me out, or just for their own knowlege..

If there's some questions I'll try to answer them as good as I can.

BR
Andreas
Attachments
motronic_2.10.3.xdf
(96.22 KiB) Downloaded 459 times
pointers_0261204400_2.txt
(15.31 KiB) Downloaded 450 times
0261204400_1037358528.bin
(128 KiB) Downloaded 461 times
9³ Aero SS -03, 9³ Aero Coupé -02, 900T16 Cab -89 & 900T8 -85 on garaget.org website
User avatar
festy
Posts: 1039
Joined: Sat Apr 30, 2011 6:27 pm
cars: Alfa Romeos
Location: Narellan, NSW

Re: Motronic 2.10.3 (SAAB)

Post by festy »

Looks like a good start there :thumbup:
You said you used Tuner Pro to download the bin - did the ECU report its hardware and software ID correctly?
Are you able to try downloading the bin again, but this time in the Plug-in settings in Tuner Pro, uncheck the 'Read/write data only' option?
Otherwise the program section is skipped during download, which makes bin and checksum identification pretty hard ;)
Also I see it tried to download up to 128k which would have taken a long time, if you load an XDF (even a blank one) with the bin size set to 0x10000 in the header, it will only download 64k which looks to be the correct size.

I can't identify the ram addresses because the program section isn't in the bin, but I can take a few guesses based on common values.

03h is probably a transient delta, maybe AE? It could also change, i.e. it could represent AE in one table, and something different in others.
37h is most likely CTS
3Fh is load
5Ch is probably dwell - if that's right, then I would assume it should be getting its value from the table at CA18h.

I ran your bin through my XDF tool after making a couple of assumptions about addresses, the XDF is attached. Don't assume that any of it is correct, my program makes a lot of guesses and assumptions, and often gets things wrong :oops:
Attachments
0261204400_1037358528.xdf
added checksum details
(223.85 KiB) Downloaded 426 times
Last edited by festy on Thu Jan 18, 2018 12:29 pm, edited 1 time in total.
User avatar
flaset
Posts: 16
Joined: Mon Jan 15, 2018 8:42 pm
cars: SAAB 9-3 Aero -02, SAAB 900T16 Cab -89 & SAAB 900T8 -85
Location: GOT, Sweden

Re: Motronic 2.10.3 (SAAB)

Post by flaset »

festy wrote: You said you used Tuner Pro to download the bin - did the ECU report its hardware and software ID correctly?
To be honest, I don't really know what it actually reports, at least the info is from the ID-string in the bottom of the binary, this is what I get:

Image
festy wrote:Are you able to try downloading the bin again, but this time in the Plug-in settings in Tuner Pro, uncheck the 'Read/write data only' option?
Otherwise the program section is skipped during download, which makes bin and checksum identification pretty hard ;)
Your'e totally right, I wondered why I got blanks before 0x4000 and no SW-ID and checksum in the end of the binary, now I know, didn't realize that option there, thanks! :thumbup:
I'll attach the complete binary, looks much better when all info is included.
And, maybe you will be able to help me out with some more relevant info, I've tried some XDF-making-tool I found, but it wouldn't accept my binary...
festy wrote:Also I see it tried to download up to 128k which would have taken a long time, if you load an XDF (even a blank one) with the bin size set to 0x10000 in the header, it will only download 64k which looks to be the correct size.
That's also correct. :oops:
Since I read somewhere that the flash in these ECU's was 128k and I had not yet realized that you could download per XDF-size as you mentioned..
festy wrote: I can't identify the ram addresses because the program section isn't in the bin, but I can take a few guesses based on common values.
I'd appreciate if you'd gave it another try now when it's complete, is there any other info I can provide you with, I'll be glad to try to help. :)
Attachments
0261204400_1037358528_64kb.bin
(64 KiB) Downloaded 417 times
9³ Aero SS -03, 9³ Aero Coupé -02, 900T16 Cab -89 & 900T8 -85 on garaget.org website
User avatar
festy
Posts: 1039
Joined: Sat Apr 30, 2011 6:27 pm
cars: Alfa Romeos
Location: Narellan, NSW

Re: Motronic 2.10.3 (SAAB)

Post by festy »

Yes that one looks much better.

I've only had a quick look through the code, but can see a couple of generic Bosch functions I recognise.
To skip the checksum on reset, set 3CD8h bit 4.
I've added the checksum calculation and bypass flag to the XDF in my earlier post.
User avatar
flaset
Posts: 16
Joined: Mon Jan 15, 2018 8:42 pm
cars: SAAB 9-3 Aero -02, SAAB 900T16 Cab -89 & SAAB 900T8 -85
Location: GOT, Sweden

Re: Motronic 2.10.3 (SAAB)

Post by flaset »

festy wrote:I've added the checksum calculation and bypass flag to the XDF in my earlier post.
Thank you very much for sharing your knowledge! :thumbup:

I will from now spend some time on trying to find the engine speed limiter/ revlimiter, it would be great to raise this a little bit.

After this, I'll maybe try to flash my first 2.10.3 ECU, we'll see if I turn it into a brick.. :lol:

If I manage to carry this out, next up is hook up the gear in a car, are one able to use the datatrace-function in Tunerpro with the kkl-interface?

//
Andreas
9³ Aero SS -03, 9³ Aero Coupé -02, 900T16 Cab -89 & 900T8 -85 on garaget.org website
User avatar
festy
Posts: 1039
Joined: Sat Apr 30, 2011 6:27 pm
cars: Alfa Romeos
Location: Narellan, NSW

Re: Motronic 2.10.3 (SAAB)

Post by festy »

flaset wrote: If I manage to carry this out, next up is hook up the gear in a car, are one able to use the datatrace-function in Tunerpro with the kkl-interface?
If you start with one of the ADX files I posted a few years ago for the stock ML4.1 ECUs, you should only have to change the memory locations being requested so they match your bin.
i.e. change the 'load' to 3Fh etc.
Live data rate will be pretty low, and early Motronics dropped the KWP connection over 2000 rpm, so it was only really useful to diagnose sensors. I can't remember if they were still doing that for the M2.10.3.

When I have some free time next, I'll see if I can locate the soft and hard rev limits and the diagnostics max rpm for you.
It's been a few years since I've looked at a Motronic ECU, so I'm a little bit rusty :oops:
User avatar
flaset
Posts: 16
Joined: Mon Jan 15, 2018 8:42 pm
cars: SAAB 9-3 Aero -02, SAAB 900T16 Cab -89 & SAAB 900T8 -85
Location: GOT, Sweden

Re: Motronic 2.10.3 (SAAB)

Post by flaset »

festy wrote:When I have some free time next, I'll see if I can locate the soft and hard rev limits and the diagnostics max rpm for you.
It's been a few years since I've looked at a Motronic ECU, so I'm a little bit rusty :oops:
Sounds great festy, I appretiate your help! :thumbup:

I managed to disassemble the binary, guess you already have, but I'll attach it here if anyone is interested.

//
Andreas
Attachments
0261204400_1037358528_64kb.asm
(838.58 KiB) Downloaded 431 times
9³ Aero SS -03, 9³ Aero Coupé -02, 900T16 Cab -89 & 900T8 -85 on garaget.org website
Post Reply