Mecrisp 0.9.1 - A new target is there !

First samples of MSP430G2955 chips are spread all over the world and it is time for porting Mecrisp again.
This package adds support for the MSP430G2955 which has 56 kb Flash and 4 kb RAM - plenty for Forth to perform marvellous tasks.

There is a third timer included, which vectors I called irq-timerc0 and irq-timerc1. 

Well known:
irq-timera0:  Timer0_A3 TA0CCR0
irq-timera1:  Timer0_A3 TA0CCR1, TA0CCR2

irq-timerb0:  Timer0_B3 TB0CCR0
irq-timerb1:  Timer0_B3 TB0CCR1, TB0CCR2

Shiny new:
irq-timerc0:  Timer1_A3 TA0CCR0
irq-timerc1:  Timer1_A3 TA0CCR1, TA0CCR2

As the two smaller sisters G2855 (48 kb Flash) and G2755 (32 kb Flash) seem to differ only in amount of memory, 
I have included hex files for them, too - but still experimental, as I have no real chip to try.


While experimenting with tail-call-optimisation I found a minor bug in Mecrisp 0.9:
Jump range checking masks have been one bit too wide, so that the jump generator may generate bogus relative jump opcodes 
for destinations outside the allowed jump range. This only happens with definitions literally a hundred lines long,
so it has not been mentioned before, but just to be sure, I included updated hex files for all targets. 
As only two mask constants are different, they are binary compatible with older Mecrisp 0.9 hex files.

Please try the new targets, and if they prove to work, the 1.0 release of Mecrisp will be there soon.

As a small bonus, there is a Ledcomm in Forth implementation that runs on your Launchpad with
forth-mecrisp-2553-with-basisdefinitions-launchpad.hex and a red high brightness LED in clear plastic housing,
but it isn't translated yet.

Matthias Koch, April 2013
