Heya

Here is the code at the moment, after changes:

Code:
    INCLUDE "modedefs.bas"
    DEFINE OSC 4
    DEFINE CHAR_PACING 1000
@  DEVICE  PIC16F88, INTRC_OSC_CLKOUT, WDT_OFF, PWRT_ON, BOD_OFF, MCLR_OFF, PROTECT_OFF
    osccon = %01101110
    sspcon = %00110001
    trisb  = %00000000
    disable interrupt
    pause 500   ' wait for LCD to startup
    
    LCD_ChipSelect var portb.0
    LCD_CommandLow VAR portb.1
    LCD_SerialIn VAR portb.2
    LCD_Clock VAR portb.4

    SYMBOL mode = 5   ' tried mode 4 too
    
    HIGH LCD_ChipSelect
    LOW LCD_CommandLow
    shiftout LCD_SerialIn, LCD_Clock, mode, [$38]  ' function set
    pause 50
    shiftout LCD_SerialIn, LCD_Clock, mode, [$39]  ' function set
    pause 50
    shiftout LCD_SerialIn, LCD_Clock, mode, [$14]     ' bias
    pause 50
    shiftout LCD_SerialIn, LCD_Clock, mode,  [$78]     ' contrast set
    pause 50
    shiftout LCD_SerialIn, LCD_Clock, mode, [$5E]     ' contrast control
    pause 50
    shiftout LCD_SerialIn, LCD_Clock, mode,  [$6E]     ' follower control
    pause 200

    shiftout LCD_SerialIn, LCD_Clock, mode, [%00001111] ' display, cursor, blink all on
    pause 50
    shiftout LCD_SerialIn, LCD_Clock, mode, [$01]   ' clear display
    pause 50

    HIGH LCD_CommandLow
    
loop:
    shiftout LCD_SerialIn, LCD_Clock, mode, ["Hello world"]
    Pause 500	' Wait .5 second
    Goto loop	' Do it forever
Best regards
Richard