> ok, great. Hopefully I can find the specs for the remote and > validate what sort of lengths of time I'm going to be dealing with I've looked up some old 877 code I used to characterise and then simulate the output from a Philips SAA3001 IR transmitter used as a 2-wire keyboard encoder Its timing is based on a 455kHz ceramic oscillator, which gives a base Tosc of 2.2us. Pulse width is Tosc x 4, "0" space is Tosc x (2 x 1152), "1" space is Tosc x (3 x 1152), inter-burst space is Tosc x 55296 The PIC runs at 20MHz -> 200ns IC. INT is set to trigger on the rising edge of the first pulse, the period of which is counted by TMR1. During this time the polarity of INT is flipped to trigger on the falling edge of the pulse, at which point TMR1 is saved to RAM. It's cleared and measures the period of the following "0" or "1" space. This pulse-space measuring continues until a TMR1 roll-over occurs, which means that the data burst has finished and it's into the inter-burst period. On the next INT IRQ (which is the rising edge of the first pulse of the next burst), measuring ceases and the RAM values are saved to EEPROM (after compensation for non-counting instruction cycles) so they can be read in MPLAB to determine the 01 pattern -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics