I've been playing with Atmel's AVR range of microcontrollers for a while now. I recently got my hands on the AT90USBKEY evaluation board, what a neat little toy! Anyway, this board is equipped with a JTAG interface. I have never used JTAG before, but I have done quite a bit of research on JTAG and understand what it is for, but I can't seem to find a reasonably priced JTAG dongle that supports this particular device. Ideally, I would like to build one. I have a few questions to get a better understanding of JTAG in general: 1. It appears that the implementation of the JTAG interface on a particular device, is proprietry i.e. there is no software standard? 2. Am I right in saying that the JTAG spec only defines the electrical interface? 3. If my assumptions are right so far, does it mean that I have to get a new JTAG dongle or dongle firmware everytime a new, as yet unsupported device comes out? 4. If my assumptions are incorrect, does anyone know of a JTAG dongle solution that has source code available?