This schematic shows the Atmel ATmega128 circuit as it was built for it's test. It isn't quite as easy as hooking up power and going. The ATmega128 microcontroller is in a 64-pin TQFP package, so I used a SchmartBoards 202-0009-02 to hold the microcontroller, with the reset button, crystal and caps, power supply, programming connector, and all of the I/O connectors on a larger board. I'm changing the I/O connectors from the Arduino type, which are handy for stacking or for plugging in a few individual wires, to 10-pin IDC connectors, which each carry the signals from an 8-bit port plus 5V and ground.
Programming went fairly well. I can't get the board to even be recognized in the Arduino or Wiring environments, but avrdude has no problem programming it with any of the programmers. I uploaded the BD Micro "WiringBoot_Mavric-IIB.hex" bootloader to it and it verified. I can't run it because the crystal on the Mavric-IIB is 14.7456 MHz, and mine is 16 MHz. The Baud rate wouldn't match, and I don't have access to the bootloader source. The blink test program runs as expected. The board pulls 35.4 mA @ 5VDC from the regulator when the ATmega128 is running at 16 MHz.
A side note - the ISP programming port on this MCU is a "dedicated" SPI port to programming, but it shares SCK. Similar to the ATmega64.
Here you can find the current ATmega128 datasheet
The assembly is tricky. I picked up a SchmartBoard 32-80 TQFP to through-hole PC board, added headers all around, mounted the MCU, then put that assembly on a Twin 4 x 5 perfboard with plated through holes. Everything but the MCU is on that perfboard. The MCU board mounts in female headers. Be prepared for the insertion force of all of those pins. The crystal, reset pullup resistor, and some bypass caps are directly under the MCU board.