One way to learn lots about a protocol is by implementing a bit banged version. Openschemes shares with us his experimentation with the Arduino and the FT232 chip.
"We’ve been considering the synchronous bit bang mode of the FT232R for an upcoming project. The first steps towards something like this are always to build up a little debug board or test bench that can be used for debug and tweaking while the real boards are in fab. Luckily for us, the Arduino board contains an FT232R ripe for the hacking. For most users, all their dreams are fufilled by avrdude-jtag, which will allow them to reprogram the bootloader on the Arduino Atmega. As you may know, four of the FT232R’s GPIO pins are brought out to an unpopulated header on the Arduino board. The first (and easiest) job is to solder in a set of header pins for future connections."