I found the solution, and it can likely be fixed in RF24.h.
- added the following to the start of RF24.cpp:
#define _BV(bit) (1 << (bit))
#define PSTR(x) (x)
#define PRIPSTR "%s"
#define PROGMEM
#define printf_P printf
#define strlen_P strlen
They are conditional in RF24.h, but I'm not sure the right way to fix it for the DUE
in RF24.cpp changed:
SPI.setClockDivider(SPI_CLOCK_DIV4);
to:
SPI.setClockDivider(21);
I also changed a couple of lines in that used "%S" in a printf() to use "%s"
That, combined with a little payload structure alignment to account for 32-bit vs. 16-bit ints, and everything works for me.
I now have my Megas chatting with my Due.