I hope this is the correct forum for this post...
I was reviewing the file SCI.c for the BDM firmware. I think that because a preIncrement is used to place a char in the txbuffer : U8 tPtr = txTail+1; then a preIncrement operator should be used to take it off : ch = txBuffer[++txHead]; not ch = txBuffer[txHead++]; Both txTail and txHead start as 0.
My mistake. On a second look I see that I mistook the test for queue full as the actual enqueing. Sorry!