Ok, here you go. This mainly applies to the 7MGTE. I'll try to keep it simple but still provide some detail.
There are four wires between the ECU and igniter. There are three wires between the igniter and the coil packs plus a fourth wire that supplies 12 volts to each pack whenever the ignition switch is on. We'll skip the CPS for now. All you need to understand is the CPS sends rpm and crank position information to the ECU.
The ECU calculates timing and then sends a signal called IGt (IGnition timing/trigger) to the igniter. This signal is 5 volts and turns on and off. Call it Wire #1. The wire carrying this signal is also called IGt. All the signals I'm going to talk about share this naming scheme. You can see them on the TSRM schematic.
In the same way single coil and distributer systems work this IGt signal turns the coil on. But it's when IGt turns *off* that the spark is generated. Simple enough when dealing with one coil as in a distributor system. The problem is we have three coils. Since the GTE is DLI (Distributer Less Ignition) it uses multiple coil packs instead of a distributor so some means of identifying coils/cylinders must be used. Why three coils on a six cylinder engine? It's called waste spark. We'll get to that in a minute.
To identify which coil pack is to be fired the ECU sends out one of three possible combinations of signals to the igniter over Wire # 2 and Wire # 3. These signals are called IGdA (IGnition distribution A) and IGdB (IGnition distribution B). These two wires have three possible combinations of voltage levels. For example IGdA would be 5 volts while IGdB might be 0 volts to fire the first coil pack. Or IGdA would be 0 volts and IGdB would be 5 volts to fire the second coil pack. Both would be 5 volts (or 0 volts) to fire the third coil pack. I say might because off hand I don't remember the actual coding but you get the idea. (I'll eventually get off my butt and edit this piece when I look up the actual code).
So that gives us three wires going between the ECU and igniter: IGt which is used to turn a coil on and off and IGdA and IGdB, which are used to decide *which* coil is to be turned on and then off.
What is the igniter for? Well, it does a few things but it's mainly there because the ECU communicates in little 5 volts signals that go off and on. After all it's a computer. 5 volts isn't enough to turn the coil packs on and off directly so the igniter has three big transistors in it that switch the coil packs instead. The coil packs are all powered from one 12 volt wire through the ignition switch while the igniter supplies a ground through the big transistors. The 5 volts from the ECU switches the transistors on and off depending on IGt, IGdA, and IGdB. Think of the igniter as nothing more than a fancy relay. It swicthes the coils packs, handles dwell, prevents a coil pack from "locking on", and generates a signal that gets sent back to the ECU telling it the pack fired when it was told to. I'll get to that signal in a bit.
So far so good. The ECU tells the igniter which coil to fire by using IGdA and IGdB then tells the igniter to turn that coil on using IGt. When the crankshaft rotates to the proper position the ECU turns IGt off. The transistor in the igniter switches the selected coil off. It's at that moment the spark is created. The selected pack fires two plugs at the same time. One plug will be in the cylinder that's on the compression stroke while the other plug (it's "companion") will be in a cylinder on the exhaust stroke. The exhaust stroke spark doesn't do anything to provide power, hence the name "waste spark" or "lost spark" ignition.
One last detail: Wire # 4. The fourth wire between the igniter and ECU is called IGf (IGnition fail). Unlike the other signals, which are sent from the ECU to the igniter, IGf is sent from the igniter back to the ECU. When a coil pack is fired the igniter senses the firing and generates an IGf. It's a confirmation spark occurred. The ECU needs to know a coil pack fired when it was told to because if it didn't bad things could happen. No spark means unburned fuel would be sent to the catalytic converter for example. So the ECU expects to see an IGf for every IGt it sends. If IGt and IGf don't "add up" for more than a few seconds fuel injection is halted and code 14 is stored in diagnostic memory. You read that right...the engine will stop.
All of these signals are digital in nature ie; they switch between 0 and 5 volts. If you don't have a scope buy or build a cheap logic probe to see them. If you don't know what that is Google it or ask a friend who's savvy about electronics. It's not as good as a scope but a logic probe can be very helpful when dealing with the EFI system.
What Ken did was simply replace one set of waste spark coils for another more compact set that could sit on the plugs in some cases but still need wires for the others. He then made up a new harness to use the signals that were already there. Electrically it's the same thing as the old coil packs, that's why the ECU remains happy. All it knows how to do is select a coil pack with IGdA and IGdB, fire it with IGt, and listen for an IGf coming back. Ken's mod satisfies those requirements while still providing spark at the right time. All of which proves he's smarter than the TCCS.
If all that seems complicated just remember this: To have spark you need only have a healthy ECU, CPS, igniter, and coil pack with good wiring in between. Course, you'll also need 12 volts supplied to all three coils, spark plugs, and wires. The ECU must be powered (EFI Main Relay closed) and the CPS generating signals. It doesn't even have to be on the engine. Spinning it by hand will do. As long as the above conditions are met the IGt signal will be sent to the igniter along with the coil selection signals and spark will occur at the plugs.