In looking at photos of the Due, Mega, Leonardo, and DigiX, it answers a question I've had in looking at various library code. I've seen various library code that does I2C that uses the 2nd I2C port instead of the first i2C port. It looks like yet another case of the Arduino team changing their mind as new boards come up.
In the Uno R2, they used A4/A5 as the I2C pins. Then when the Uno R3 they come out with the new shield layout, and add 2 pins next to AREF for the I2C pins, and wire A4/A5 to use it.
Then the Mega comes out, and it has SDA/SCL relocated to pins 20/21, but I believe it still uses the 'common' I2C pins next to AREF.
Then the Leonardo, it uses pins 2/3, but it uses the pins next to AREF as well.
So any R1 shield wanting to use I2C, uses the 2 pins next to AREF.
Now we get to the Due. Great, they have 2 I2C buses. That can be useful. However, they choose to put the 2nd I2C in the standard location next to the AREF pin. I would have thought for maximum capability, they should have made the main I2C bus to use the standard location as well as the Mega location, and then put the 2nd I2C bus in some of the new pins. Sigh. Of course the DigiX has to follow this layout to be mostly Due compatible.
So now, 3rd party library code is littered with:
#if defined(__AVR__)
#define WIRE Wire
#else // Arduino Due
#define WIRE Wire1
#endif