ok thanks steve, r/w pin is on ground, modified code and circuit to give

;LCD test Program

; Set LCD Data port
DEFINE LCD_DREG PORTC
; Set starting Data BIT (0 OR 4) IF 4-BIT bus
DEFINE LCD_DBIT 0
; Set LCD Register Select port
DEFINE LCD_RSREG PORTC
; Set LCD Register Select BIT
DEFINE LCD_RSBIT 4
; Set LCD Enable port
DEFINE LCD_EREG PORTC
; Set LCD Enable BIT
DEFINE LCD_EBIT 5
; Set LCD bus size (4 OR 8 bits)
DEFINE LCD_BITS 4
; Set number of lines ON LCD
DEFINE LCD_LINES 4
;
DEFINE LCD_COMMANDUS 2000
; Set Data delay time in us
DEFINE LCD_DATAUS 50


TRISA = 0
TRISC = 0

cmcon0 = 7
ansel = 0


loop:
Pause 1500
LCDOut $FE,1,"Hello" ; Clear display AND show “Hello”
LCDOut $FE,$C0,"World" ; Jump TO second line AND show “World”
GoTo loop


also, i tested the contrast and got nothing. increased it to 9v. zilch

do you think it is a knackered module???

cheers