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...........................