changing ALDL data out, replacing prom id with final SA, need help
Thread Starter
Senior Member
Joined: Oct 1999
Posts: 6,621
Likes: 2
Car: 91 Red Sled
Axle/Gears: 10bolt Richmond 3.73 Torsen
changing ALDL data out, replacing prom id with final SA, need help
This is what I've got so far:
LD414 = $D002 ; eprom id lsb
LD416 = $D003 ; eprom id msb
The $D002 and $D003 are what is in ever stock eprom so it spits out the eprom id into the aldl data stream.
Ken Kelly pointed out to me the location for the ecms final spark advance output. It's location is L0061 and L0062 which isn't on the eprom, it's on the ecm (makes sence since it doesn't start LD). He told me in an e-mail that if I just replaced the D002 with 0061 and D003 with 00062. The problem I've come up with is that the location 0061 is the msb, not lsb. And the 0062 is the lsb. So it's flip flopped.
What I'm trying to get at is how does this effect the output value.
I'm using WINALDL to display the raw data but I don't know what I'm doing. Would it be messed up if the lsb and msb are flip flopped?
How does winaldl compute the 16 bit values?
Thanks
LD414 = $D002 ; eprom id lsb
LD416 = $D003 ; eprom id msb
The $D002 and $D003 are what is in ever stock eprom so it spits out the eprom id into the aldl data stream.
Ken Kelly pointed out to me the location for the ecms final spark advance output. It's location is L0061 and L0062 which isn't on the eprom, it's on the ecm (makes sence since it doesn't start LD). He told me in an e-mail that if I just replaced the D002 with 0061 and D003 with 00062. The problem I've come up with is that the location 0061 is the msb, not lsb. And the 0062 is the lsb. So it's flip flopped.
What I'm trying to get at is how does this effect the output value.
I'm using WINALDL to display the raw data but I don't know what I'm doing. Would it be messed up if the lsb and msb are flip flopped?
How does winaldl compute the 16 bit values?
Thanks
Senior Member
Joined: Oct 2001
Posts: 930
Likes: 0
From: Timrå, Sweden
Car: 1984 Corvette
Engine: Turbo 350
Transmission: 4L80E with TCI T-Com
16 bit value = msb * 256 + lsb
Excel has a function that gives you the reminder of a division.
Using that formula you get the lsb value if you divide the 16-bit value by 256.
Subtract the the lsb value from the 16 bit value and divide the reminder by 256 and you getr the msb value. The you can use the formula first formula to combine them in the right order.
You could also use the raw data log. You have msb and lsb as separate numbers there.
Excel has a function that gives you the reminder of a division.
Using that formula you get the lsb value if you divide the 16-bit value by 256.
Subtract the the lsb value from the 16 bit value and divide the reminder by 256 and you getr the msb value. The you can use the formula first formula to combine them in the right order.
You could also use the raw data log. You have msb and lsb as separate numbers there.
Thread Starter
Senior Member
Joined: Oct 1999
Posts: 6,621
Likes: 2
Car: 91 Red Sled
Axle/Gears: 10bolt Richmond 3.73 Torsen
Jonas, could you modify winaldl do display the timing?
Thanks for the description but it still leaves me with huge numbers to try and figure out the actual SA. I can do the math after I datalog but I'd really like to see it real time for many reasons.
Thanks for the description but it still leaves me with huge numbers to try and figure out the actual SA. I can do the math after I datalog but I'd really like to see it real time for many reasons.
Supreme Member
Joined: Jun 2000
Posts: 7,554
Likes: 1
From: In reality
Car: An Ol Buick
Engine: Vsick
Transmission: Janis Tranny Yank Converter
Re: changing ALDL data out, replacing prom id with final SA, need help
Originally posted by JPrevost
This is what I've got so far:
LD414 = $D002 ; eprom id lsb
LD416 = $D003 ; eprom id msb
The $D002 and $D003 are what is in ever stock eprom so it spits out the eprom id into the aldl data stream.
Ken Kelly pointed out to me the location for the ecms final spark advance output. It's location is L0061 and L0062 which isn't on the eprom, it's on the ecm (makes sence since it doesn't start LD). He told me in an e-mail that if I just replaced the D002 with 0061 and D003 with 00062. The problem I've come up with is that the location 0061 is the msb, not lsb. And the 0062 is the lsb. So it's flip flopped.
What I'm trying to get at is how does this effect the output value.
I'm using WINALDL to display the raw data but I don't know what I'm doing. Would it be messed up if the lsb and msb are flip flopped?
How does winaldl compute the 16 bit values?
Thanks
This is what I've got so far:
LD414 = $D002 ; eprom id lsb
LD416 = $D003 ; eprom id msb
The $D002 and $D003 are what is in ever stock eprom so it spits out the eprom id into the aldl data stream.
Ken Kelly pointed out to me the location for the ecms final spark advance output. It's location is L0061 and L0062 which isn't on the eprom, it's on the ecm (makes sence since it doesn't start LD). He told me in an e-mail that if I just replaced the D002 with 0061 and D003 with 00062. The problem I've come up with is that the location 0061 is the msb, not lsb. And the 0062 is the lsb. So it's flip flopped.
What I'm trying to get at is how does this effect the output value.
I'm using WINALDL to display the raw data but I don't know what I'm doing. Would it be messed up if the lsb and msb are flip flopped?
How does winaldl compute the 16 bit values?
Thanks
Takes a total commented code to do it. the prom ID is a easy since it's a static value. Finding where in RAM the SA is time consuming.
Supreme Member
iTrader: (1)
Joined: Jan 2002
Posts: 4,432
Likes: 1
From: garage
Engine: 3xx ci tubo
Transmission: 4L60E & 4L80E
I checked out the addresses that were mentioned (0061 and 0062). They don't seem to be the SA value addresses. What ECM are you talking about here?
J
J
Thread Starter
Senior Member
Joined: Oct 1999
Posts: 6,621
Likes: 2
Car: 91 Red Sled
Axle/Gears: 10bolt Richmond 3.73 Torsen
It IS the final spark advance from the ecm. It isn't code from the eprom! The eprom doesn't calculate the spark advance, besides. If I was looking at the eprom the location would have to start with D, example. Instead of having 0061 and 0062, it would be D061 or D062. The ecm is the 8746, it's just like the 7747. I have the disassembly of the ecm code and it works, trust me, the values go up and down depending on rpm and map etc. It really isn't hard to change the data stream, the hard part is getting a piece of software to spit out a value in units like degrees, or kpa.
Below is the code for the 8746 ecm. Search in Word for "final SA" and the location is 0061 if you'd rather scroll to it.
Then look at location D414 or search "eprom id" and then search for "prom id". The 0061 is the start of ecm data, I'm just changing the aldl data stream to spit out the final spark advance instead of telling me the stupid eprom id! I'd also like to change battery voltage to something a little more useful. Maybe something like a countdown till closed loop.
http://www.0x58.org/jprevost/temp/20...191517_LOG.txt
http://www.0x58.org/jprevost/temp/20...191517_LOG.xls
http://www.0x58.org/jprevost/temp/8746.DSM.doc
If you've got excel, download the xls file and look at the eprom id. You'll notice the number going up and down, up and down
it works, but would be nice if it was converted
Below is the code for the 8746 ecm. Search in Word for "final SA" and the location is 0061 if you'd rather scroll to it.
Then look at location D414 or search "eprom id" and then search for "prom id". The 0061 is the start of ecm data, I'm just changing the aldl data stream to spit out the final spark advance instead of telling me the stupid eprom id! I'd also like to change battery voltage to something a little more useful. Maybe something like a countdown till closed loop.
http://www.0x58.org/jprevost/temp/20...191517_LOG.txt
http://www.0x58.org/jprevost/temp/20...191517_LOG.xls
http://www.0x58.org/jprevost/temp/8746.DSM.doc
If you've got excel, download the xls file and look at the eprom id. You'll notice the number going up and down, up and down
it works, but would be nice if it was converted
Last edited by JPrevost; Feb 5, 2002 at 10:23 PM.
Trending Topics
Supreme Member
iTrader: (1)
Joined: Jan 2002
Posts: 4,432
Likes: 1
From: garage
Engine: 3xx ci tubo
Transmission: 4L60E & 4L80E
I was thinking it was a 730 or 165. I couldn't download the disassembly. It said that the URL didn't exist. If there is another way to get it, I will look at it and try to add some code that will do the conversion in the ECM so that the ALDL software displays the spark data correctly.
J
J
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 JPrevost
Then look at location D414 or search "eprom id" and then search for "prom id". The 0061 is the start of ecm data, I'm just changing the aldl data stream to spit out the final spark advance instead of telling me the stupid eprom id! I'd also like to change battery voltage to something a little more useful. Maybe something like a countdown till closed loop.
Then look at location D414 or search "eprom id" and then search for "prom id". The 0061 is the start of ecm data, I'm just changing the aldl data stream to spit out the final spark advance instead of telling me the stupid eprom id! I'd also like to change battery voltage to something a little more useful. Maybe something like a countdown till closed loop.
Changing to L0060 and L0061 will give you the SA
Changing that around should get you SA displayed.
Having a double entry for O2 volts for a faster update is handy.
Maybe Craig will help ya out with a modified code for his scanner to read it all.
YMMV,
gotta migrane, but atta glance this looks right, though you'll have to work at it.
This is what I was refering to about RAM location switch earlier
Supreme Member
Joined: Jun 2000
Posts: 7,554
Likes: 1
From: In reality
Car: An Ol Buick
Engine: Vsick
Transmission: Janis Tranny Yank Converter
BTW, this would be alot easier if ya'll had worked on this till it was source code.
Kinda silly in my opinion to go thru this item by item, when you could actually do the source code and get things really right, ie delete what you really don't want to run, and add what you really need.
Again, just my view of it.
Kinda silly in my opinion to go thru this item by item, when you could actually do the source code and get things really right, ie delete what you really don't want to run, and add what you really need.
Again, just my view of it.
Thread Starter
Senior Member
Joined: Oct 1999
Posts: 6,621
Likes: 2
Car: 91 Red Sled
Axle/Gears: 10bolt Richmond 3.73 Torsen
Grumpy, what do you mean editing the all the source code at once? Any links to info about editing all the source code like you say would be awesome. I also like the idea about having double entrys for o2 volts. That's a great idea considering my slow 160 baud data rate
.
. Jon
You can use the following routine at the end of your code to convert spark advance to a readable value for the PROM ID. Output is in whole degrees. Insert jump instruction after spark advance is figured and install removed instruction and jump back at end of supplied code. You must also watch COP timing to make sure the watchdog does not time out. I hope you find this a good starting point for displaying spark advance.
LDD L0061 LOAD SPARK ADVANCE TO DOUBLE ACC D
LSLB SET CARRY BIT BASED UPON LSB (FOR ROUNDING)
ADCA #$00 ROUND MSB BASED UPON LSB
LDAB #$5A (90) LOAD 90 TO ACC B
MUL MULTIPLY ROUNDED MSB BY 90
LSLB SET CARRY BIT BASED UPON LSB (FOR ROUNDING)
ADCA #$00 ROUND MSB BASED UPON LSB
TAB TRANFER A TO B
CLR A CLR A
STD L0051 STORE IN EMPTY RAM VALUE
Grumpy
A while back you said you would post an example of source code. I am currently hacking the 7429 and would like an example of how I can make the hack more useful.
John
You can use the following routine at the end of your code to convert spark advance to a readable value for the PROM ID. Output is in whole degrees. Insert jump instruction after spark advance is figured and install removed instruction and jump back at end of supplied code. You must also watch COP timing to make sure the watchdog does not time out. I hope you find this a good starting point for displaying spark advance.
LDD L0061 LOAD SPARK ADVANCE TO DOUBLE ACC D
LSLB SET CARRY BIT BASED UPON LSB (FOR ROUNDING)
ADCA #$00 ROUND MSB BASED UPON LSB
LDAB #$5A (90) LOAD 90 TO ACC B
MUL MULTIPLY ROUNDED MSB BY 90
LSLB SET CARRY BIT BASED UPON LSB (FOR ROUNDING)
ADCA #$00 ROUND MSB BASED UPON LSB
TAB TRANFER A TO B
CLR A CLR A
STD L0051 STORE IN EMPTY RAM VALUE
Grumpy
A while back you said you would post an example of source code. I am currently hacking the 7429 and would like an example of how I can make the hack more useful.
John
Last edited by 32V_DOHC; Feb 6, 2002 at 09:59 AM.
Junior Member
Joined: Nov 2003
Posts: 1
Likes: 0
From: Orem, Utah
Car: 1985 Chevy Corvete
Engine: 383 Stroker, many extras
Transmission: 700R4
I realize this is a really OLD post. It's all I could find in my searching through archives.
I would be interested to see if someone wouldn't mind hashing this out a little bit with me for my 1985 Corvette. As you know, Diacom+ will not show the SA, so from my reading here it looks like someone figured out how to put it in the PROM ID field. That would be great if someone can help me figure it out! Does it get recorded in that field? I'm guessing not.
Which Hex editor to use? A reliable one.
PROM editing. I have my own PROM burner, reader and I use TunerCat and Diacom+ for analysis.
I can provide a link for you of my .bin file that I did today. So here is the link: Shayne's 1985 Corvette .bin
This .BIN is far from finished, but if I could figure out how to get the Spark Advance to start showing up, I'd be in someone's debt. Maybe even get it to record to a different field than PROM ID so that it would be recorded, just in the wrong field. I'm not looking for a freebie here, I'd really like to get into the HEX editor and learn myself how to do this.
Maybe if someone could edit my .bin file and tell me what they did for comparison, I could really get the hang of it that way! Email address is included below just in case.
Thanks so much in advance!
Shayne Spackman
msspack@yahoo.com
p.s. I've already called Rinda, they can't offer a solution to me. What a joke for over $500. I can't get them to do anything. That kind of customer service really sucks.
I would be interested to see if someone wouldn't mind hashing this out a little bit with me for my 1985 Corvette. As you know, Diacom+ will not show the SA, so from my reading here it looks like someone figured out how to put it in the PROM ID field. That would be great if someone can help me figure it out! Does it get recorded in that field? I'm guessing not.
Which Hex editor to use? A reliable one.
PROM editing. I have my own PROM burner, reader and I use TunerCat and Diacom+ for analysis.
I can provide a link for you of my .bin file that I did today. So here is the link: Shayne's 1985 Corvette .bin
This .BIN is far from finished, but if I could figure out how to get the Spark Advance to start showing up, I'd be in someone's debt. Maybe even get it to record to a different field than PROM ID so that it would be recorded, just in the wrong field. I'm not looking for a freebie here, I'd really like to get into the HEX editor and learn myself how to do this.
Maybe if someone could edit my .bin file and tell me what they did for comparison, I could really get the hang of it that way! Email address is included below just in case.
Thanks so much in advance!
Shayne Spackman
msspack@yahoo.com
p.s. I've already called Rinda, they can't offer a solution to me. What a joke for over $500. I can't get them to do anything. That kind of customer service really sucks.
Thread
Thread Starter
Forum
Replies
Last Post
Zachattack0925
Tech / General Engine
2
Aug 12, 2015 09:54 PM
Zachattack0925
Transmissions and Drivetrain
4
Aug 12, 2015 09:52 PM
Sanjay
Engine/Drivetrain/Suspension Parts for Sale
1
Aug 12, 2015 03:41 PM





