DIY_EFI Digest Friday, June 11 1999 Volume 04 : Number 353 In this issue: Re: LT1 EEPROM Programming Help efi project Identify Injectors Identify Injectors again code 101 Re: Edelbrock TBI conversion to PI Changing my mind??351C EFI Re: diy_efi Honda EGO Meter downloading timeout problems Re: diy_efi Honda EGO Meter See the end of the digest for information on subscribing to the DIY_EFI or DIY_EFI-Digest mailing lists. ---------------------------------------------------------------------- Date: Thu, 10 Jun 1999 20:52:18 -0400 From: Ken Kelly Subject: Re: LT1 EEPROM Programming Help I have an editor working for the Fuel and ignition tables for the 94-95 LT1. I haven't finished the T side which has the Fan turn on and Transmission tables. Another List member- Dave is working on the ADL interface software. He has the software to read out you EEprom data now, and will have the write section going soon. You PCM has 2 motorola 68HC11F1's and 2 512K byte Flash chips. The CPU is a slightly modified 68HC11 sold to GM. Ken Jeff Bromberger wrote: > > Hello, I'm new to the list so forgive me if this has been asked > before... > > What are my options to reprogram the EEPROM on my '94 LT1 > camaro? I'd like to change values such as fan turn-on temps, > timing advance, injector/fuel maps, etc. I don't want to use > something like the hypertech programmer, I'd prefer to do it > myself. Is the PCM proprietary hardware or is it a commonly > available uP like a motorola? > > any help would be greatly appreciated, > Jeff Bromberger > bromberger@xxx.com ------------------------------ Date: Fri, 11 Jun 1999 19:34:48 -0600 From: cwagner@xxx.net Subject: efi project I am going to be making a fuel injection system for a 79 Dodge Omni with the 1.7 L engine. The reasoning is that the car is a commuter car and needs to get good fuel mileage and good emissions. The original carb on the car is worn out from the vibration of the engine, as a matter of fact, the main boosters are loose in the venture barrels. I am also doing this to get better at doing such things. The question I have is what kind of system should I go with? I would prefer to use throttle body injection but I need to be able to reprogram the computer to work with this engine. Has anybody have any ideas? Or should I just use a CIS from a VW Rabbit. ------------------------------ Date: Thu, 10 Jun 1999 22:14:01 -0400 From: Jason Weir Subject: Identify Injectors I got a set of injectors that came off a 94ish Jeep Cherokee 4.2L, I am wondering if anyone can identify them for me.. Size, type, P&H, saturated, impedance, etc... markings on injector SIEMENS DEKA 53036 0343 118G 92 and they have the Chrysler symbol(pentagon?) on them thanks a bunch Jason Weir - -- 88 Wrangler - 157K miles and counting 258 I6, 4.0 head, Cherokee header, 2.5" High-Flow Cat & Flowmaster GM TBI(Soon to be MPI hopefully), Crane 260H Cam TJ Fender Flares http://home.att.net/~jweir CNC 4X4 Member - http://cnc.4x4.org/ ------------------------------ Date: Thu, 10 Jun 1999 22:15:59 -0400 From: Jason Weir Subject: Identify Injectors again I screwed up on the markings here are the correct ones markings on injector SIEMENS DEKA 53030343 118G 92 and they have the Chrysler symbol(pentagon?) on them sorry for the waste of bandwidth and time Jason - -- 88 Wrangler - 157K miles and counting 258 I6, 4.0 head, Cherokee header, 2.5" High-Flow Cat & Flowmaster GM TBI(Soon to be MPI hopefully), Crane 260H Cam TJ Fender Flares http://home.att.net/~jweir CNC 4X4 Member - http://cnc.4x4.org/ ------------------------------ Date: Thu, 10 Jun 1999 22:32:47 -0700 From: rr Subject: code 101 Hoping to compliment what Steve and others have been doing, I'll describe some actual code. What follows is a code fragment from the beginning of the spark advance calculation. I'll explain what the code is doing as I go along. Enjoy, BobR. - --starts here-- In general terms, this code does a look-up into the main SA table, based on current engine MAP (load) and RPM. It then does a Slope calculation for any additional SA, based on RPM. For the following: rpm = 4000 map = 40Kpa We are just cruising down the highway, when the ecm needs to do it's Spark Advance calculation... *============================================= * MAIN SA TABLE CALCULATION, (14x15) * * ECM 1227747 SA table ASDZ * * reg X is 16 bit (2 bytes) * reg A is 8 bits (1 byte) * reg B is 8 bits (1 byte) * * RAM and eprom locations are 8 bits each. * *============================================= Code Branch Instruction: Comments: Adr: label: E759: LDX #$D032 ; Loads the X reg with the location ; of the MAIN SA TABLE. The '#$D032' ; is an immediate value, known as a ; hardcoded value. The SA table resides ; in the eprom. ; ; The '#' designates an immediate value ; The '$' means that it's in hex ; E75C: LDAB L0026 ; Loads the B reg from RAM location L0026, ; with the current MAP value. ; ; So: B = 64 = MAP/0.625 => (40/0.625 = 64) ; E75E: LDAA L001B ; Loads the A reg from RAM location L001B, ; with the current RPM value. ; ; So: A = 160 = RPM/25 => (4000/25 = 160) ; E760: JSR LFB67 ; Jump to SubRoutine for a 3d Look-Up. The ; subroutine is located at address 0xFB67. ; This gets the SA value from the proper ; table location. We then return to ; execute the next instruction. ; ; The 'looked-up' value will be 'returned' ; in the A reg. (A = 102 => 35.8 deg), and ; stored in RAM location L0051 by the Look ; Up routine. ; ; Since the table ends at 3600 rpm, and ; the current rpm is 4000 rpm, the last ; row in the table will be used (3600 rpm). ; E763: LDAB L001C ; Loads the B reg from RAM location L001C, ; with the current RPM value. ; ; So: B = 160 = RPM/25 ; E765: CMPB #144 ; Compare reg B value with the value 144. ; So: B - 144 => (160 - 144 = 16), The '16' ; (the result), doesn't get used. But ; condition code flags have been set ; according to the result of the compare. ; ; 144 * 25 = 3600 RPM, the end of the ; main spark table. This is where any ; added SA slope begins. ; E767: BLS LE77E ; Branch Less Than: Branch if RPM less-than ; 3600 RPM. Branch to LE77E, a short distance ; down the code, and skip whats between here ; at the 'branch-to' location. ; ; This branch is based on the previous ; Compare instruction using the condition ; code flags. ; ; Our RPM is @ 4000, so we don't branch ; and continue on. ; E769: CMPB LD00C ; Compare the reg B value against an eprom ; table value of 168 (4200 RPM). ; ; So: B - LD00C => (160 - 168 = -8) ; ; This is the MAIN SPK HIGH EXTEND located ; at 0xD00C (LD00C) ; E76C: BLS LE771 ; Branch Less Than: We take the branch, as ; the above compare gave us a result less ; than zero. We continue after the next ; instruction, as we 'jumped' past it. ; ; The branch to address is 0xE771. ; E76E: LDAB LD00C ; Load reg B from LD00C, MAX Slope RPM. The ; code would execute this if our RPM was ; above 4200. This clips the RPM value to ; this maximum possible value for the calc. ; ; So: B = 168 => (168 * 25 = 4200rpm) ; E771: LE771 SUBB #144 ; Subtract from reg B the immediate value ; of 144 (3600 RPM). Reg B still has our ; current RPM, (or the max slope rpm if ; the current rpm was greater than 4200 rpm). ; ; So: B - 144 => (160 - 144 = 16), B = 16 ; E773: ASLB ; Arithmetic Shift Left B, shifts all the ; bits in reg B once to the left. This has ; the effect of multiplying the value in ; reg B by 2 (double it). ; ; So: B << 1 => (16 * 2 = 32), B = 32 ; E774: LDAA LD00D ; Load reg A from eprom location LD00D, with ; the SA per 1k RPM value. This value is 46 ; for ~5.1 degrees every 1000 rpm. ; ; So: A = 46 ; E777: MUL ; Multiply reg A times reg B, and put ; the result in reg's A & B. ; ; So: A * B => (46 * 32 = 1472), the ; value 1472 is stored in reg's A & B. ; Reg A has the high order 8 bits, reg B ; has the low order 8 bits of the result. ; E778: ADDA L0051 ; Add to reg A the value found in RAM ; at location L0051, this is from the ; previous look-up of the main SA value. ; ; NOte some strangeness here, the calc'd ; slope value is in reg's A & B, but the ; code is dropping the reg B part. This ; in effect is causing the value in A&B ; to be divided by 256. (subtle, eh?) ; ; So: 1472 / 256 = 5, the value held by ; reg A. ; ; So: A + L0051 => (5 + 102 = 107), reg A ; now contains the value 107, or in degrees ; of SA: 107 * .351 = 37.5 deg. (The .351 ; is the conversion factor for SA values). ; ; The slope calc added 1.7 deg of SA. ; E77A: BCC LE77E ; Branch if Carry Clear to location LE77E; ; We will take the branch, carry is clear. ; ; 'Carry' is a condition code flag that ; is set according to the previous ; ADDA instruction. Carry would be set if ; the result of adding reg A to the value ; in location L0051 was greater than 255. ; ; In that case, the value left in reg A ; would not be represenative of the 'real' ; result. ; E77C: LDAA #255 ; Load reg A with 255, force a max limit. ; we would need to do this if the carry flag ; was set, as what is in reg A is bogus, ; and smaller then the real value. ; ; (So: A = 255, if executed) ; E77E: LE77E TAB ; Transfer reg A value to reg B. Both ; reg A and reg B will have the value 107 ; in them. ; ; So: B = A = 107 ; E77F: CLRA ; Clear reg A, set reg A = 0. ; E780: STD L0057 ; Store Double into RAM at location L0057. ; ; A Double is reg A & B together. ; ; So: L0057 & L0058 hold the double value ; of regs A&B => 107. ; ; Since 107 fits in 8 bits, L0057 will ; contain zero, and L0058 will contain 107. ; The value 107 will be further modified by additional code, PE, Knock, coolant comp, to name a few. It will then be converted into a value the ecm hardware can use to control when the distributor fires. ; eof ; - -- ------------------------------ Date: Thu, 10 Jun 1999 20:01:15 -0700 From: "Fran and Bud" Subject: Re: Edelbrock TBI conversion to PI What program does it take to open/read the attached file? Bud - ---------- >From: Jason Weir >To: diy_efi@xxx.edu >Subject: Re: Edelbrock TBI conversion to PI >Date: Thu, Jun 10, 1999, 3:29 PM > >WAYNE JOHNSON wrote: >> >> On Wed, 09 Jun 1999 12:14:03 +0000 jweir@xxx.net writes: >> >I've got a copy of the chip from Edelbrock, >> >> Jason, >> I would like to have a copy of the chip. >> Send to: DynozTec@xxx. >> Thanks, >> Wayne > >Here you go Wayne > >Jason Weir >-- >88 Wrangler - 155K miles and counting >258 I6, 4.0 head, Cherokee header, 2 1/2 exhaust with high flow cat & >Flowmaster >GM TBI, Crane 260H Cam >TJ Fender Flares >http://home.att.net/~jweir >CNC 4X4 Member - http://cnc.4x4.org/ ------------------------------ Date: Thu, 10 Jun 1999 22:04:56 CDT From: Full Throttle Subject: Changing my mind??351C EFI Well, after receiving numerous responces both here and elsewhere, I have been urged many times to go with MPFI over TBI. I have seen on the farlane/torino mailing list an intake designed to accept the late model Mustang or GT 40 plenum style setup. what advantages would this type of setup have over say a single or duel plane intake with the injectors mounted in the runners. After going through the programming 101 stuff and many other posts, I am convinced I can learn to do this, and it has caught my interest as well :) Has anyone here made there own MPFI this way? Which types of ecm's are preferred, eec IV? GM? other?? Thanks agian, and I will hunt through the DYI webpage for answers as well. _______________________________________________________________ Get Free Email and Do More On The Web. Visit http://www.msn.com ------------------------------ Date: Thu, 10 Jun 1999 23:12:23 -0400 (EDT) From: Frank F Parker Subject: Re: diy_efi Honda EGO Meter > use. An owner of an NTK box, who's still on list and can vouch for this > (right, Frank?), helped me to understand the OUTPUTS that an NTK > interface produced under certain start-up and quiescent conditions. But > there was NO reverse-engineering, no copying, or even viewing of > circuits. The owner of that NTK box did NOT break it's warrranty seal > nor look inside AT ALL, on my behalf. That same "you're being two-faced" This is correct. Box is still in use todayand remains sealed. Only outside voltage and current tests were made to decode the processing used. frank ------------------------------ Date: Fri, 11 Jun 1999 13:54:12 +0800 From: dzorde@xxx.com Subject: downloading timeout problems Does anyone know where I can find an internet explorer plug-in that will overcome timeout problems when down loading. I've been trying to download the e-catalogue from Mouser, but due to our network I keep timing out and is in need of a program that will just pick up downloading again from where it left of once the network picks up bw again. Dan dzorde@xxx.com ------------------------------ Date: Fri, 11 Jun 1999 00:55:08 -0700 From: garfield@xxx.com (Gar Willis) Subject: Re: diy_efi Honda EGO Meter On Thu, 10 Jun 1999 23:12:23 -0400 (EDT), Frank F Parker wrote: >This is correct. Box is still in use todayand remains sealed. Only outside >voltage and current tests were made to decode the processing used. > >frank Thank you, Sir. I didn't wanna drag you into this, but I DO appreciate the confirmation. BTW, Frank's remained quite unpartisaned in all this, so don't take this acknowledgement as being some kinda "pro-Gar" statement. Frank's his own man, and that's why his help in the initial NTK tests was, and remains, quite valuable. What he supplied was essentially a confirmation that the NTK box does indeed implement the curve that was disclosed in the original NTK papers (and also recently posted to the FTP site). That, and some very insightful hints on what the box does during power-up. But that's a secret! Hee. (Sorry, couldn't help meself :). Gar ------------------------------ End of DIY_EFI Digest V4 #353 ***************************** To subscribe to DIY_EFI-Digest, send the command: subscribe diy_efi-digest in the body of a message to "Majordomo@xxx. A non-digest (direct mail) version of this list is also available; to subscribe to that instead, replace "diy_efi-digest" in the command above with "diy_efi".