uCHobby posted a what looks to be a helpful project implementing a 6-channel logic analyzer on an ATmega168 @ 16MHz clock speed – so it’s Arduino Diecimila compatible –
The computer software is written in Processing, which means itâ€™ll work on Linux, Windows, or Macs. It stores displays the logic state of each pin as data is transferred from the microcontroller. The user can use buttons to disable/enable triggering on any of the 6 pins, and a scroll bar allows the user to view several hundred of previously saved logic states on a timeline. Note, new data is only received if the state changes, so this timeline is not real time.
I estimate the performance to be sufficient enough to analyze a 400KHz I2C data bus without any problems. Also note that 8 pins can be used, but just not on an ATMEGA168, simple changes in the software will allow for 8 channels to be used instead of 6.
To make your own, simply program an ATMEGA168 with the provided hex file, and run the Processing program. I think I commented the code enough for people to modify so they can use their own processor. Also read the other documents in this project. I assume you understand how to program microcontrollers and understand basic computer science concepts like for loops and such.