I've been trying to use an SD card with the ATmega1284, but had little success. I was going to post a question, but after browsing a lot of forum posts and poking through the files, I found a really easy solution:
This is with Arduino 1.0.1 on Windows 7 64-bit, but a similar solution should be applicable to other platforms.
Go into this file:
C:\Program Files (x86)\arduino-1.0.1\libraries\SD\utility\Sd2PinMap.h
Change this line:
#elif defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644__)
#elif defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644__) || defined(__AVR_ATmega1284P__)
Is there any way to suggest this change to the Arduino team so it appears in future versions? I would like to see better support for the ATmega1284, because although my final designs are usually all surface-mount, nothing beats DIP for inital prototyping.