ODB1 ECU Project - Page 2 - Tuning Forum

Forum Post / Reply
You must log in before you can post or reply to messages.
Re: ODB1 ECU Project
Tuesday, May 02, 2006 11:39 PM
Sorry bout the big letters, not sure why that happened.

Re: ODB1 ECU Project
Wednesday, May 03, 2006 9:15 AM
The thread on Quad4forums has a few HO bin files posted..... '92 I think. I have a '93 W41 and '94 HO eeproms laying in my tool box. I'd be willing to lend them out so someone could read them. I also have a few bin files saved on my computer.




SPD RCR Z - '02 Z24 420whp
SLO GOAT - '04 GTO 305whp
RACER X - '78 Opel Kadett W41 Swap

Re: ODB1 ECU Project
Friday, May 05, 2006 11:34 PM
Cool drop me an email kyanox@yahoo.com and i'll get you the address info to send thoes eeproms. I can mail them back same day. Also, do you have any specific posts in the quad4forums with bin copies?
Re: ODB1 ECU Project
Friday, May 05, 2006 11:49 PM
Update 5/6/2006

Ok with the help of everybody on Jbody, and the guys over at tunercat, i've found some preliminary tables and adjustments to the ODB1 $36 and $F1 ecu's.

For thoes just chiming in, in odb1 ecu's gm used whats called template masks to write the code for each ecu. In this case the 94-95 Jbody ecu project we're working with the $36 and $F1 which are relatively similar ecu templates. I have yet to test if the bjlt bin will work in a 16196285 but i do have a few confirmed reports that the the bmzx and bmzy bins will work in a 16191947 ecu as well as the w31 bin working on a 2.2L, with higher timing and increased fuel flow. Without port/polish and timing map adjustments though the w31 bin will run poorly.

I will post some sample map's to see if anyone wants to take a crack at identify which table they belong to.
Re: ODB1 ECU Project
Saturday, May 06, 2006 5:14 PM
Quote:

I will post some sample map's to see if anyone wants to take a crack at identify which table they belong to.


Don't try to identify tables by the shapes/slopes. Use the code. Why? Well, for example, closed throttle and open throttle VE tables can look extremely close. It takes a look through the code to determine that TPS is compared to a specific constant before the address of the correct table is selected.

Changing chips between ecm's can result in interesting events. To be safe, check pinouts to see if specific inputs and outputs are in the same location relaitive to specific ecm pins. Things can move around.

-->Slow
Re: ODB1 ECU Project
Saturday, May 06, 2006 8:36 PM
Quad4Forums
Thats for the .bin thread.

I'll dig up a box and email you.




SPD RCR Z - '02 Z24 420whp
SLO GOAT - '04 GTO 305whp
RACER X - '78 Opel Kadett W41 Swap

Re: ODB1 ECU Project
Monday, May 08, 2006 12:54 AM
Ya know what, i signed up for a quad4 account, but for some reason i can't d/l off that site, want to send the files to me via email?

Also slowolej, do you have experience walking the code. I'm finding that my 1st grade student approach to it is very confusing, and while i've identified some maps, your right I just have no clue what values they reference for bias or base values. If your willing to step the code, a semi-commented source disassembled by cats. Ideally, what I would like honestly though is kind of a semi-learning tutorial. As in, here is a sniplet of code that tells you where the ecu looks for a high rpm table, you can tell because it looks up a base value at L0243 and then compares it to a table at L3054. Or something like that. Like i said, i've got some assembly behind me, but i'm still pretty green.
Re: ODB1 ECU Project
Wednesday, May 10, 2006 8:36 PM
UPDATE 5/10

Things i've reciently located.

EGR Control, the EGR Spark Correction Table in Vac vs ? bias. This bias will adjust timing for egr retard.

I've also found the table for the above bias.

I've found RPM fuel cut's as well as MPH fuel cuts. Meaning no rev limit, no speed limit. However, I won't be releasing that info to anyone until final product.

And a few other tables. Anyone want to take a crack at the source code and know assembly.

Chris
Re: ODB1 ECU Project
Thursday, May 11, 2006 4:42 AM
Quote:

Anyone want to take a crack at the source code and know assembly.

I already told you to send a .bin file.

As far as matching code, that's a viable approach but it's only good for 30 - 60% of the final product. The problem is that 2 functions can do the same thing but with different code.

More to follow.

-->Slow
Re: ODB1 ECU Project
Friday, May 12, 2006 2:00 AM
The ODB1 ecu project is growing, it looks like it's almost time for a website. So i've got one in the works. it will be built on Joomla open source if anyone wants to submit a good template.

My apologies slowolej. I did email the code, do i have the right addy. Let me know if you recieved it. My addy is in the thread up a bit.

Also, we do have a fully commented .src code on the following ecu:


