Edge-u-ma-kate me on TunerPro tuning... For dummies

Real tech discussion on design, fabrication, testing, development of custom or adapted parts for Pontiac Fieros. Not questions about the power a CAI will give.

Moderators: The Dark Side of Will, Series8217

fieromadman
Posts: 472
Joined: Wed Nov 17, 2004 11:26 pm
Location: oconomowoc WI
Contact:

Edge-u-ma-kate me on TunerPro tuning... For dummies

Post by fieromadman »

Who knows of a good place (hopefully like a specific thread/page) to start the educating process of learning to tune your own car. I have TunerPro RT (also GMPCM) and Darren Freed's disassembly for the 94-95 3.4 DOHC ECM (which is what I have). TunerPro uses .bin fines and .xdf files. I have neither from Darren, but he suggested that I use TunerPro to tune. How the duce is this supposed to work? BTW, he gave me a disassembly of the 2E mask.

I have a PDF file, a DOC file and a XML file that are all from Darren. Their just different versions of the same thing I presume, except I dont know what exactly the XML file is all about.

This is the e-mail that I got from Darren:
-------------------
Attached is a disassembly of your PCM. This, plus a .bin editor (ie TunerPro) and a prom eraser and programmer is all you need to get it tuned up.

Use at your own risk! I don't support this - I've moved on to OBD-II, PCMs.

Good Luck,

Darren
-------------------

So please, give me some direction!

Thanks!
Jeff
*SOLD* 95 3.4 DOHC- 96-97 p&p lower intake, custom upper intake, custom cams, ported exh manis, 180* t-stat.
T-62 Turbonetics T3/T4, air-liquid intercooled, Synapse 40mm, Greddy RS, Haltech E6K.
1987 GT, lowered, KYB's, clutchnet 6 puck, G/A brakes
Pyrthian
Posts: 628
Joined: Fri Jun 10, 2005 11:35 am
Location: Detroit, MI

Post by Pyrthian »

I'd like to know this too.
I really dont think trial & error is the right approach - at least at first.
I'd expect some detailed searches on forums, get familear with the terms, and a rough idea of what does what - THEN do the trial & error.

I know there are some websites also, where people have posted tuning info that they did with their particular setup.
fieromadman
Posts: 472
Joined: Wed Nov 17, 2004 11:26 pm
Location: oconomowoc WI
Contact:

Post by fieromadman »

Trail and error with an engine is definatly not the way to go...

Anyone?
*SOLD* 95 3.4 DOHC- 96-97 p&p lower intake, custom upper intake, custom cams, ported exh manis, 180* t-stat.
T-62 Turbonetics T3/T4, air-liquid intercooled, Synapse 40mm, Greddy RS, Haltech E6K.
1987 GT, lowered, KYB's, clutchnet 6 puck, G/A brakes
User avatar
Shaun41178(2)
Posts: 8464
Joined: Fri Nov 19, 2004 7:12 pm
Location: Ben Phelps is an alleged scammer

Post by Shaun41178(2) »

you have a wideband? If not don't bother trying to tune untill you get one.

I know nothing about tunercat or pro or whatever it is you have.

First thing you need to do though is get a baseline with the stock prom and go from there while scanning and driving.
User avatar
mrsleeve91
Posts: 146
Joined: Mon Jul 31, 2006 8:54 pm
Location: Tucson, USA
Contact:

Post by mrsleeve91 »

Yeah! what he said!!! :thumbleft:
Jinxmutt
Posts: 991
Joined: Sat Feb 12, 2005 9:30 pm

Post by Jinxmutt »

The XML was written by some program to do logging. I checked the values in the XML file you have vs the .ds file for your pcm and they correspond. Basically all the file does is tell the program what each byte does, and if its a full 8 bits. Otherwise, it breaks each of the bits down into a different meaning.

Example:

.ds says
"3 COOLDEGA COOLANT TEMPERATURE
DEG F = 1.35N - 40"

