Source code, a step back
Source code, a step back
For the 7747 ECM, has anyone completely hacked (reverse engineered) the program so they know exactly (or close) what the basic algorithm is? For example, how does it transition between modes, and how exactly does it determine pulse width in closed loop mode as a function of the sensor readings? How is pulse width computed in the other modes? Etc.
I see bits and pieces of understanding about how the ECM operates all over, but nothing very specific.
Thanks for any leads.
I see bits and pieces of understanding about how the ECM operates all over, but nothing very specific.
Thanks for any leads.
You just need to spend some time with a Hac.
One is available at Craig's site IIRC as well as DIY_EFI.org.
How the pulse width is calced is in the algo. at the end of the hac. It will list where each value is called from. So search for each values address to figure out how it all works.
Sounds simple....
One is available at Craig's site IIRC as well as DIY_EFI.org.
How the pulse width is calced is in the algo. at the end of the hac. It will list where each value is called from. So search for each values address to figure out how it all works.
Sounds simple....
Yeah, I guess the info is in the commented assembly code someplace. Kinda brutal to look through though. I'm an engineer for a living... we don't relay on commented source code to describe algorithms when pseudocode, flow charts, basic concept of operations papers, etc. are so incredibly much easier to comprehend. It would be bad enough in a high level language, assembly is a killer.
Oh well, beggars can't be choosers I guess. Thanks for the lead.
Isn't it a shame that there probably is a wealth of information about these systems in some guy's file cabinet at GM and we have to reverse engineer machine code?
Oh well, beggars can't be choosers I guess. Thanks for the lead.
Isn't it a shame that there probably is a wealth of information about these systems in some guy's file cabinet at GM and we have to reverse engineer machine code?
Supreme Member
iTrader: (2)
Joined: Jan 2002
Posts: 9,962
Likes: 5
From: Moorestown, NJ
Car: 88 Camaro SC
Engine: SFI'd 350
Transmission: TKO 500
Axle/Gears: 9-bolt w/ 3.23's
Re: Source code, a step back
On of the nice things about these ecms is that they have two minor loops, spark and fuel, and then 16 major loops that handle less time critical stuff. To some extent each loop can be looked at individually which really helps to see the forest for the trees. To make it easier to understand you should take some notes (more like alot of notes) along side to help fill in the blanks and look over it a couple of times to help it sink in.
You can also look at other hacs. The other tbi ecms share code with eachother so sometimes the same things can be found in another ecm.
I made up a pretty complete hac of the 4D.zip , but I did it awhile ago so it has a few errors. Still, I think its close to the 7747. There was even code that they transferred directly to the 8063 and didnt even bother to correct the addresses! RBob also made up a very nice hac of the 61.zip. There are others as well. Basically if you compare a couple of them side by side your bound to find some places that not only share the same or similar code, but have those areas commented. From there you can fill in some of the blanks and maybe see how it all works a bit better.
You can also look at other hacs. The other tbi ecms share code with eachother so sometimes the same things can be found in another ecm.
I made up a pretty complete hac of the 4D.zip , but I did it awhile ago so it has a few errors. Still, I think its close to the 7747. There was even code that they transferred directly to the 8063 and didnt even bother to correct the addresses! RBob also made up a very nice hac of the 61.zip. There are others as well. Basically if you compare a couple of them side by side your bound to find some places that not only share the same or similar code, but have those areas commented. From there you can fill in some of the blanks and maybe see how it all works a bit better.
Supreme Member
iTrader: (2)
Joined: Jan 2002
Posts: 9,962
Likes: 5
From: Moorestown, NJ
Car: 88 Camaro SC
Engine: SFI'd 350
Transmission: TKO 500
Axle/Gears: 9-bolt w/ 3.23's
Originally posted by Mastiff
Isn't it a shame that there probably is a wealth of information about these systems in some guy's file cabinet at GM and we have to reverse engineer machine code?
Isn't it a shame that there probably is a wealth of information about these systems in some guy's file cabinet at GM and we have to reverse engineer machine code?
As for assembly, its actually one of my favorite languages. I only did computer programming in HS as sort of a hobby and it never went much further so I never learned to use languages such as C++ as good as I could have. In a number crunching app., the assembly seems to be much easier to read to me. No black box type commands like the higher languages have.
Supreme Member
Joined: Jun 2000
Posts: 7,554
Likes: 1
From: In reality
Car: An Ol Buick
Engine: Vsick
Transmission: Janis Tranny Yank Converter
Originally posted by dimented24x7
As of now they charge a fortune for editing software.
I wonder what they used to write the code for those? Some form of C that compiles into whatever machine language they use?
As of now they charge a fortune for editing software.
I wonder what they used to write the code for those? Some form of C that compiles into whatever machine language they use?
I'd heard it was C+.
Trending Topics
Joined: Jul 1999
Posts: 12,088
Likes: 125
From: SALEM, NH
Car: '88 Formula
Engine: LC9
Transmission: 4L60E
Axle/Gears: 3.89 9"
Originally posted by funstick
Gm code is compiled from C with a program called code wariror
Gm code is compiled from C with a program called code wariror
With tons of inline assembler for addressing and such, but yeah.
-- Joe
Thread
Thread Starter
Forum
Replies
Last Post
mdtoren
Tech / General Engine
0
Aug 16, 2015 05:45 PM





