SA and BPW info for WinALDL on the 7747...
#1
Supreme Member
Thread Starter
iTrader: (1)
Join Date: Jun 2001
Location: 600 yds out
Posts: 1,520
Likes: 0
Received 0 Likes
on
0 Posts
Car: Bee-Bowdy
Engine: blowd tree-fity
Transmission: sebin hunnerd
Axle/Gears: fo-tins
SA and BPW info for WinALDL on the 7747...
I got this from one of Robert Rauschers papers:
One thing that confuses me is why RR says to use this calculation "Then for SA values, just multiply the displayed scanner value by 0.35 (90/256 = 0.3515625).".....????? Would this have to be something addressed by the scanner program (ie WinALDL)?
I was thinking of using the O2 cross counts (0x50B) and hopefully if someone can provide me with some help I'd like to get the BPW on there in the PROM ID (0x4E7).
I'm new to source code so I'll post it and see what I get. Using the PROM ID as an example, I assume that the $D002 is the ram variable that the code is loading. Assuming I'm correct I guess I need to know which variable the ECM loads with the last calculated injector PW. More simply, what do I replace $D002 with if I want the injector pulse width there?
thanks
I use locations that the scanner does no math on, the displayed value will then be as it is in the ecm. Then for SA values, just multiply the displayed scanner value by 0.35 (90/256 = 0.3515625). The result will be degrees of advance. Any initial timing will also need to be added to this advance (see 0x009).
So, if the aldl INT value is 91:
91 * 0.35 = 31.8 Degrees.
With the initial advance set to 6 degrees:
31.8 + 6 = 37.8 degrees at the crank.
I do have a caution on the use of the aldl on the '747 ecm,
it is Slow. Hence, the entire data output during one frame, may
not be relevant to that frame. IE: If your capturing a frame,
while accellerating, things are changing, and the data is not a
'snapshot' of one point in time. The data output is gotten
from memory as it is being output.
Ok, locations I use: BLM, INT, IAC, (0x509, 0x4f7, 0x4eb).
I output RAM locations:
0x0067 (total spark advance)
0x006E (PE/WOT spark advance)
0x0077 (Retard spark amount, only half this
value is sub'd from the total SA)
The value of location 0x0067 will include the SA of the
PE/WOT and Retard spark also. This is nearly the final
value used to program the spark control counters. Only
a spark latency correction is made after this.
So, if the aldl INT value is 91:
91 * 0.35 = 31.8 Degrees.
With the initial advance set to 6 degrees:
31.8 + 6 = 37.8 degrees at the crank.
I do have a caution on the use of the aldl on the '747 ecm,
it is Slow. Hence, the entire data output during one frame, may
not be relevant to that frame. IE: If your capturing a frame,
while accellerating, things are changing, and the data is not a
'snapshot' of one point in time. The data output is gotten
from memory as it is being output.
Ok, locations I use: BLM, INT, IAC, (0x509, 0x4f7, 0x4eb).
I output RAM locations:
0x0067 (total spark advance)
0x006E (PE/WOT spark advance)
0x0077 (Retard spark amount, only half this
value is sub'd from the total SA)
The value of location 0x0067 will include the SA of the
PE/WOT and Retard spark also. This is nearly the final
value used to program the spark control counters. Only
a spark latency correction is made after this.
I was thinking of using the O2 cross counts (0x50B) and hopefully if someone can provide me with some help I'd like to get the BPW on there in the PROM ID (0x4E7).
Code:
LD4E7 FDB $D002 ; 1. EPROM ID LSB
thanks
#2
Senior Member
Join Date: Oct 1999
Posts: 6,621
Likes: 0
Received 1 Like
on
1 Post
Car: 91 Red Sled
Axle/Gears: 10bolt Richmond 3.73 Torsen
This isn't really source code. This is more like code modification.
Right now I've got a TunerCat tdf file that I modified so I can change the outputs of some important values inplace of stupid ones like battery volts and eprom id. I have things that are similar lined up with those that are read in winaldl. Take for example the knock counts. In winaldl, the 8746 has PA3 (knock counter) but no o2 x-counts. So I've got it setup so that I can just flip the 8 in 1 eprom (thanks again Craig) and have the o2 x-counts output in place of the knock counts. I've also got different AFR inplace of battery volts because both bvolts and AFR's are all a value /10. The hardest part was figuring out the stuff like desired idle speed. Since my normal engine speed is divided by 25 and there was only desired idle speed and desired idle speed /12.5, I had to just half the outputed value (12.5/25). You'll need to do this OR have the windows calculator out and use it to convert from Hex to Dec....I take it back, I forgot that winaldl also has every value converted from hex to dec in it's "raw source data."
Here is an example;
I replaced location D421, which is the 1B of the "$001B" (note, 00 is location D420), with CF. So now the line looks like;
The hack for 8746 says location $00CF is in the ecm's RAM and is the desired idle speed value /12.5 (I have a feeling right now that this is going to either become sticky OR combined with an already sticky post).
Inplace of battery volts I have the fuel pump volts, desired AFR, and AFR vs coolant (open loop). Inplace of knock counts I've got o2 x-counts. Inplace of engine RPM I've got desired idle speed (just need to remember to divide the value by 2 when I read it through winaldl. IAC steps (a/c and park position) and IAC steps added for low BatV can replace the "actual" IAC steps. I've even got a more accurate (16bit instead of 8bit) vehicle speed inplace of the eprom id. Usually I just leave the eprom ID outputing final SA, sync bpw, or async bpw. I'm also working with stuff like TPS% from idle (TPS% = value *.39 because to get a % from the range 0-255 you need to multiply the value by 100/255), Injector constant, and VE% for bpw calc all replacing the stupid integrator. A word to the wise or maybe just fellow holley injectors guys....don't even bother looking at the integrator! With TBI it's hard enough to nail down the BLM let alone the integrator.
Right now I've got a TunerCat tdf file that I modified so I can change the outputs of some important values inplace of stupid ones like battery volts and eprom id. I have things that are similar lined up with those that are read in winaldl. Take for example the knock counts. In winaldl, the 8746 has PA3 (knock counter) but no o2 x-counts. So I've got it setup so that I can just flip the 8 in 1 eprom (thanks again Craig) and have the o2 x-counts output in place of the knock counts. I've also got different AFR inplace of battery volts because both bvolts and AFR's are all a value /10. The hardest part was figuring out the stuff like desired idle speed. Since my normal engine speed is divided by 25 and there was only desired idle speed and desired idle speed /12.5, I had to just half the outputed value (12.5/25). You'll need to do this OR have the windows calculator out and use it to convert from Hex to Dec....I take it back, I forgot that winaldl also has every value converted from hex to dec in it's "raw source data."
Here is an example;
Code:
LD420: FDB $001B ; 7. rpm/25 (rpm = n *25)
Code:
LD420: FDB $00CF ; 7. rpm/25 (rpm = n *25)
Inplace of battery volts I have the fuel pump volts, desired AFR, and AFR vs coolant (open loop). Inplace of knock counts I've got o2 x-counts. Inplace of engine RPM I've got desired idle speed (just need to remember to divide the value by 2 when I read it through winaldl. IAC steps (a/c and park position) and IAC steps added for low BatV can replace the "actual" IAC steps. I've even got a more accurate (16bit instead of 8bit) vehicle speed inplace of the eprom id. Usually I just leave the eprom ID outputing final SA, sync bpw, or async bpw. I'm also working with stuff like TPS% from idle (TPS% = value *.39 because to get a % from the range 0-255 you need to multiply the value by 100/255), Injector constant, and VE% for bpw calc all replacing the stupid integrator. A word to the wise or maybe just fellow holley injectors guys....don't even bother looking at the integrator! With TBI it's hard enough to nail down the BLM let alone the integrator.
#3
Supreme Member
Thread Starter
iTrader: (1)
Join Date: Jun 2001
Location: 600 yds out
Posts: 1,520
Likes: 0
Received 0 Likes
on
0 Posts
Car: Bee-Bowdy
Engine: blowd tree-fity
Transmission: sebin hunnerd
Axle/Gears: fo-tins
mmmkay...
So once I get ram variable 0x0067 into data location 0x50B does WinALDL have to mulitply by .35, or do I do that in the code? Or is this code do that "; 7. rpm/25 (rpm = n *25)" for the calc (in your case)? I thought that the semicolon was for commenting. Maybe I'm confused...
Also, I'm not that good at reading code so if anyone knows the ram variable location for the last calculated injector PW I'd love to know.
So once I get ram variable 0x0067 into data location 0x50B does WinALDL have to mulitply by .35, or do I do that in the code? Or is this code do that "; 7. rpm/25 (rpm = n *25)" for the calc (in your case)? I thought that the semicolon was for commenting. Maybe I'm confused...
Also, I'm not that good at reading code so if anyone knows the ram variable location for the last calculated injector PW I'd love to know.
#4
Supreme Member
Thread Starter
iTrader: (1)
Join Date: Jun 2001
Location: 600 yds out
Posts: 1,520
Likes: 0
Received 0 Likes
on
0 Posts
Car: Bee-Bowdy
Engine: blowd tree-fity
Transmission: sebin hunnerd
Axle/Gears: fo-tins
Ok. So can I just use the Pocket Programmer editor to edit the neccessary byte?
I asked around and I found that WinALDL is what does the conversion.
0x50B is $00 in my bin. So I'll change 0x50C to 67. Giving me $0067...correct?
I asked around and I found that WinALDL is what does the conversion.
0x50B is $00 in my bin. So I'll change 0x50C to 67. Giving me $0067...correct?
#5
Senior Member
Join Date: Oct 1999
Posts: 6,621
Likes: 0
Received 1 Like
on
1 Post
Car: 91 Red Sled
Axle/Gears: 10bolt Richmond 3.73 Torsen
Originally posted by V8Astro Captain
mmmkay...
So once I get ram variable 0x0067 into data location 0x50B does WinALDL have to mulitply by .35, or do I do that in the code? Or is this code do that "; 7. rpm/25 (rpm = n *25)" for the calc (in your case)? I thought that the semicolon was for commenting. Maybe I'm confused...
Also, I'm not that good at reading code so if anyone knows the ram variable location for the last calculated injector PW I'd love to know.
mmmkay...
So once I get ram variable 0x0067 into data location 0x50B does WinALDL have to mulitply by .35, or do I do that in the code? Or is this code do that "; 7. rpm/25 (rpm = n *25)" for the calc (in your case)? I thought that the semicolon was for commenting. Maybe I'm confused...
Also, I'm not that good at reading code so if anyone knows the ram variable location for the last calculated injector PW I'd love to know.
To understand this ALDL stuff is simple. The ECM sends out the hex values, then winaldl converts the values into dec. Example; ECM sends out anything from 00 to FF, in dec it's 0 to 255. The ecm doesn't do any of the conversions, that's why the hack file is commented to tell us how to convert the dec value into something useful. Let's say the battery voltage is given from the ecm as 8A, that's 138 in dec. Now the hack tells us to divide by 10 to get volts, hence the 13.8 volts displayed in winaldl.
I'm going to go eat dinner and then replace my rear diff gasket (stupid thing leaks with just RTV) so expect me to reply late tonight!
#6
Supreme Member
Thread Starter
iTrader: (1)
Join Date: Jun 2001
Location: 600 yds out
Posts: 1,520
Likes: 0
Received 0 Likes
on
0 Posts
Car: Bee-Bowdy
Engine: blowd tree-fity
Transmission: sebin hunnerd
Axle/Gears: fo-tins
Originally posted by JPrevost
Okay, I'll give you an example with your 7747... can't believe you're making me look at a hack for an ecm I don't own.
Okay, I'll give you an example with your 7747... can't believe you're making me look at a hack for an ecm I don't own.
Last edited by V8Astro Captain; 08-29-2002 at 07:38 PM.
#7
Senior Member
Join Date: Oct 1999
Posts: 6,621
Likes: 0
Received 1 Like
on
1 Post
Car: 91 Red Sled
Axle/Gears: 10bolt Richmond 3.73 Torsen
You're right, nobody is making me do anything and I wasn't born with source code knowledge nore was it given to me on a silver plate. I got the run around for about a year and it took a lot of questions, a class in programming, and some dedication/disapline to read related topics.
You're not an idiot, nore am I trying to be the "tell all of everything." It's only time and desire that seperates each of us from the other. I'm a couple months ahead of you but light years behind RBob and Grumpy. Take your time and ask the right people the right questions, don't waste time posting rehashed questions or you'll be left with the "read the old stuff" .
Okay, now back to buisness.
I should have corrected you before but in your original post you said, "I assume that the $D002 is the ram variable that the code is loading". $D002 isn't ram, it's actually part of the eprom and not the ecm. Stuff like $00FD, or anything else that starts off with $0___ is from the RAM, anything starting with $D___ is most likely in the eprom.
In the 7747 the ALDL datastream starts at location LD4E7. Since eprom ID is 16-bit (a high msb and low lsb) you can replace it with 2 8-bits.
To output Final SA and BPW into the eprom ID you'd have to replace with The way I found $0052 and $0053 was the BPW was not too simple. I don't know why but the hack for the 7747 that's out in the public doesn't have the listed RAM values at the top. Instead it just goes right into the eprom with LD___ and then the source code. My 8746 hack has the RAM locations listed before the eprom code, go figure . Anyways, all I did was go down to the source code that's stored in the rom and since it's just about all commented I looked for the subroutines that calculated the BPW. Took me a few minutes to find it and verify but I'm pretty sure that's what you wanted. Now winaldl will display this but you'll have to convert it to BPW. I wish I knew the conversion but I don't. I think it's just convert from Hex to Dec and then multiply by 15.26 to get the BPW in usec. Don't take my word on it but that's how the 8746 does it so I wouldn't be suprised if that's what happens with the 7747.
Now you can see how easy it is to find what you want in the RAM and spit it out in winaldl.
You're not an idiot, nore am I trying to be the "tell all of everything." It's only time and desire that seperates each of us from the other. I'm a couple months ahead of you but light years behind RBob and Grumpy. Take your time and ask the right people the right questions, don't waste time posting rehashed questions or you'll be left with the "read the old stuff" .
Okay, now back to buisness.
I should have corrected you before but in your original post you said, "I assume that the $D002 is the ram variable that the code is loading". $D002 isn't ram, it's actually part of the eprom and not the ecm. Stuff like $00FD, or anything else that starts off with $0___ is from the RAM, anything starting with $D___ is most likely in the eprom.
In the 7747 the ALDL datastream starts at location LD4E7. Since eprom ID is 16-bit (a high msb and low lsb) you can replace it with 2 8-bits.
To output Final SA and BPW into the eprom ID you'd have to replace
Code:
LD4E7 FDB $D002 ; 1. EPROM ID LSB LD4E9 FDB $D003 ; 2. EPROM ID MSB
Code:
LD4E7 FDB $0052 ; 1. BPW LSB LD4E9 FDB $0053 ; 2. BPW MSB
Code:
Example; Line D79F: LD79F ADDA L0052 ; BPW,LSB A couple lines down is D7A3: ADDA L0053 ; BPW, MSB
Now you can see how easy it is to find what you want in the RAM and spit it out in winaldl.
Trending Topics
#8
Supreme Member
Thread Starter
iTrader: (1)
Join Date: Jun 2001
Location: 600 yds out
Posts: 1,520
Likes: 0
Received 0 Likes
on
0 Posts
Car: Bee-Bowdy
Engine: blowd tree-fity
Transmission: sebin hunnerd
Axle/Gears: fo-tins
Thanks J.
Another question for you...Because the original code was
What does LSB and MSB do. I have a huge list of assembly commands and those aren't on the list.
Does that mean I HAVE to replace LD4E7 with another variable with something that has LSB attached to it.
Using the code you posted for me...
I see that you replaced LD4E7 with ($0052) BPW LSB. Does it always have to work like this?
Or could I replace LD4E7 with someting like the SA, $0066?
Also, I keep seeing this as I'm perusing the ARJU hack...
So what's the difference between these and the BPW you posted? Does that make sense?
Thanks...
Another question for you...Because the original code was
Code:
LD4E7 FDB $D002 ; 1. EPROM ID LSB LD4E9 FDB $D003 ; 2. EPROM ID MSB
Does that mean I HAVE to replace LD4E7 with another variable with something that has LSB attached to it.
Using the code you posted for me...
Code:
LD4E7 FDB $0052 ; 1. BPW LSB LD4E9 FDB $0053 ; 2. BPW MSB
Or could I replace LD4E7 with someting like the SA, $0066?
Also, I keep seeing this as I'm perusing the ARJU hack...
Code:
D8B9: LDD L0096 ; BPW, ASYN and D9F8: STD LBC0E ; SYNC BPW PWM <-------
Thanks...
Last edited by V8Astro Captain; 08-30-2002 at 12:51 PM.
#9
Senior Member
Join Date: Oct 1999
Posts: 6,621
Likes: 0
Received 1 Like
on
1 Post
Car: 91 Red Sled
Axle/Gears: 10bolt Richmond 3.73 Torsen
MSB and LSB is the way to split up a 16 bit (more accurate) value. MSB is the first "major" part like the whole number and LSB is the "minor" part. From what I've been told an example would be if MSB was say 4D and LSB was 1A. imagine 4D.1A = 77.26
Obviously with our slow ALDL data rate the LSB has very little significance and so I usually don't bother using it.
This brings me into the next question, no, you don't have to have MSB replaced with another MSB, it can be anything you want. ALDL has no function on the operation of the fuel and spark control so you can output o2 volts at EVERY part and you'll just end up with a much more accurate datalogging of the o2 volts .
Put SA and anything else that you want, datalog, convert with excel and you've got what you were looking for.
Obviously with our slow ALDL data rate the LSB has very little significance and so I usually don't bother using it.
This brings me into the next question, no, you don't have to have MSB replaced with another MSB, it can be anything you want. ALDL has no function on the operation of the fuel and spark control so you can output o2 volts at EVERY part and you'll just end up with a much more accurate datalogging of the o2 volts .
Put SA and anything else that you want, datalog, convert with excel and you've got what you were looking for.
#10
Supreme Member
Thread Starter
iTrader: (1)
Join Date: Jun 2001
Location: 600 yds out
Posts: 1,520
Likes: 0
Received 0 Likes
on
0 Posts
Car: Bee-Bowdy
Engine: blowd tree-fity
Transmission: sebin hunnerd
Axle/Gears: fo-tins
I see. Thanks again.
What did you use for the BPW conversion? I have two choices. I know they are really the same thing but what is PW usually measured in?
I have conversion factors of 15.27 and .01527. 15.27 will give me uSec and .01527 will give me mSec.
What did you use for the BPW conversion? I have two choices. I know they are really the same thing but what is PW usually measured in?
I have conversion factors of 15.27 and .01527. 15.27 will give me uSec and .01527 will give me mSec.
Last edited by V8Astro Captain; 08-30-2002 at 04:10 PM.
#11
Supreme Member
Thread Starter
iTrader: (1)
Join Date: Jun 2001
Location: 600 yds out
Posts: 1,520
Likes: 0
Received 0 Likes
on
0 Posts
Car: Bee-Bowdy
Engine: blowd tree-fity
Transmission: sebin hunnerd
Axle/Gears: fo-tins
Hey Jon, I think this is what you were hoping me to find...
Code:
L0000 EQU $0000 ; STATUS WD L0001 EQU $0001 ; STATUS WD L0002 EQU $0002 ; STATUS WD L0003 EQU $0003 ; STATUS WD ; b4 = FUEL DECEL C/O ; L0004 EQU $0004 ; STATUS WD L0005 EQU $0005 ; STATUS WD L0006 EQU $0006 ; STATUS WD L0007 EQU $0007 ; STATUS WD L0008 EQU $0008 ; STATUS WD L0009 EQU $0009 ; STATUS WD L000B EQU $000B ; STATUS WD L000D EQU $000D ; STATUS WD L000E EQU $000E ; MAWF1 (DISPLAY) L000F EQU $000F ; STATUS WD L0010 EQU $0010 ; TMR L0012 EQU $0012 ; AFR STATUS WD L001C EQU $001C ; RPM/25 L001F EQU $001F ; RPM/12.5 L0020 EQU $0020 ; RPM/12.5 L0021 EQU $0021 ; COOLANT L0025 EQU $0025 ; COOLANT, VDC L0026 EQU $0026 ; S/D MAP L002B EQU $002B ; TRANSIENT MAP TMR L002E EQU $002E ; MAP L002F EQU $002F ; FILT MAP L0031 EQU $0031 ; VACUUM L0032 EQU $0032 ; DIFF MAP L0034 EQU $0034 ; MPH/1 L0036 EQU $0036 ; MPH VAL L003E EQU $003E ; o2 VDC, (A/D) L003F EQU $003F ; FILT o2 VAL L0043 EQU $0043 ; ASYNC INJ VAL L0048 EQU $0048 ; TPS, VDC L0049 EQU $0049 ; TPS L004A EQU $004A L004B EQU $004B ; ACCEL ENRICH FILTERED TPS L004C EQU $004C L004D EQU $004D ; FILTERED TPS L004F EQU $004F ; MIN TPS VAL L0050 EQU $0050 ; TPS ERR TMR L0051 EQU $0051 L0052 EQU $0052 ; BPW, MSB L0053 EQU $0053 ; BPW, LSB L0054 EQU $0054 ; COLD OP'S o2 L0055 EQU $0055 ; o2 SENSOR VOLTAGE BIAS L0056 EQU $0056 ; Slow o2 ERROR L0057 EQU $0057 ; ASYNC INJ MULT L0058 EQU $0058 ; PORP DURATION, SEC'S L0070 EQU $0070 ; STATUS WD L007F EQU $007F ; AIR FLOW FOR EGR L0096 EQU $0096 ; BPW, ASYN L0098 EQU $0098 L0099 EQU $0099 ; PUMP SHOT LK UP L009A EQU $009A L009B EQU $009B ; TRANS FUEL CALC INTERVEL TMR L009C EQU $009C ; L009D EQU $009D L009E EQU $009E ; DECEL FUEL MULT L009F EQU $009F ; BETWEEN DECEL FUEL C/0 TIMER L00A0 EQU $00A0 ; POST DECEL C/O TMR L00A1 EQU $00A1 ; DECEL FUEL C/O TMR L00A2 EQU $00A2 ; BLM L00A3 EQU $00A3 ; BLM, BIN L00A4 EQU $00A4 ; INTIGRATOR, BIN L00A5 EQU $00A5 ; OPN LP AFR L00A6 EQU $00A6 L00A7 EQU $00A7 ; EGR CORRECTION L00A9 EQU $00A9 ; VE LK UP RESULT L00AA EQU $00AA L00AB EQU $00AB ; TEMP BPW, (SYNC) L00AD EQU $00AD ; TEMP BPW, (ASYNC) L00AF EQU $00AF ; INTEGRATOR DELAY TMR L00B0 EQU $00B0 ; INTEGRATOR DELAY L00B1 EQU $00B1 L00B2 EQU $00B2 L00B4 EQU $00B4 ; IDLE AFR TMR L00B5 EQU $00B5 ; AFR L00B6 EQU $00B6 ; AFR L00B8 EQU $00B8 ; BLK LEARN TMR L00B9 EQU $00B9 ; INTEGRATOR DELAY TMR L00BA EQU $00BA ; ALDL CTR L00BB EQU $00BB ; PE ON DELAY TMR L00BC EQU $00BC ; PORP FACTORED AIR FLOW L00BD EQU $00BD ; OLD FILT o2 VAL L00BE EQU $00BE ; AIR FLOW, (gms/sec) L00BF EQU $00BF ; PORP DURATION TMR L00DE EQU $00DE ; STATUS WD L00DF EQU $00DF L00E3 EQU $00E3 ; START UP COOL L00E5 EQU $00E5 ; AFR L0457 EQU $0457 ; FOR HEADS UP USE L0458 EQU $0458 ; FOR HEADS UP USE L5800 EQU $5800 ; HEADS UP LBC00 EQU $BC00 ; DRP COUNT LBC0E EQU $BC0E ; SYNC BPW PWM LBC14 EQU $BC14 ; ASYNC BPW PWM LBC3C EQU $BC3C ; PWM LE008 EQU $E008 ; CPU HOOK LE531 EQU $E531 LFA59 EQU $FA59 ; FIRMWARE LFB12 EQU $FB12 ; LAG FILTER ROUTINE LFB36 EQU $FB36 ; 2d LK UP LFB40 EQU $FB40 ; 2D LK UP W/LINE CNT IN HDR LFB45 EQU $FB45 ; 2d LK UP LFB49 EQU $FB49 ; 2d look up routine LFB67 EQU $FB67 ; 3D LU ? LFB92 EQU $FB92 LFBB9 EQU $FBB9 LFBCE EQU $FBCE LFBDB EQU $FBDB ; READ A/D LFCD8 EQU $FCD8 LFD18 EQU $FD18 LFD39 EQU $FD39 LFDBD EQU $FDBD LFDCB EQU $FDCB LFDDA EQU $FDDA LFF66 EQU $FF66 LFF80 EQU $FF80 LFFFF EQU $FFFF
Thread
Thread Starter
Forum
Replies
Last Post
3rdgenparts
Engine/Drivetrain/Suspension Parts for Sale
6
05-21-2016 11:50 PM
Linson
Auto Detailing and Appearance
12
10-01-2015 09:50 PM