**************************************************
* EPROM BHFM/5419 MY94
* P/N 16195261
* PCM P/N 16168505
*
* S10 LN2 MW1 NB2
* LN2 - 2.2l 4cyl MPFI, MANUAL 5 SPD XMISH
* BACK PRESS EGR
* DIS Ignition
*
* DATE 09-11-1996
*
*
**************************************************

Its for a LN2 running in a S10, but i think we could modify it to run in our J bodies. Anyone got any ideas or have tried this ecu. I will research the ecu pin outs and see if they are compatible or if a harness adapter can be built. It would be a solution to an easier way out.
Re: ODB1 ECU Project
Friday, May 12, 2006 4:05 AM
Is the source code for that ecm is spread out over several files? I'm thinking that's the one which is shared with V8 trucks. If so then there's still some work which needs to be done to finish the disassembly.

That ecm could be used to run the engine. I mentioned this option a couple of years ago. You need to check to see if it will control the 4 speed auto trans in the J car (control strategies may be different between longitudinal and transverse transmissions) and if the serial communications will work with the dash. Those two problems are what prevent people from using the 7749.

Regarding assembly you should really take time to learn to "speak" the code. And you really want to learn about things like the spi and interrupts, as it's relatively easy to walk the code until you hit one of these hardware interface subroutines. With no idea what variables you're working with, you end up making many guesses.

Did I hear that Mark's latest software allows visual confirmation of exactly which location in the prom is being accessed? That's going to be a very helpful feature. You can use that and a scantool to locate ALDL values, which are keys to much of the code. Also look around in the old GMECM and DIY_EFI archives. There's some huge gems buried in those old posts.

-->Slow

Re: ODB1 ECU Project
Saturday, May 13, 2006 10:55 AM
Slow, i have all the ALDL values in the commented source i sent you. What is the biggest deal is figuring out tables, i'm sure it's just me not knowing enough about the src. Thats why I'm kind of thinking I need to find someone who can give me a crash course in code walking.

The commented source has some subroutines that have also comments about an aldl value they access along with table locations. What i'm guessing is that these subroutines process tables that are related to the aldl output, but my loss is that i can't figure out what is what for the table.

If you can walk the code, maybe grab the source file i sent you and post a snippet with some helpful comments, that way i could learn how to do the rest of the work.

Yea, I don't know much about marks v5 of tuner pro rt, but mark's software is what will make odb1 hacking possible easily on our cars. As for the ln2 from the s10, not sure what the auto trans subs are, but for a manual trans car this ecu will definately work.
Re: ODB1 ECU Project
Saturday, May 13, 2006 12:00 PM
The aldl table you created is only part of the puzzle. It's for the scantool to use to determine what ALDL word it's looking at and how to interpret that word. Without the location of the ALDL transmit table it tells you next to nothing about the pcm code. Really, what does the scantool care how the ecm is doing it's job. The scantool only acts as an interpreter for ECM data.

If you can locate the ALDL xmit table you can determine what RAM locations are used to store important engine variables. TPS, CTS, and RPM are all key variables used early on in the disassembly process.

