The code below works with the Pic implementation apart from the fact the #define adds a line feed into the array - a minor problem and of course it inserts the strings twice once for the defines and once again for the string. L35:: retlw 69 retlw 114 retlw 114 retlw 111 retlw 114 retlw 10 //line feed from define retlw 0 Unfortunately the Hitachi compiler throws a wobbly at the incorrect initialisation of a string C2129 (E) Illegal initializer type. The other code suggestion didn't work at all. At least I can use this construct in the Pic C compiler that I have On Sat, 29 Nov 2003 11:45:01 -0800, Brian Smith wrote: ::#define MY_MSG_SPLASH "Greenkeeper v" ::#define MY_MSG_ERR "Error" :: ::char **messages = { :: MY_MSG_SPLASH, :: MY_MSG_ERR ::}; :: ::SomeVarType_t display_type_frames[] = { :: { :: 0x81, :: MY_MSG_SPLASH, :: }, :: { :: 0x86, :: MY_MSG_ERR, :: } ::}; Looks like no easy answer to what I was hoping to do. Thanks for the suggestions Colin -- cdb, bodgy1@optusnet.com.au on 30.11.2003 I -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics