Over-riding embedded rom spark advance code

Eric Stage I

TurboTweak Guy
Joined
May 25, 2001
If I write some code to change the spark advance (lets say I want to force advance to 18* for a specified time), will it be overidden by the embedded rom code?

Also, I noticed that the factory code allows for a jump to some "external equipment" code sometimes. Is it possible to build an external board to hold some code (factory service port?).

Thanks,
Eric
 
Originally posted by Eric Stage I
If I write some code to change the spark advance (lets say I want to force advance to 18* for a specified time), will it be overidden by the embedded rom code?
Also, I noticed that the factory code allows for a jump to some "external equipment" code sometimes. Is it possible to build an external board to hold some code (factory service port?).

2/3s of the code is in the ROM.
Personally I can't see a reason for a fixed time timing correction, that would assume there would be no possibilities for error. I only mention this as a BTDT.

The jump to external equipment is left overs from the GM calibration tuning team.

The best thing to do is just dump the ROM, and recomplie things so as to have a truely ROMless ecm, and then pick things up from there, ie develope your own source code for the GM stuff, and then work with that.

Done right you can patch about anything. You can even patch around what the ROM wants to do, but the trick is knowing what the ROM is trying to do/ store, some things.
 
Thanks Bruce,
I'd basically like to delay full advance until spoolup is done to see the effects on the mystical "transitional" knock, when trying to use alcohol injection with high timing. I was gonna write the code to be similar to the burst knock retard code. Except instead of just subtracting X degrees from current timing for a specified time after x% tps change, it would force the timing to X degrees for a specified time. With the existing "subtraction" method, who knows where the timing will end up.
I just don't know if I can alter timing (in the existing system) since that happens in the rom.

Eric
 
Timing tables are in the eprom, not imbedded rom.

except of course for limp home.
 
Originally posted by Eric Stage I
Thanks Bruce,
I'd basically like to delay full advance until spoolup is done to see the effects on the mystical "transitional" knock, when trying to use alcohol injection with high timing. I was gonna write the code to be similar to the burst knock retard code. Except instead of just subtracting X degrees from current timing for a specified time after x% tps change, it would force the timing to X degrees for a specified time. With the existing "subtraction" method, who knows where the timing will end up.
I just don't know if I can alter timing (in the existing system) since that happens in the rom.
Eric

Wellll,
It would seem that your just looking for a launch assist and that is one of the features in the Extender Chips. BTW, it works really well.

I'd think you do better with just modifing the BKR function,

Just a couple things to think about,
your using Alcky, OK, when do you turn it on?.
What areas in the code work in what way at PE enrichment?.

Maybe just set the WOT Timing table to operate at just a really high TPS value. There is also a min LV8 for PE.

Lots of ways to deal with what your looking at.

The final additions of timing corrections are in the ROM. So you can add or ignore stuff in there, but there is room in the EPROM to write some code, at the expense of lose of some oem function.

First thing you'll want to do is build an ecm bench. It's easier to see a mistake on Direct Scan, then hammer on an engine.
 
Your right Dave, the tables are in the eprom, but I want to do a patch that will change how timing is applied, not the tables themselves.

Thanks,
Eric
 
I'm too lazy for an ECM bench:D

But seriously...what does it take to put one together? I've seen some of your stuff from dyi-efi.

Eric
 
Whats the difference in what youre trying to do and what my variable timing chips do? You can do whatever you want with the timing according to boost levels with that setup.
 
Originally posted by Eric Stage I
Your right Dave, the tables are in the eprom, but I want to do a patch that will change how timing is applied, not the tables themselves.

Thanks,
Eric

Ahh, now I'm not confused any more. You were using the term 'imbedded rom'. There are several other chips in the PCM that are soldered in place that actually are imbedded rom. what resides in there is the rest of the program execution and a lot of rom, and some non volotile ram.
 
Originally posted by Eric Stage I
I'm too lazy for an ECM bench:D
But seriously...what does it take to put one together? I've seen some of your stuff from dyi-efi.
Eric


A couple frequency generator, and a few pots.

You need freq inputs for ignition, MAF and VSS, then the CTS IAT sensors are just pots. Hook up a Direct San and make a change and see what happens. Couple switches for 3-4 P/N safety swiches, and your done. With a little dfooling around you can even set up a O2 feedback loop to watch it about as close as to possible in a car.
 
Jay,
Actually, I would like to try your variable timing chip. I suppose I need to get a turbolink harness and a 3-bar map. I'll email you with details.

Thanks,
Eric
 
Originally posted by chris
Bruce
Could you show us how to construct an o2 feedback loop ckt?
chris

taking something like the tach signal, use that to drive a LED. Million ways to do it but the bottom line is that the O2 responds to cylinder firings so that's where you begin.

To fire an LED you'll need to add a 1K resistor to current limit it.

You'll also notice the voltage drop across a LED is 1.8v. No to get a swing from 0-.9v just tie two 10K resistors in series with the LED, and you then have a voltage that toggles from 0-.9 with each injector firing. Now if you want to get crazy and get stabile BL numbers you'll use this O2 pulse to run a 555 and with that you can trim the O2s feed back to maintain 128 BLs.

I figure I got about 50K miles on my ecm bench LOL
 
This is what the final spark calculation looks like,
FWIW



************************
* SUM THE ADVANCES *
************************
SUMADV LDAA #0 ;
ADCA #0 ;
ADDB TEMP+7 ; SUM THE ADVANCES;
ADCA #0 ; SAP = SAMAIN + SAALDL+ SAHM -
;CTBIAS
ADDB TEMP+6 ; -SRHR + SATC + SATI - KATSBIAS +
;ATSSPK
ADCA #0 ;
ADDB TEMP+5 ;
ADCA #0 ;
ADDB SABST ;
ADCA #0 ;
ADDB SATI ;
ADCA #0 ;
SUBB KCTBIAS ;
SBCA #0 ;
SUBB KATSBIAS ;
SBCA #0 ;
SUBB TEMP+4 ;
SBCA #0 ;
SUBB TEMP+3 ;
SBCA #0 ;
PSHA ;
LDAA MCUINST ; IN PARK/NEUTRAL?
RORA ;
PULA ;
BCC STDADV ; NO- BRANCH
ADDD KPNSPK ; YES- ADD IN P/N SPARK ADVANCE
;STDADV STD SAP ; SAP SCALED
LDAA MWBG ; IS I2U PRESENT?;
BPL SUBREF ;
JSR $5809 ; THUMBSUB
SUBREF LDD SAP ; SAREF = SAP - KREFANGL;
SUBB KREFANGL ;
SBCA #0 ;
STD SAREF ;
;
**************************************
 
Top