ArduinoMega to Processing (with Firmata)

I'm very much a beginner, but I've come to rely on Firmata (2.0) to pass values from the Analog Ins in Arduino to Processing.

I just got the new ArduinoMega, and putting Firmata on allows it to only pass values from the same number of pins as a Diecimila or Duemilanuove, and not the larger set of pins on the Mega.

I tried editing firmata.h adding this block of code:

#elif defined(__AVR_ATmega1280__)// TEST
#define TOTAL_ANALOG_PINS       16
#define TOTAL_DIGITAL_PINS      54
#define TOTAL_PORTS             4 // total number of ports for the board
#define ANALOG_PORT             2 // port# of analog used as digital

... but it doesn't help, and it looks like I have to edit something else to be able to make full use of all pins on the Mega in Processing.

Anyone come across this issue or perhaps have some ideas?
Thanks for any leads.

Have find a solution, an answer.

i use a sanguino with an atmega644 wich is not describe in the firmata.h



I have been working to bring Firmata to other boards, including Arduino Mega and Sanguino.

Please please please give this latest code a try (especially on a Sanguino, since I don't have one)

Currently this process is more-or-less stalled for lack of user testing needed for Hans to have the confidence to release.

ps: please be aware that many "legacy" Firmata implementation (eg, AS3Glue) may only support the pins present on normal Arduino boards, even though Firmata itself is capable of much more.