So your .ads in tunerpro (or xml for whatever in this case) is:
btByteNumber =3;
btMessageNumber =3;
dwItemSizeBits =8;
dwOperation =0;
dFactor =1.350000;
dOffset =-40.000000;
strItemTitle =Coolant Temp;
strUnitLabel =Deg F;
dwAlarmHigh =255;
bAlarmHighENable =0;
dwAlarmLow =0;
bAlarmLowEnable =0;
iRangeHigh =255;
iRangeLow =0;
iLookupTableIndex =-1;

The byte it reads is the 3rd byte, its 8 bits, so thats all the data it needs. the alarm values it has to reach to turn red.

34 FMDINST FMD INPUT STATUS WORD
0 1 = PARK/NEUTRAL MODE
1 0 = IN 2ND GEAR
2 0 = IN 3RD GEAR
3 0 = IN 4TH GEAR
4 0 = IN 5TH GEAR (MANUAL TRANSMISSION)
5 1 = LOW OIL LEVEL
6 1 = TCC BRAKE PRESSED
7 0 = A/C REQUEST

This is showing byte 34 broken down into 8 bits meaning a different things. The ads would have 8 values for each of these.


I know this doesn't help your tuning much, this is pure logging. Just trying to say what the xml file you have does. And its basically equivalent to a tunerpro .ads file.
Anyone know what logging program uses .xml files?

The other two files, the PDF and the .doc file are the same information. You need to use that data to create the .xdf file which you will use to modify the bin and essentially tune the car. Converting from the disassembly file to an xdf file is beyond my scope of interest.
fieromadman
Posts: 472
Joined: Wed Nov 17, 2004 11:26 pm
Location: oconomowoc WI
Contact:

Post by fieromadman »

I don't have a wideband yet. I know that it doesn't make sense to tune without a wideband. Im not actually interesting in tuning my car at this point. At this point I'm more interested in learning the process for when I decide to tune myself. There will be a day when I go turbo and I'm going to want to tune it myself (with a wideband obviously).

So basically except for the xml information that Jinxmutt gave, I could have guessed that those files needed to be converted to XDF because they were basic disassemblies. The question is, Who knows how to point me in the right direction to convert those files?

Thanks!
Jeff
*SOLD* 95 3.4 DOHC- 96-97 p&p lower intake, custom upper intake, custom cams, ported exh manis, 180* t-stat.
T-62 Turbonetics T3/T4, air-liquid intercooled, Synapse 40mm, Greddy RS, Haltech E6K.
1987 GT, lowered, KYB's, clutchnet 6 puck, G/A brakes
Fastback86
Posts: 1010
Joined: Sat Mar 04, 2006 12:19 am
Location: The Peoples Republic of Kalefornya
Contact:

Post by Fastback86 »

Here's how Series8217 and I "tuned" my car, and I didn't have a wideband.

We'd go for a drive with the laptop with data logger plugged into the ALDL. I'd drive at a specific RPM for a minute or so to get some data, then we'd move on to the next, generally starting around 1500 then going up by 500 RPM each time. We did this both on level ground and on a very steep hill so the car was under plenty of load. We'd take the log back and look at the BLMs, then adjust the fuel tables to bring the BLMs back to 128 at every RPM range, whether it meant adding or removing fuel and burn a new chip. Then we'd go do it again, and after several runs, we had it running and logging good, and to this day it runs very smoothly and has plenty of power. This was fairly easy to do in a day because we also removed the old chip from my computer and converted it to the easy to reprogram chips from the later computers (3.1 ECU I think) with some parts from Moates.net. The original chip would've required more special equipment to erase and reprogram, but this one was a cinch.

Now, obviously this is not a professional dyno tune, but its infinitely better than what the stock chip (or any of the ones Trueleo sent me) could handle with the Trueleo intake and other mods on my 3.4.

So basically, we were just watching the O2 sensor to see if it was going rich or lean, then adjusting it.

