Nintendo 64 Controller

Hello everybody!

I have a question about the capabilities of the Arduino. I recently connected a Nintendo Entertainment System controller to the Arduino, which was rather easy since it's basically a 8-bit shift register, and you supply the clock. Now I thought I'd try to connect the N64 controller, which uses a 3.3V supply and has a bidirectional data-pin, and its own clock. It has an odd system of transfer though, each bit is 4 µs long, a low is asserted when the line is pulled low for 3 µs and high for 1 µs, and a high is asserted with 1 µs low and 3 µs high. Now my worry is if the Arduino will be capable of transferring/receiving at such rates with its 16 MHz oscillator. I read somewhere that the delayMicroseconds() function is mostly accurate over 2 µs, which is not sufficient for this purpose. Any ideas on this before I go out and grab an N64 controller?