$86 & $B4 Lotus M100 Disassembly

Disassembly, Reassembly, Tools and devleopment. Going deep with Hardware and Software.
Post Reply
Hogflash
Posts: 6
Joined: Fri Jan 26, 2018 6:12 am
cars: 1984 Volvo 240 Diesel-LT1 powered

$86 & $B4 Lotus M100 Disassembly

Post by Hogflash »

M100-Euro-USA-Dasm.zip
Lotus Elan M100 Listing, Notes and bins
(507.61 KiB) Downloaded 285 times
A few notes about these listings for the 1990-1994 Lotus M100 Turbo:

First, I have no official information about any of the code or table scaling factors. This was all derived from looking at similar listings and analysis of the code. Many variables and tables I just made up descriptive names for. Thus, some of this information may be totally wrong! And, this is my first "big" disassembly project. Hopefully it will be useful to others.

If anyone knows better and wishes to share the corrections I will be happy to post updated listings and table information.

These two listings are almost identical:
--Strategy $86 is an European open-loop calibration (03-Feb-2019 v1.5)
--Strategy $B4 is a USA Federal 49-state closed loop calibration (03-feb-2019 v1.2)

The principal difference is that $B4 has added more extensive EGR diagnostics that monitor for temperature changes when the EGR valve is opened and closed. However, for this non-California calibration this diagnostic is disabled. There is also a EGR temperature lookup table added, altho I do not know what the temperature units conversion is. The scaling looks kinda odd.

The open-loop calibration inputs a 0-5V "CO Adjustment Pot" signal to the ECM that is used to tweek the AFR to pass Euro emissions. This drives a 3-D lookup table (TBL# 17: BPW Bias vs CO POT Voltage Offset vs MAP) that applies the change based on MAP load altho only 20 kPa row is used. For the closed-loop cals, the CO Pot signal is replaced by the EGR temperature sensor signal.

There are a number of tables that I have no idea of how they are used - for example:
--TBL# 15: 17x1 TBD vs RPM (closed loop related)
--TBL# 16: 17x1 TBD vs RPM (closed loop related)
--TBL# 28: 17x1 TBD vs ECT AFR Related??
--TBL# 29: 17x1 Mult vs ECT AFR Related??
--TBL# 30: 7x1 TBD - Unknown Outputs temperatures for different eng RPMs

This ECM implements the hardware-related fueling calculations in two identical interrupt routines (one for each "bank" of two injectors). There are several modes of operation but I don't know what they relate to yet.

The wastegate control code is almost identical to the $8F Turbo Grand Prix code. I pulled many of the comments from the "8F Hac" disassembly. The Lotus M100 uses two 2D tables to control the boost target whereas $8F and $58 use a single 3D table.

I have not formally gone through and analyzed the serial communication routines, so this is very lightly commented. The M100 implements all the serial routines in in IRQ handler as opposed to most GMP4 ECMs which offload this to an external device. At least one has access to the code!

I don't have "real" information on how the FMD or memory-mapped IO is setup for this ECM, so this was determined by a combination of what others have found and what this code is doing. So, it may not always be correct!

Best to all,

Gary
User avatar
antus
Site Admin
Posts: 8237
Joined: Sat Feb 28, 2009 8:34 pm
cars: TX Gemini 2L Twincam
TX Gemini SR20 18psi
Datsun 1200 Ute
Subaru Blitzen '06 EZ30 4th gen, 3.0R Spec B
Contact:

Re: $86 & $B4 Lotus M100 Disassembly

Post by antus »

Good work there. Thanks for sharing!
Have you read the FAQ? For lots of information and links to significant threads see here: http://pcmhacking.net/forums/viewtopic.php?f=7&t=1396
Hogflash
Posts: 6
Joined: Fri Jan 26, 2018 6:12 am
cars: 1984 Volvo 240 Diesel-LT1 powered

Re: $86 & $B4 Lotus M100 Disassembly

Post by Hogflash »

I'd like to do more with this, but I need information on the FMD, memory-mapped IO, Factory Test mode, and the ECM hardware. I'll probably work through a bit more of it anyway, but if anyone has info about these, send me a note!

Gary
Post Reply