I have ported at90can128 to arduino

Of course everything has the same naming, but compared to the atmega168/328 it has allot more pins, interrupt, pwm etc.

In the configuration of my development board, I have 45 I/O pins
7 PWM ports, 8 external interrupts, 2 uarts, 8 analog (only 4 used other 4 by the jtag)

So this chip is between the atmega168/328 and the mega feature wise.
But it does have 128kb program space, 4kb flash and 4kb memory.

The atmega16 is the jtag programmer, programmed as jtag ice1 programmer. see: Build your own AVR JTAG ICE clone - Do It Easy With ScienceProg

I dont have the schematics of this board, its development by my school. And its very expensive, around 100 euro.