that's one down , works like a dream
Code:
GLCDSTR?CCB  macro Xin ,Yin ,Bin
        movlw    Xin
        CHK?RP    _X
        MOVWF     _X
        movlw    Yin
        CHK?RP    _Y
        MOVWF     _Y
        MOVE?CB high (Bin), FSR2H ;load highbyte 
        MOVE?CB low (Bin), FSR2L ;load low byte
strloop movf POSTINC2, W ; Get a character
        bnz outstr1 ; Not null char 
        bra exstr
outstr1 MOVWF _g_chr   
        L?CALL _gcga  
        bra   strloop
exstr   
    endm