I have the same 94 S10 disassembly you're looking at. If you open the file titled $0D_HACK.SRC and scroll down to address 0x51E5 (L51E5) you'll see the beginning of the ALDL transmit table. This table tells the ecm/ pcm aldl code to transmit the data stored in RAM or ROM at the addresses in the xmit table. For example, 0x51EE and 51F0 tell the ecm to output the values at location 0x4000 and 0x4001. These addresses are within the calibration (they're the beginning of the calibration eprom, actually) and they contain the eprom ID. If you switch back to BHFM_CAL.SRC and look at the address 0x4000 you'll see the address 4941. This is what the ALDL transmits first.. If you look through the ALDL transmit code you'll eventually find this line: L520A FDB $00A2. This line references a CTS value. So you could now switch to the code and search for all references to 00A2 and add a comment to each, "coolant temp." This is exactly what you'll find in this bit of source code.

The auto trans code is used for the 4L60E and 4L80E. The auto trans function is disabled in the manual trans calibration. You'd need to compare transmission shift strategies to determine compatibility with the FWD E series trans.

BTW, I never recieved a .bin file to look over.

-->Slow
Re: ODB1 ECU Project
Saturday, May 13, 2006 12:01 PM
The aldl table you created is only part of the puzzle. It's for the scantool to use to determine what ALDL word it's looking at and how to interpret that word. Without the location of the ALDL transmit table it tells you next to nothing about the pcm code. Really, what does the scantool care how the ecm is doing it's job. The scantool only acts as an interpreter for ECM data.

If you can locate the ALDL xmit table you can determine what RAM locations are used to store important engine variables. TPS, CTS, and RPM are all key variables used early on in the disassembly process.

I have the same 94 S10 disassembly you're looking at. If you open the file titled $0D_HACK.SRC and scroll down to address 0x51E5 (L51E5) you'll see the beginning of the ALDL transmit table. This table tells the ecm/ pcm aldl code to transmit the data stored in RAM or ROM at the addresses in the xmit table. For example, 0x51EE and 51F0 tell the ecm to output the values at location 0x4000 and 0x4001. These addresses are within the calibration (they're the beginning of the calibration eprom, actually) and they contain the eprom ID. If you switch back to BHFM_CAL.SRC and look at the address 0x4000 you'll see the address 4941. This is what the ALDL transmits first.. If you look through the ALDL transmit code you'll eventually find this line: L520A FDB $00A2. This line references a CTS value. So you could now switch to the code and search for all references to 00A2 and add a comment to each, "coolant temp." This is exactly what you'll find in this bit of source code.

The auto trans code is used for the 4L60E and 4L80E. The auto trans function is disabled in the manual trans calibration. You'd need to compare transmission shift strategies to determine compatibility with the FWD E series trans.

BTW, I never recieved a .bin file to look over.

-->Slow
Re: ODB1 ECU Project
Sunday, May 14, 2006 2:51 AM
Aaaahhhaa the confusion. Email me again it kyanox@yahoo.com if you do not recieve an early christmas present, you will see what i mean when you get it.

It will be at your email address, and be both a bin and a source that has aldl data locations, which will ultimately lead to something more stable, i just need a kind of crash course. Say parts of the subroutine src described to me why it does what it does, how it looks at the table, and how i can further translate unknown subroutines, IE using aldl xmit variables to step back and find tables etc....

I'm learning, and i'm close to working knowledge, but you will see when you get the email.
Re: ODB1 ECU Project
Monday, May 15, 2006 12:16 AM
Slowolej,

Files are on their way, and we have located the xmit table. I just am tired tonight, but i did see your explanation of how to fix the varables. Yet something is eluding me. Labeling subroutines and labeling tables, along with the scope of the x,y,z cordiantes on 3d tables, and x,7 on 2d.
Re: ODB1 ECU Project
Monday, May 15, 2006 5:02 AM
You've got to work through the code. You need to identify the hardware locations involved, look at the variables being stored, and work out what's happening. Speed density tables are generally MAP vs RPM so you can use that and the shape of the table. Same with timing tables. This stuff can take years to do right. There's often multiple variables used for TPS, CTS, IAT, and RPM. Better to pick out specific instances to work with than to describe the process in general. It's kind of like asking "how do I decide what parts to put in my engine?" only tougher.

-->Slow
Re: ODB1 ECU Project
Monday, May 15, 2006 8:03 AM
Ok well i sent the files off to you to work through, i'm doing it myself on this end. Again i'm like a 1st grader learning english when it comes to assembly. I've got a reference guide for instuction sets, but i do understand why programmers make the big $$$.

Let me know if you come up with anything new, and i'll periodically send you my updated works. I may screw up a comment or 2 somewhere, but if you read assembly better than I do you should be able to spot it. Eventually i'll figure it out. Even if it takes years.
Re: ODB1 ECU Project
Tuesday, May 16, 2006 9:48 AM
It's busy here, between rain and getting cars ready to race (and they'll probably sit in the garage because fo rain!). Can't check mail due to ??? but will look at this within the next few days. Hopefully we can make some big progress at first.

-->Slow
Re: ODB1 ECU Project
Tuesday, May 16, 2006 12:44 PM
UPDATE 5/16/2006

I still havnt found the Desired IDLE table, the code is confusing.

I've found a few more constants and parameters, I will have to set up a bench to figure out what they do.

I have made some progress on 16196395 ecm, it is swappable into our cars with a BHFM memcal modified to run. It runs on the 0D mask, which has had an enormous amount of work done on it in the V8 cars, and since the ln2 is a 4cylinder it only required a few bin file changes.

I will be buying one of these ecm's here in the next few weeks and building a coverter harness so that it will run in our J's. One thing is for sure, in order to do this project with emulation or even easily you have to crack open the case which means ecm relocation. I've found that the ecm has extra holes in the casing, perfect to mount under the passenger seat. It does require a modified cable to extend the ecm, so if anyone knows where to get an extension made we need a manufacturer. Also, i'm looking at a harness swap but so far I don't have anyone who can do it easily without cutting or reshaping a factory harness.

We are reworking the design of the current emulator hardware and ecm casing so that it's all self contained. You can interface the ecm with bluetooth using the latest version of the hardware so my idea being that the emulation and realtime tuning/logging interface could be even simpler without the need to extend the harness. Of course for now, i almost want to extend it to inside the car, seeing as under the front bumper, that ecm is exposed to a lot of elements.

Chris
Re: ODB1 ECU Project
Tuesday, May 16, 2006 7:18 PM
Yeah... if you've never been here to New England you might not realize how much it's a bad idea to have sealed PCM under the bumper, let alone a critical device like the emulator. Stuff rusts here... badly. Gotta keep in mind that the northeast states use road salt and suffer through much rainfall and humidity.

Extending the harness isn't usually too hard. The tough part is getting the female PCM connector. I usually sacrifice another PCM to do it. But that gets expensive really fast.

-->Slow

Re: ODB1 ECU Project
Tuesday, May 16, 2006 10:35 PM
So have you done this swap already?

You say sacrifice another pcm for it, does that mean that it has been done on an LN2 car.

I guess the reason I ask if we can do it with this pcm is because i was told anything 0D mask will work with this pcm, that it's similar to our 16196285 pcm but the pinouts are different on the ecm. I had thought to just make a converter adapter for the 16196285 but i don't know enough about the pcm function to see if the binary would cross.

Anyway, I should be able to order the connector from somewhere, do you know where?
Re: ODB1 ECU Project
Wednesday, May 17, 2006 3:23 AM
Quote:

So have you done this swap already?


No. I have never worked with the 95 PCM before. I have a 93 Cav running the 1227749. But I've done plenty of efi work including putting efi into vehicles it wasn't designed for. Building an adapter harness is fairly simple stuff.

Quote:

You say sacrifice another pcm for it, does that mean that it has been done on an LN2 car.
Yes, it has. Remember that the LN2 2.2L engine was used from 93 to 98. I used an adapter harness in my 93 to allow me to switch between the original ecm and the 7749 when I was beginning the tuning of the NA side before I put the turbo on. I got a junkyard ecm for the 93 and removed the plug from the circuit board.

Quote:

I guess the reason I ask if we can do it with this pcm is because i was told anything 0D mask will work with this pcm, that it's similar to our 16196285 pcm but the pinouts are different on the ecm.
This is not surprising. And it's good news. The same is true with pcm's in the P4 family. A common swap is for people to use the 1227749 turbo code in the 1227730 ecm because the 7730 is more common.

Quote:

I had thought to just make a converter adapter for the 16196285 but i don't know enough about the pcm function to see if the binary would cross.
Tracing out the board requires quite a bit of knowledge and some special tools. The homebrew method is to build an ecm bench and see what happens.

Quote:

Anyway, I should be able to order the connector from somewhere, do you know where?

Sometimes the simplest tasks are the toughest to get done. Ordering connectors can be almost impossible. Finding a part number can be a chore, then you learn that the part number you have isn't good at any of the places that sell connectors. It's really a PITA. You should look at Waytek Wire (waytekwire.com), look for a Delphi wiring catalog, check out the AC Delco site, and look on the web for similar connectors used in other projects, or start calling junkyards. Maybe you can contact someone on the JBO who's replaced their factory ecm with a standalone?

Have you got the pinouts for the 95?

-->Slow
Re: ODB1 ECU Project
Friday, May 19, 2006 12:47 AM
I can get the pinouts for the 95 ecm easily. The idea behind this project is to find a working solution. If i can get the 16196285 to work on an 0D mask it shouldnt be a problem. I was told today that the 0D mask just access different pins on the ecm, and tasks them accordingly. So the next question i have is, how to find the 0D pins on the 16196285 and will it work.

I'm hunting junk hards for a 16196395 pcm and i have a 16196285 but i don't want to sacrifice it for a harness clip. Instead i've looked into ordering direct from delco the clip. If all else fails, AEM makes an adapter that I can order and butcher.

Any luck on the code yet. I need fuel tables and the desired idle table figured out before i can debug any further. Please let me know, as the desired idle hardware table is in the src i sent you.
Re: ODB1 ECU Project
Friday, May 19, 2006 1:14 AM
I don't know if I can be of any help, but I do quite a lot of harness building/troubleshooting here at work. I had asked one of the engineering techs a few months back on GM connectors. I was considering a large project where i could relocate my pcm. it almost seems the best route is to create the harness using MIL-STD sub-D connectors (for being under the hood and inclement weather), and splicing it in. how many wires are we talking about here? 50+?

oh, almost forgot. here's the reply email the engineering tech sent me:

Quote:


Jarett,



I have a catalog that has the generic Weather-Pak connectors in it, but not specific connectors for a given GM application.



Those I get from the junk yard (with a pair of wire cutters).



The connectors I get are from:



https://www.delcity.net/



http://www.waytekwire.com/



Hope that helps…….Tim.


I will tell you, this guy does know his stuff. he's done plenty of newer engine swaps into sandrails. You might also want to check out:
http://www.newarkinone.com
this place won't have automotive-style connectors, but may help give you ideas on what's needed for a "relocation harness".





Desert Tuners

“When you come across a big kettle of crazy, it’s best not to stir it.”


Forum Post / Reply
You must log in before you can post or reply to messages.

 

Start New Topic Advanced Search