Also, when I say we, I mostly mean Series, since all I really did in this tuning process was drive the car.
<Insert Sig Here>
The Dark Side of Will
Peer Mediator
Posts: 15629
Joined: Wed Nov 24, 2004 11:13 pm
Location: In the darkness, where fear and knowing are one
Contact:

Post by The Dark Side of Will »

The factory algorithms for long term fuel trims can extract data from a narrow band sensor that is almost as good as the data you get from a wide band sensor; they just take longer to do it because they gain accuracy through statistics.
User avatar
Series8217
1988 Fiero Track Car
Posts: 5989
Joined: Thu Jun 02, 2005 9:47 pm
Location: Los Angeles, CA

Post by Series8217 »

and it's not really practical to tune WOT because you have to do it at stoich for the narrowband oxygen sensor to give useful readings..
but it gets you close everywhere else.
The Dark Side of Will
Peer Mediator
Posts: 15629
Joined: Wed Nov 24, 2004 11:13 pm
Location: In the darkness, where fear and knowing are one
Contact:

Post by The Dark Side of Will »

There are guys who do tune WOT that way, though.
They increase the PE threshold to 95% incrementally and tune in closed loop at WOT.

Obviously, that should be done ONLY for tuning purposes and only for one BLM cell at a time and the engine should only be held at that throttle level only long enough for the BLM to settle at that MAP.

Doing that is probably not a good idea for boosted engines...
User avatar
Series8217
1988 Fiero Track Car
Posts: 5989
Joined: Thu Jun 02, 2005 9:47 pm
Location: Los Angeles, CA

Post by Series8217 »

Do NOT do it long enough for the BLM to settle. That is DEFINITELY long enough under load at stoich to blow up your motor. It can take minutes to do that. If you're tuning that way you need to disable BLM altogether and just look at the integrator value. The integrator should settle in very quickly..
The Dark Side of Will
Peer Mediator
Posts: 15629
Joined: Wed Nov 24, 2004 11:13 pm
Location: In the darkness, where fear and knowing are one
Contact:

Post by The Dark Side of Will »

It's been a while since I read the document, so maybe they were using the integrator.

However, at least in some code masks, you can also change the update iterval on the BLM so it tracks the integrator much more quickly...

The long term fuel trim algorithm was written and timed for long time cycle changes in engine operation. If you know that you're looking for changes on a much lower time scale, then there's nothing wrong with adjusting the algorithm accordingly.
fieromadman
Posts: 472
Joined: Wed Nov 17, 2004 11:26 pm
Location: oconomowoc WI
Contact:

Post by fieromadman »

While I enjoy the general tuning discussion in this thread, can anyone help me with making a disassembly into an XDF file?
*SOLD* 95 3.4 DOHC- 96-97 p&p lower intake, custom upper intake, custom cams, ported exh manis, 180* t-stat.
T-62 Turbonetics T3/T4, air-liquid intercooled, Synapse 40mm, Greddy RS, Haltech E6K.
1987 GT, lowered, KYB's, clutchnet 6 puck, G/A brakes
The Dark Side of Will
Peer Mediator
Posts: 15629
Joined: Wed Nov 24, 2004 11:13 pm
Location: In the darkness, where fear and knowing are one
Contact:

Post by The Dark Side of Will »

Just get TunerCat and use his $2E definition:

http://www.tunercat.com/tnr_desc/do_tc.html

Unless you want to do it purely for the masochistic joy...
fieromadman
Posts: 472
Joined: Wed Nov 17, 2004 11:26 pm
Location: oconomowoc WI
Contact:

Post by fieromadman »

That would defeat the doing this for free goal.

Plus being that I'm a poor college student I cn't afford it.
*SOLD* 95 3.4 DOHC- 96-97 p&p lower intake, custom upper intake, custom cams, ported exh manis, 180* t-stat.
T-62 Turbonetics T3/T4, air-liquid intercooled, Synapse 40mm, Greddy RS, Haltech E6K.
1987 GT, lowered, KYB's, clutchnet 6 puck, G/A brakes
whipped
Posts: 4719
Joined: Tue Mar 22, 2005 11:17 am
Location: Bomb shelter, FL

