A long time ago, I wrote a disassembler called DISAVR which today can be found all over the internet.
However (!)- it lacks support for the Mega opcodes as well didn't like Windows too well (was written in DOS back in 1997).
After years of delay, I updated it over the last two days. I added support for all the missing instructions and cleaned up it's processing of Intel-Hex files.
There are still some issues to work out but I wanted to let it get out so others can benefit and possibly spot any bugs they might find. I've tested it thoroughly but it's hard by myself.
It does not support binary file types right now so you must supply an Intel-Hex formatted file.
It can handle program sizes upto 256k bytes of memory (i.e.- ATMEGA256 is supported already).
Enjoy and your comments are welcome.