It's still a look up table so you still have to have one entry per character and code to look up the character (they're not linear mapped of the ASCII value). e.g. some sort of case structure before the table. The advantage to Tamas's tree approach is that the code IS the table. But you still have to do the NON SEQUENTIAL character lookup. Seems to me that a linear lookup table with the morse pattern is going to give the lowest memory footprint when ALL of the needed code pieces are viewed together. e.g. lookup character, decode, output Are any morse characters more than 8 elements? Robert Walter Banks wrote: > This could have interesting encoding. Drive it as FSM. It can be coded as > one byte per encoded character(with shorter decoding than the last Morse code > generator). MSBit as a dit/dah encoding leaving 7 bits for addressing next > character with a few left over for "interchar" and other utility functions. > > dit/dah | Next state > 7 6 - - 0 > > #define dit 0 > #define dah 0x80 > > E: dit+&interchar > N: dah+&E > G: dah+&N > P: dit+&G > T: dah+&interchar > A: dah+&T > > > Organize as an upper case ascii representation this could be a very tight morse serial driver. > Barry Gershenfeld wrote: > > >>As your morse code programs are getting smaller and smaller, they are in >>danger of disappearing! This code trades efficiency for novelty. I saw >>this idea at a ham club talk (in the '70's) and have been doing it this way >>ever since. Since you guys use assembler more than anything else, I'll >>post it that way. I do the same thing in other languages. >> >>; Morse code, tree structured. >>; Example fragment assumes the basic elements have been previously defined: >> >>E: >> call dit >> goto interchar >> >>N: >> call dah >> goto E >> >>G: >> call dah >> goto N >> >>P: >> call dit >> goto G >> >>T: >> call dah >> goto interchar >> >>A: >> call dit >> goto T >> >>#pragma etc >>; the 'etc' directive writes the rest of the program for you! >> >>; Barry -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist