Never done something like that, but as DT said there is no better manual than .mac and .lib files.
So here is what I found.
Compiler use this macro from pbppic18.mac file  when LCDOUT STR is used
	Code:
	;****************************************************************
;* LCDOUTSTR?B : Macro - Lcdout string                          *
;*                                                              *
;* Input      : B[]                                             *
;* Output     : None                                            *
;*                                                              *
;* Notes      :                                                 *
;****************************************************************
LCDOUTSTR?B macro Bin
        MOVE?CW LCDOUTJ, R8 'dont know what this line do
	MOVE?CB	high (Bin), FSR2H 'load highbyte of adr, from pbppic18.lib Macro - Move BYTE Variable into WORD Variable
        MOVE?CA	low (Bin) 'load low byte of adr to w, from pbppic18.lib MOVE?CA    : Macro - Move constant into W 
 
        L?CALL  SEROUT2STR
    endm
 SEROUT2STR is in file pbppic18.
	Code:
	SEROUT2STR movwf FSR2L          ; Set up for index
serout2strloop movf POSTINC2, W	; Get a character
	bnz	serout2str1	; Not null char
 So you could use in your program something like this:
	Code:
	TFTSTR?B macro Bin
	MOVE?CB	high (Bin), FSR2H ;load highbyte  
        MOVE?CB	low  (Bin), FSR2L ;load low byte  
local tftstrloop 
local tftStrDone
tftstrloop movf POSTINC2, W	; Get a character, then increment pointer
        BZ  tftStrDone ;All strings must end with 0
       ;Not Null char 
        L?CALL tftWoutput; CALL print char in W to TFT 
        BRA tftstrloop ;Get next chr
      
tftStrDone: ;Null char
endm ;end of macro
 EDIT:
You could also use PBP's routine like LCDOUTSTR do, but you must see what this flags do
LCDOUTJ_USED = 1
SEROUT2STR_USED = 1
And how JUMPMAN is used.
				
			
Bookmarks