Post by whipped »

Post a snippet of the code here and I can walk you through how to add it to a definition file.

Lets start simple. Find the road speed constant in the code. This is what is used to calculate the MPH from the VSS input.
fieromadman
Posts: 472
Joined: Wed Nov 17, 2004 11:26 pm
Location: oconomowoc WI
Contact:

Post by fieromadman »

I hope this is what you were looking for:

;---------------------------------------------------------
; DO MPH CALCULATION
;---------------------------------------------------------
A24E brset *L0095,#0x10,LA27B ;BRANCH IF BATT VOLTS < 4.0, ELSE
A252 ldy L3FE0 ;LOAD ROAD SPD PULSE COUNTER
A256 mul ;DELAY
A257 ldx L3FC2 ;B CNTR
A25A mul ;DELAY
A25B cpy L3FE0 ;? ANY VSS PULSES ?
A25F beq LA267 ;BRANCH IF NOT, ELSE
A261 iny ;INCREMENT Y
A263 nop ;DELAY
A264 ldx L3FC2 ;LOAD B CNTR
A267 LA267:cpx L011C ;COMPARE TIMER PULSE COUNTER
A26A bne LA28D ;BRANCH IF THEY’RE NOT EQUAL, ELSE
A26C ldab L0119 ;LOAD VSS PULSE COUNTER
A26F cmpb L9777 ;0x17
A272 bhi LA27B ;BRANCH IF > 0x17, ELSE
A274 incb ;INCREMENT COUNTER
A275 stab L0119 ;SAVE VSS PULSE COUNTER
A278 jmp LA38B ;

A27B LA27B:bclr *L0086,#0x10 ;CLEAR TCC ROAD SPD 1ST PULSE FLAG
A27E ldd #0x0000 ;LOAD
A281 std L0261 ;TURBINE RPM
A284 std L0263 ;MPH
A287 std L0265 ;RATIO OF ENGINE TO TURBINE RPM
A28A jmp LA32A ;

