[quote author=Nick Gammon link=topic=102012.msg766469#msg766469 date=1334887808]
I see what you mean, now I read the datasheet. Well, a simple solution would be to set up a Atmega328 as a buffer chip (cost, around $5). A couple of decoupling capacitors, and a couple of resistors and you are done. Use the internal 8 MHz oscillator. Hook up the NXT to the I2C pins with your required resistors and disable the pull-ups. Then send / receive data to your Mega using SPI (or async serial).
[/quote]Great idea, but it's a bit more complicated than that. There are other I2C devices on the Arduino I2C bus (a large shield) that the NXT needs to communicate with as well.
That does provide an interesting option though; bit-bang an I2C master on the "middle" Atmega 328, and use the HW bus for slave communication with the NXT. That's something I will consider if I can't get and solder an I2C expander.