I sort-of have it going, here's proof:

Channel 1 is measuring the IR receiver connected to pin 5 (D0) of the Attiny85.
Channel 2 is measuring an LED I have on pin 3 (D4) of the Attiny.
That blip is bringing D4 high for a moment when it recognizes a code on my remote.
Sketch:
#include <IRremote.h>
const int RECV_PIN = 0;
const int LED = 4;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
DDRB |= _BV(4); // pinMode (4, OUTPUT);
irrecv.enableIRIn(); // Start the receiver
}
void loop() {
if (irrecv.decode(&results)) {
PORTB |= _BV (4); // digitalWrite (4, HIGH);
irrecv.resume(); // Receive the next value
PORTB &= ~_BV (4); // digitalWrite (4, LOW);
}
}
I seem to be very short of memory. Even adding a delay(100) gave a compiler error.
The library I compiled against is here:
http://gammon.com.au/Arduino/IRremote_Attiny.zipI had to change a couple more things, in particular:
#define SYSCLOCK 16000000 // main Arduino clock
to:
#define SYSCLOCK 8000000 // main Arduino clock
After all, it is an 8 MHz clock.
And the ISR, from:
ISR(TIMER2_OVF_vect)
to:
ISR(TIMER0_OVF_vect)
Look for blocks of code like this to see the changes I made:
#if defined (__AVR_ATtinyX5__)
// code for Attiny
#else
// code for Atmega328
#endif
I'm not sure quite how useful it is, you'll need to work out the memory issues before you can get too much further.