Need Hacking Help From Hacking GODS
Need Hacking Help From Hacking GODS
For starters, the following excerpt is not my work, it belongs to Dave Zug. I just need help following what he is saying.
Questions at end.
------------------------------------------------------------------------------------
1992 1227730 VSS re-calibration after a T-56 swap
After my T56 swap I discovered that the conversion boxes for getting the speedometer and the computer to read the correct vehicle speed were like $90 and more, and were rumored to be troublesome (although I have no direct evidence that they are). I already have adopted the "fewer parts to fail" attitude so I did not want a little bug to be there and have to stay working all the time for me to drive my car. Given all that, I thought I'd look into making one myself. Well after some research I found that my 92 ECM and my 92 instrument cluster both supported a scaling factor parameter, set on the chip. It took a while to figure out the scaling for the Speedometer factor but trial and error prevailed.
Its trickier thsn most settings on the '730 ECM..since the ECM variable is OR'd with a value that already has meaning in the code, only a certain set of values can be used. For those technically interested, here is the breakdown of the Speedo scaling variable, best guess so far:
The 3 high order bits at 8014 in AXXC (92 305 TPI M5 3.08) control the scaling of the speedo in my application (remember, I do not know at this point, nor do I care to go find out, what other years this applies to. I know the 90 year F car uses a magnetic VSS where mine was optioned for the optical unit. this does not nessecarily mean the re-scaling wont work.. in fact, the scaling bits ARE sent to the external hardware when the MAGNETIC *OR* OPTICAL sensor is used.). This is a hardware divider sent via SCI (serial control interface) from processor to a descreet circuit. from the best I can gather at this point, thru eyeball testing is this:
00000000 0 =do not divide (aka div by 1)
10000000 128 =divide by 2
01000000 64 =divide by 3
11000000 128+64 =divide by 4
00100000 32 =divide by 5
10100000 128+32 =divide by 6
01100000 128+64 =divide by 7
11100000 128+64+32 =divide by 8
6.17.01
Ignore the "divide by" figures in the chart above... Here is some new test data:
Drive Testing results:
Observed MPH , 4th gear, @ 2500 rpm
bit 7 set: = 96 mph
bit 6 set = 83 mph
bit 7 and 6 set = 73 mph
bit 5 set = 65 mph
bit 7 and 5 set = 58 mph (closest I can get.. pretty dead-on using a chase vehicle)
bit 6 AND 5 set = 53 mph (amazingly, I still have room to go)
So bit 6 corrects to 86% of what bit 7 corrects to.
bit 5 corrects to 67% of what bit 7 corrects to
When bit 6 AND 5 are BOTH on, the correction is about 86%*67% of what bit 7
corrects to. (58% by math, 55% by testing(eyeball speedo))
For reference:..
@ 2500 rpm... 1:1 trans gear, 3:08 ratio (I'm going about 58 mph.. turns out)
B7 b6 b5 b4 b3 b2 b1 b0 (b4-b0 are not used in the correction)
B7 set = (10000000) value of 128... speedo reads 96 mph
B6 set = (01000000) value of 64... speedo reads 83 mph
B7,B6 set = (11000000) value of 192... speedo reads 73 mph
B5 set = (00100000) value of 32... speedo reads 65 mph
B7 , B5 set = (10100000) value of 160... speedo reads 58 mph
B6 , B5 set = (01100000) value of 96... speedo reads 53 mph
(NOTE made 1-13-02: testing says my speedo is off the mile-markers by 1/16 of a
mile, per mile, or mine reads 60 when I'm going 56.5 mph)
When I set B7, B6, and B5 all together (11100000).. ths speedo just reads Zero.
When NONE of these 3 bits are set (the factory setting), the speedo pegs 110
when I'm going 15 mph. The SPEED LIMITER will shut your injectors off if you
do not disconnect the VSS from the trans... but disconnecting the VSS makes
then engine stall when you come to a stop, because the ECM does not know
that the car has transitioned from moving to not-moving.
Imagine ASSUMING any of the above!?! the numbers are way out of order.. but
if you look hard you can see that the significance of the bits is reversed. look
at 128(b7) as being "1", 64(b6) as being "2", and 32(b5) as being "4" and it all
makes sense ;-))
Armed with this vital information, yoo too can be a speedo recalibramator!
------------------------------------------------------------------------------------
I am a bit ignorant when it comes to Hex Data. Where can I find "the 3 high order bits at 8014"?
I loaded my Bin in the Buffer of the Pocket Programmer software and tried to edit the Buffer but could not find 8014. I found 8010 and 8020. I'm guessing that this is nowhere near where I need to be.
Do I need special software?
If anyone could point me in the right direction I would be forever gratefull! I would love to tinker with these parameters if I could find them.
:hail:
Questions at end.
------------------------------------------------------------------------------------
1992 1227730 VSS re-calibration after a T-56 swap
After my T56 swap I discovered that the conversion boxes for getting the speedometer and the computer to read the correct vehicle speed were like $90 and more, and were rumored to be troublesome (although I have no direct evidence that they are). I already have adopted the "fewer parts to fail" attitude so I did not want a little bug to be there and have to stay working all the time for me to drive my car. Given all that, I thought I'd look into making one myself. Well after some research I found that my 92 ECM and my 92 instrument cluster both supported a scaling factor parameter, set on the chip. It took a while to figure out the scaling for the Speedometer factor but trial and error prevailed.
Its trickier thsn most settings on the '730 ECM..since the ECM variable is OR'd with a value that already has meaning in the code, only a certain set of values can be used. For those technically interested, here is the breakdown of the Speedo scaling variable, best guess so far:
The 3 high order bits at 8014 in AXXC (92 305 TPI M5 3.08) control the scaling of the speedo in my application (remember, I do not know at this point, nor do I care to go find out, what other years this applies to. I know the 90 year F car uses a magnetic VSS where mine was optioned for the optical unit. this does not nessecarily mean the re-scaling wont work.. in fact, the scaling bits ARE sent to the external hardware when the MAGNETIC *OR* OPTICAL sensor is used.). This is a hardware divider sent via SCI (serial control interface) from processor to a descreet circuit. from the best I can gather at this point, thru eyeball testing is this:
00000000 0 =do not divide (aka div by 1)
10000000 128 =divide by 2
01000000 64 =divide by 3
11000000 128+64 =divide by 4
00100000 32 =divide by 5
10100000 128+32 =divide by 6
01100000 128+64 =divide by 7
11100000 128+64+32 =divide by 8
6.17.01
Ignore the "divide by" figures in the chart above... Here is some new test data:
Drive Testing results:
Observed MPH , 4th gear, @ 2500 rpm
bit 7 set: = 96 mph
bit 6 set = 83 mph
bit 7 and 6 set = 73 mph
bit 5 set = 65 mph
bit 7 and 5 set = 58 mph (closest I can get.. pretty dead-on using a chase vehicle)
bit 6 AND 5 set = 53 mph (amazingly, I still have room to go)
So bit 6 corrects to 86% of what bit 7 corrects to.
bit 5 corrects to 67% of what bit 7 corrects to
When bit 6 AND 5 are BOTH on, the correction is about 86%*67% of what bit 7
corrects to. (58% by math, 55% by testing(eyeball speedo))
For reference:..
@ 2500 rpm... 1:1 trans gear, 3:08 ratio (I'm going about 58 mph.. turns out)
B7 b6 b5 b4 b3 b2 b1 b0 (b4-b0 are not used in the correction)
B7 set = (10000000) value of 128... speedo reads 96 mph
B6 set = (01000000) value of 64... speedo reads 83 mph
B7,B6 set = (11000000) value of 192... speedo reads 73 mph
B5 set = (00100000) value of 32... speedo reads 65 mph
B7 , B5 set = (10100000) value of 160... speedo reads 58 mph
B6 , B5 set = (01100000) value of 96... speedo reads 53 mph
(NOTE made 1-13-02: testing says my speedo is off the mile-markers by 1/16 of a
mile, per mile, or mine reads 60 when I'm going 56.5 mph)
When I set B7, B6, and B5 all together (11100000).. ths speedo just reads Zero.
When NONE of these 3 bits are set (the factory setting), the speedo pegs 110
when I'm going 15 mph. The SPEED LIMITER will shut your injectors off if you
do not disconnect the VSS from the trans... but disconnecting the VSS makes
then engine stall when you come to a stop, because the ECM does not know
that the car has transitioned from moving to not-moving.
Imagine ASSUMING any of the above!?! the numbers are way out of order.. but
if you look hard you can see that the significance of the bits is reversed. look
at 128(b7) as being "1", 64(b6) as being "2", and 32(b5) as being "4" and it all
makes sense ;-))
Armed with this vital information, yoo too can be a speedo recalibramator!
------------------------------------------------------------------------------------
I am a bit ignorant when it comes to Hex Data. Where can I find "the 3 high order bits at 8014"?
I loaded my Bin in the Buffer of the Pocket Programmer software and tried to edit the Buffer but could not find 8014. I found 8010 and 8020. I'm guessing that this is nowhere near where I need to be.
Do I need special software?
If anyone could point me in the right direction I would be forever gratefull! I would love to tinker with these parameters if I could find them.
:hail:
Last edited by ptc92rs; Feb 2, 2002 at 09:48 AM.
TGO Supporter
Joined: Jul 1999
Posts: 10,907
Likes: 5
From: The Bone Yard
Car: Death Mobile
Engine: 666 c.i.
It would be a good idea to brush up on some "hex" math. But I will give you the easiest way to "set those" bits.
Determine which bit you want to try setting. Here is a quick table of the Hex equivalent.
b'0010 0000 = Hex '20
b'0100 0000 = Hex '40
b'0110 0000 = Hex '60
b'1000 0000 = Hex '80
b'1010 0000 = hex 'A0
b'1100 0000 = Hex 'C0
b'1110 0000 = Hex 'E0
You look at the hex setting at location 8014 (position the curson 4 bytes to the right of 8010 on the edit table) and just add the appropriate Hex value to the existing contents of the cell. If the value is greater than hex '1F", ignore the three high order bits from the factor.
Then use Microsoft "Calculator" and enter the values as "Hex" (it is an option) and it will give you the appropriate Hex value that you need to change location 8014.
BUT, remember that you need to recompute the "Check Sum" or you'll get an SES Code 51 (unless you are in AA mode - which no one is). The simplest way I have found to recompute the Check Sum is to save the "edited memory" to a file and then read it with TunerCat. It will automatically recalculte it.
If you need to know about Hex, I highly recommend doing a search on www.google.com for "hexidecimal" and find a tutorial on it. If this is WAY over your head and you can't grasp hexidecimal, then I would suggest NOT doing what you are doing. You can EASILY cause a big problem if you are not familar with Hex and start "bit twiddling".
Determine which bit you want to try setting. Here is a quick table of the Hex equivalent.
b'0010 0000 = Hex '20
b'0100 0000 = Hex '40
b'0110 0000 = Hex '60
b'1000 0000 = Hex '80
b'1010 0000 = hex 'A0
b'1100 0000 = Hex 'C0
b'1110 0000 = Hex 'E0
You look at the hex setting at location 8014 (position the curson 4 bytes to the right of 8010 on the edit table) and just add the appropriate Hex value to the existing contents of the cell. If the value is greater than hex '1F", ignore the three high order bits from the factor.
Then use Microsoft "Calculator" and enter the values as "Hex" (it is an option) and it will give you the appropriate Hex value that you need to change location 8014.
BUT, remember that you need to recompute the "Check Sum" or you'll get an SES Code 51 (unless you are in AA mode - which no one is). The simplest way I have found to recompute the Check Sum is to save the "edited memory" to a file and then read it with TunerCat. It will automatically recalculte it.
If you need to know about Hex, I highly recommend doing a search on www.google.com for "hexidecimal" and find a tutorial on it. If this is WAY over your head and you can't grasp hexidecimal, then I would suggest NOT doing what you are doing. You can EASILY cause a big problem if you are not familar with Hex and start "bit twiddling".
A couple of questions.
When I "Program the Device" with Pocket Programmer, the "End of Device" Setting is 07FFF and I cannot seem to make it higher. The change I made was to 08014. This seems to me to be after 07FFF, so am I even changing anything?
All of the data after 07FFF is "00" except for 08014 wich I changed. But it was "00".
When I "Program the Device" with Pocket Programmer, the "End of Device" Setting is 07FFF and I cannot seem to make it higher. The change I made was to 08014. This seems to me to be after 07FFF, so am I even changing anything?
All of the data after 07FFF is "00" except for 08014 wich I changed. But it was "00".
TGO Supporter
Joined: Jul 1999
Posts: 10,907
Likes: 5
From: The Bone Yard
Car: Death Mobile
Engine: 666 c.i.
Actually, the address is offset by Hex 8000. The ECM really deals with 64 K of memory. The address from Hex 0000 - 7FFF is on the motherboard adn represents the first 32K of the 64K.
The eprom actually represent the next 32K and begin at Hex 8000 to FFFF. But when your burn it onto the eprom, you actually burn at Hex 0000 (on the eprom). Thus, to look at Location Hex 8014, you need to look at Hex 0014 (if you are use Edit Memory on the Pocket Programmer).
So, if you are looking at a "hack" and want to use the Edit Memory to see the contents, you need to subtract Hex 8000 from the Location Address as it represents the top 32K from the ECM's perspective.
The eprom actually represent the next 32K and begin at Hex 8000 to FFFF. But when your burn it onto the eprom, you actually burn at Hex 0000 (on the eprom). Thus, to look at Location Hex 8014, you need to look at Hex 0014 (if you are use Edit Memory on the Pocket Programmer).
So, if you are looking at a "hack" and want to use the Edit Memory to see the contents, you need to subtract Hex 8000 from the Location Address as it represents the top 32K from the ECM's perspective.
Senior Member
Joined: Oct 1999
Posts: 6,621
Likes: 2
Car: 91 Red Sled
Axle/Gears: 10bolt Richmond 3.73 Torsen
Is this recalibration for just the ecm or does it change the speedo as well?
I'm confused. I thought the only way to recalibrate was to change the gears in the tailshaft. If there is another way please PLEASE tell me if it's possible with the 8746 or 7747 ecm.
Even if it's just to recalibrate the speed for the ecm and not the speedo that's fine. I haven't changed my vss gears since I went to the 3.73s. I don't put many miles on the car but the fact remains that my ecm thinks I'm going 50mph when I'm only going say 38 or 42, whatever it is. I have thet tcc lockup/unlock speeds set at like ~60 and 64mph just to keep from having it come on at only the real speed of say 30mph!
I'm confused. I thought the only way to recalibrate was to change the gears in the tailshaft. If there is another way please PLEASE tell me if it's possible with the 8746 or 7747 ecm.
Even if it's just to recalibrate the speed for the ecm and not the speedo that's fine. I haven't changed my vss gears since I went to the 3.73s. I don't put many miles on the car but the fact remains that my ecm thinks I'm going 50mph when I'm only going say 38 or 42, whatever it is. I have thet tcc lockup/unlock speeds set at like ~60 and 64mph just to keep from having it come on at only the real speed of say 30mph!
TGO Supporter
Joined: Jul 1999
Posts: 10,907
Likes: 5
From: The Bone Yard
Car: Death Mobile
Engine: 666 c.i.
As I best understand it (I haven't actually tried to make it work), manipulating the 3 high-order bits of X'8014 in the 7730 SD $8D will alter the signal from the ECM to the electronic Speedo. This was intended for Corvettes, but apparently it works on F-body speedos also. Never tried it, can't confirm it.
There is a separate constant for "pulses/mile" where you can alter the speed the ECM thinks it's going, which is different that the above post which makes the ECM alter the speedo reading.
The two are distinct and separate on SD ECMs.
I have spent a fair amount of time playing on a buddy's 165, but I haven't seen any similar logic as the above for the 7730 SD. Looks like ptc92rs may be the first to confirm if it works or not.
There is a separate constant for "pulses/mile" where you can alter the speed the ECM thinks it's going, which is different that the above post which makes the ECM alter the speedo reading.
The two are distinct and separate on SD ECMs.
I have spent a fair amount of time playing on a buddy's 165, but I haven't seen any similar logic as the above for the 7730 SD. Looks like ptc92rs may be the first to confirm if it works or not.
Last edited by Grim Reaper; Feb 2, 2002 at 07:51 PM.
This should clear up some stuff about the above info. I E-Mailed Dave Zug and he was gracious enough to share the following with me.
The following is the semi-edited E-mail correspondance:
My Question:
------------------------------------------------------------------------------------
I have been trying to follow your lead\advice in fixing my speedometer. I have a '92 F-Body with a 350TPI 5-spd, and my ECM is a 1227730. As for the EEPROM, it's a custom chip of my own making.
Here's the problem I have run into. You have suggested to make changes in the code at 08014. When I look at my code, the info seems to stop at 07FFF. Was that a typo or am I missing something?
I downloaded a factory AXXC Bin and it too had no info after 07FFF. My speedo is off due to rear gear ratio change, apprx 7 MPH.
------------------------------------------------------------------------------------
His Reply:
------------------------------------------------------------------------------------
You make me realize a very important thing about my documentation! I should qualify the addressing.. $8014 as the ECM sees it is actually $0014 absolute (I can see the look on your face from here right about now) ;-)
The other thing is, that page is for folks who are / have converted to a T-56 (6-speed trans with a 40 pulse-per-shaft-rev sensor). The problem with it working correctly for what YOU have is that the divisor function will do LARGE steps, not fine adjustments like is needed for just a gear change. TRY IT ANYWAY! I have not messed with it for a while, but I think the lowest you can divide is by 2? I have not had to deal with just gear changes... let me know how it works out!
BTW, heres the new link location:
http://www.eecis.udel.edu/~dzug/92z2...0-vss4T56.html
I imagine it has been copied elsewhere a few times! which is fine.
(advertising to follow!)
check it out, I made these for the 6-speed swap!
http://www.eecis.udel.edu/~dzug/92z2...hiftplate.html
tell-a-friend! ;-)
------------------------------------------------------------------------------------
The following is the semi-edited E-mail correspondance:
My Question:
------------------------------------------------------------------------------------
I have been trying to follow your lead\advice in fixing my speedometer. I have a '92 F-Body with a 350TPI 5-spd, and my ECM is a 1227730. As for the EEPROM, it's a custom chip of my own making.
Here's the problem I have run into. You have suggested to make changes in the code at 08014. When I look at my code, the info seems to stop at 07FFF. Was that a typo or am I missing something?
I downloaded a factory AXXC Bin and it too had no info after 07FFF. My speedo is off due to rear gear ratio change, apprx 7 MPH.
------------------------------------------------------------------------------------
His Reply:
------------------------------------------------------------------------------------
You make me realize a very important thing about my documentation! I should qualify the addressing.. $8014 as the ECM sees it is actually $0014 absolute (I can see the look on your face from here right about now) ;-)
The other thing is, that page is for folks who are / have converted to a T-56 (6-speed trans with a 40 pulse-per-shaft-rev sensor). The problem with it working correctly for what YOU have is that the divisor function will do LARGE steps, not fine adjustments like is needed for just a gear change. TRY IT ANYWAY! I have not messed with it for a while, but I think the lowest you can divide is by 2? I have not had to deal with just gear changes... let me know how it works out!
BTW, heres the new link location:
http://www.eecis.udel.edu/~dzug/92z2...0-vss4T56.html
I imagine it has been copied elsewhere a few times! which is fine.
(advertising to follow!)
check it out, I made these for the 6-speed swap!
http://www.eecis.udel.edu/~dzug/92z2...hiftplate.html
tell-a-friend! ;-)
------------------------------------------------------------------------------------
Trending Topics
I just finished trying this out. The good news is that it does seem to change the speedometer readings. The bad news is that so far the adjustments are way to course to compensate for small rear gear or tire changes.
I only tried the first and last of the above stated adjustments so far. On the first adjustment my actual speed was 30mph and the speedometer was reading 5mph. On the second try at about the same speed, the speedo was just beginning to lift off the peg. My speedo was only off by 6-7 mph to begin with so as I said the adjustments are way to course to start with... so far.
I would think that the good to come from this for my purpose is that there actually MAY be a way to calibrate for tire and gear changes thru the EPROM.
It would be great if someone could pick this up and run with it because at this point I'm several years away from having the technical knowledge to work on this type of project,... but I'd be glad to help.
I only tried the first and last of the above stated adjustments so far. On the first adjustment my actual speed was 30mph and the speedometer was reading 5mph. On the second try at about the same speed, the speedo was just beginning to lift off the peg. My speedo was only off by 6-7 mph to begin with so as I said the adjustments are way to course to start with... so far.
I would think that the good to come from this for my purpose is that there actually MAY be a way to calibrate for tire and gear changes thru the EPROM.
It would be great if someone could pick this up and run with it because at this point I'm several years away from having the technical knowledge to work on this type of project,... but I'd be glad to help.
Senior Member
Joined: Oct 1999
Posts: 6,621
Likes: 2
Car: 91 Red Sled
Axle/Gears: 10bolt Richmond 3.73 Torsen
If somebody wants to work on this project let me know through e-mail. I'm getting into source code hacking and this would be a specific goal I could set for myself.
Does anybody know if the 7747/8746 control the speedo display or is it just the TPI SD ecms? My TBI is SD
.
Does anybody know if the 7747/8746 control the speedo display or is it just the TPI SD ecms? My TBI is SD
. Was any progress ever made on this? I just did 3.23-4.10 swap, and my speedo is 27% fast now. I've played around with the bits, but like it was stated before the divisors are way to high.
Or does anybody know how to design a logic circuit that would throw away every 4th pulse from the vss?
Or does anybody know how to design a logic circuit that would throw away every 4th pulse from the vss?
Senior Member
Joined: Oct 1999
Posts: 6,621
Likes: 2
Car: 91 Red Sled
Axle/Gears: 10bolt Richmond 3.73 Torsen
For the c3's I just didn't bother. In my application the speedo wasn't controlled by the ecm. I ended up just changed the plastic gears in the tailshaft.
Senior Member
Joined: Jun 2000
Posts: 998
Likes: 0
From: Tuscaloosa, AL
Car: 91Z, 91RS, '84 Jimmy
Engine: L98, 355, L98
Transmission: 700R, T56, 700R4
How does the ECM actually use the byte at L8014? I know L8015 is the road speed constant that is used to find actual speed from the VSS pulse rate, but does $8D use L8015 to find actual speed and then use L8014 as a factor to find speedo pulse rate FROM actual speed? Or is L8014 used for a direct conversion from VSS pulse rate to speedo pulse rate?
I found it in the ANHT hac at BF7D for the VSS calc and BEE2 for the road speed calc, if anyone wants to take a look. I personally don't know code well enough to understand it yet.
This could prove VERY useful when I go back to EFI in my '91 (since I've got the 6-speed and 3.70s in her.) I have the speedo all sorted out thanks to Autometer, but telling the ECM how fast I'm going is another issue altogether.
I found it in the ANHT hac at BF7D for the VSS calc and BEE2 for the road speed calc, if anyone wants to take a look. I personally don't know code well enough to understand it yet.
This could prove VERY useful when I go back to EFI in my '91 (since I've got the 6-speed and 3.70s in her.) I have the speedo all sorted out thanks to Autometer, but telling the ECM how fast I'm going is another issue altogether.
Last edited by TheGreatJ; Sep 10, 2004 at 08:42 PM.
I found a diagram of the internals of the 730, and from what I can tell the signal is taken in from the vss, goes thru some kind of divider circuit, and then spit right back out as either direct 4000ppm, or divided by 2 for the 2000ppm.
Check out this thread: https://www.thirdgen.org/techbb2/sho...hreadid=257943
Some of the pretty knowledgable electrical guys were helping me out with another similar issue.
Check out this thread: https://www.thirdgen.org/techbb2/sho...hreadid=257943
Some of the pretty knowledgable electrical guys were helping me out with another similar issue.
Thread
Thread Starter
Forum
Replies
Last Post
2012sergen11
Engine/Drivetrain/Suspension Wanted
6
Oct 13, 2015 07:38 PM




