Uneven respone to interrupt command

Dear all,
the essence I am reading is (and please correct me if I am wrong):

  • Change the analoge reading method (posted by Udo Klein). Sounds feasible although I need to regret that I do not have ANY clue regarding lines like "ADCSRB = (ADCSRB & ~(1 << MUX5)) | (((pin >> 3) & 0x01) << MUX5);". I need to read and learn!

  • Do not use any other interrupts beside the "ignite" one. No micros(), no millis(). Although this might be correct, I do not know how to establish a variable time delay on microseconds base to change ignition retard... :~