Sanguino Bootloader

The Sanguino Bootloader is designed for the Atmega644.

The Atmega164, Atmega324 and Atmega1284 are 100% pin compatible to the Atmega644.

Can i use the Sanguino bootloader for the other 3 Atmegas without changes ?

I will admit first off that I am not directly familiar with the Sanguino bootloader but I am thinking the answer to your question is probably "no". A bootloader expects to be at a certain place in memory, it expects to use a certain page size for programming FLASH, the fuses have to be configured properly, etc. You can take care of the fuses through initial ISP programming, but the page size is an issue. For example, if the Sanguino bootloader is configured for the ATmega644 it is programming the FLASH in 128-word page sizes. That's OK for the ATmega1284 but the ATmega164/ATmega324 have 64-word page sizes, so it's quite likely to not work for those.

--
The Arduino Drum Machine: 14-track MIDI drum machine sequencer / groove-box

It may be possible to compile a bootloader for those other MCUs.

Also, there is a project underway to make Arduino core files and bootloaders for many AVR MCUs.

Some even have bootloaders. It looks like the 1284 is one of them.

Check it out here:

http://www.avr-developers.com/cputable.html