atmega 2561 software serial

Hey Guys, I've been trying to run Arduino on an atmega 2561 following the forum post here Atmega2561 - Microcontrollers - Arduino Forum I added the pins.h and boards.txt files so now when i choose the mega 2561 board some code will compile but for some reason anything with software serial in it fails and tries to throw an error with the code in the software serial library itself. I've been chugging along at this for hours but can't seem to figure out what would be causing the error to only occur with software serial.
Here is the error if you're interested

C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial\src\SoftwareSerial.cpp: In member function 'void SoftwareSerial::begin(long int)':

C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial\src\SoftwareSerial.cpp:319:37: error: expected primary-expression before ')' token

if (digitalPinToPCICR(_receivePin)) {


C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial\src\SoftwareSerial.cpp:319:37: error: expected ';' before ')' token

exit status 1
Error compiling for board Arduino Mega 2561.

Software Serial uses pin that are capable of PCINT. Go through the data sheet.

Are you getting any other errors before that? What code are you trying to compile?

Is digitalPinToPCICR() provided by the core?

Try the files here

Haven't tried software serial tho.

Also check page 4 of the datasheet, there aren't a lot of '2561 pins with INT (INT 0 to 7) or PCINT (PCINT 0 to 8) such as you might find on a '328P (PCINT 0 to 19) or '1284P (PCINT 0 to 31).

So I read through the datasheet and it seems like PCINT is on pins 10-17 of the chip. Reading through the pins.h file it would seem that they are connected to digital pins 8-15 according to this section of the pins.h

// 2561 PCINTs: 8-15, all on PORTB - I DON"T KNOW WHAT TO DO HERE

#define digitalPinToPCICR(p) (((p) >= 8) && ((p) <= 15)) ? (&PCICR) : ((uint8_t *)0) )

#define digitalPinToPCICRbit(p) (((p) >= 8) && ((p) <= 15)) ? 0 : ??? ) //What to return when it’s not a valid pin? 0? In which case this could be shortened to 0.

however when I try to compile the software serial example which uses pins 10 and 11 it does not work and I get the same error as above.