A28D LA28D:pshx ;SAVE
A28E brset *L0086,#0x10,LA29D ;BRANCH IF TCC ROAD SPD PULSE, ELSE
A292 bset *L0086,#0x10 ;SET TCC ROAD SPD 1ST PULSE FLAG
A295 inx ;INCREMENT
A296 stx L011C ;SAVE PULSE COUNTER
A299 inx ;INCREMENT
A29A stx L011A ;SAVE PULSE COUNTER
A29D LA29D:clr L0119 ;CLEAR VSS PULSE COUNTER
A2A0 ldx L011C ;LOAD PULSE COUNTER
A2A3 stx L011A ;SAVE PULSE COUNTER
A2A6 pulx ;RESTORE PULSES
A2A7 stx L011C ;SAVE PULSE COUNTER
A2AA ldd L011C ;LOAD
A2AD subd L011A ;SUBTRACT
A2B0 pshb ;SAVE LSB ON STACK
A2B1 psha ;SAVE MSB
A2B2 ldd L0267 ;LOAD
A2B5 nega ;INVERT MSB
A2B6 negb ;INVERT LSB
A2B7 sbca #0x00 ;ROUND
A2B9 sty L0267 ;SAVE
A2BD addd L0267 ;ADD
A2C0 stab L0269 ;SAVE
A2C3 tba ;COPY TO A REG
A2C4 ldx L0252 ;? ACCUMULATED DISTANCE
A2C7 abx ;ADD
A2C8 stx L0252 ;? ACCUMULATED DISTANCE
A2CB ldx #0x9775 ;? ROAD SPEED CONSTANT
A2CE jsr L98B9 ;8 X 16 MULTIPLY
A2D1 pulx ;GET PRODUCT IN TO X REG
A2D2 pshx ;SAVE ON STACK
A2D3 fdiv ;MAKE THEM A FRACTION
A2D4 pshx ;SAVE ON STACK
A2D5 tsx ;X POINTS TO STACK
A2D6 ldaa 0x00,x ;GET LSB FROM STACK -> A REG
A2D8 ldab L978C ;1
A2DB suba L0263 ;MPH
A2DE bcc LA2E2 ;BRANCH IF MPH < 1, ELSE
A2E0 negb ;
A2E1 nega ;
A2E2 LA2E2:cmpa L978C ;1
A2E5 ldaa 0x00,x ;
A2E7 bls LA2EF ;BRANCH IF <= 1, ELSE
A2E9 ldaa L0263 ;MPH
A2EC aba ;ADD B TO MPH
A2ED staa 0x00,x ;STORE
A2EF LA2EF:pulx ;GET INTO X REG
A2F0 stx L0263 ;STORE MPH
A2F3 pshx ;SAVE ON STACK
A2F4 pula ;GET MSB
A2F5 pulb ;GET LSB
A2F6 clrb ;CLEAR LSB
A2F7 psha ;SAVE ON STACK
A2F8 pshb ;
A2F9 pulx ;GET INTO X REG
A2FA ldd *L00EB ;RPM
A2FC idiv ;DIVIDE
A2FD stx L0283 ;STORE QUOTIENT (RPM/MPH)
A300 ldab #0x02 ;2
A302 ldx #0x978D ;INDEX
A305 brclr *L008E,#0x08,LA314 ;BRANCH IF 4TH GEAR, ELSE
A309 abx ;978F
A30A brclr *L008E,#0x04,LA314 ;BRANCH IF 3RD GEAR, ELSE
A30E abx ;9791
A30F brclr *L008E,#0x02,LA314 ;BRANCH IF 2ND GEAR, ELSE
A313 abx ;9793
A314 LA314:ldab L0269 ;
A317 jsr L98CD ;B x X, 8 X 16 MULTIPLY
A31A pulx ;GET INTO X REG
A31B jsr L98E0 ;DIVIDE
A31E stx L0261 ;STORE TURBINE RPM
A321 ldd L0261 ;LOAD TURBINE RPM
A324 ldx *L00EB ;16 BIT RPM
A326 fdiv ;D/X
A327 stx L0265 ;STORE RATIO OF ENGINE TO TURBINE RPM
A32A LA32A:ldx #0x90AB ;INDEX
A32D brclr *L0015,#0x02,LA33B ;BRANCH IF NOT P0501 VSS MALF, ELSE
A331 brclr 0x0A,x,#0x02,LA369 ;BRANCH IF NOT BIT 1 90B5 – TIS SET
A335 bset *L00A0,#0x30 ;SET TIMER TO 48d
A338 jmp LA369 ;JUMP

Thanks!
Jeff
*SOLD* 95 3.4 DOHC- 96-97 p&p lower intake, custom upper intake, custom cams, ported exh manis, 180* t-stat.
T-62 Turbonetics T3/T4, air-liquid intercooled, Synapse 40mm, Greddy RS, Haltech E6K.
1987 GT, lowered, KYB's, clutchnet 6 puck, G/A brakes
whipped
Posts: 4719
Joined: Tue Mar 22, 2005 11:17 am
Location: Bomb shelter, FL

Post by whipped »

fieromadman wrote: A2CB ldx #0x9775 ;? ROAD SPEED CONSTANT
Okay, this is from your disassembly, which is fine. Here is how to read this:

At address "A2CB", there is an instruction that "loads the x register" with the value at address "9775".

If this were running in a computer, it would then run over to address "9775" and find the value that is stored there. (Go ahead and post that now. ;) )
User avatar
Emc209i
Posts: 1466
Joined: Thu Jan 18, 2007 2:31 am
Location: Charleston, SC

Post by Emc209i »

Standing by.
Post Reply