Just make sure that emux.com and efi.s19 are in the same directory. Type 'emux' to launch simulator. It will sign on and load up 'efi.s19'. The S19 file is the actual 68HC11 code set. 'G' <enter> to start the simulator. At this point the motor is not running. What you see at this point is the current operating conditions. This program is constantly changing depending on what I'm playing with at the moment. Most of the displayed items should be self explanatory. The lines below the 'Warn' (warning messages) at the moment represent: Injector timing: --> injector timing BTC (some rounding errors - 90 deg chunks Pulse Width: --> pulse width in crank degrees L0044 - internal RAM location - inj timing sync byte L005b - some flags telling if the code has determined #1 cylinder Below that is a rough display of injector timing. Much easier to get your mind wrapped around a picture. The 'pppp's are the power stroke, 'eeee's exhaust, 'iiiii's intake, and 'cccc's compression. The blue bar below is how long and where the injector is spraying. When you start playing with rpm and load it will make more sense as to what is going on. The L0079 stash id the closed loop fuel accumulator I was talking about and L0075 is the value it is incremented by. 'Z' <enter> will start the motor. It will start cranking bringing it up to idle rpm and warming it up. After is warmed up (coolant at 180 degrees) you can start playing with the inputs to the ECU. After selecting a sensor/input the arrow keys will modify the value that is being fed into the ECU. Up/Down will increase/dec the value while the left/right modify the step rate. The current step size is displayed in the () after the current value. If you incremented every input by one it would take all day to change some of them. The ADC's aren't bad but when change the timing period (rpm) at low rpms it takes quite a bit to make much of a change. Your see what I mean. Below are the commands to make the arrow keys the active function (up/down keys change value fed to ECU code, left/right change step size displayed in () ). 'A' - TAIR (MAT ADC input) 'C' - TH20 (coolant ADC input 'R' - Timing period (timer counts between rising shutter edges) --> RPM 'M' - MAP ADC 'O' - O2 sensor ADC input 'B' - BATTery ADC 'T' - TPS ADC 'S' - stops the simulation. you are now in debugging modes where you can modify and ram location, single step, or trace to break points. 'Q' - quit. After (S)topping above hit 'q' and and you are back to DOS A quick summary of what you see and how to modify: RPM: Modify with the 'R' timing period command VAC: This is the air charge (load) that it calculates to index the fuel and spark tables. 'M' MAP and 'A' MAT are the only things that can modify this load display MAP: 'M' command. The inch display is calculated by me. I took the MAP sensor and plotted pressure to voltage. Only have a service grade vacuum gauge but it probably is not too far off. Fuel: Current Injector pulse width value programed Spark: Current Spark advance TPS: Throttle position ('T') Idle: Calculated idle air motor duty cycle. Higher the number more air Target: Current Target Idle RPM TH20: Coolant temp ('C') TAIR: Air temp ('A') Batt: Battery voltage ('B') Warn: Warning messages Have fun...........................