Hey Steve.
I could be wrong, but I think it needs a fix.
The LCD will Power-up in 8-bit mode, but PBP will still be sending 4-bit.
So each nibble acts as a full command.
If you use $33 (twice), then it will get the "reset" 4 times, instead of $30,$00,$30,$00 ...
Then when it switches to 4-bit mode, it receives an extra nibble from the $20 which puts it out of sync with the rest of the data. By pulsing the E pin once it clocks in another $0 which is a "nothing" command and puts it back in sync.
Like this ...
Code:
ManualLCDInit:
FLAGS=2 ' Void PBP lcd initialisation... it's a nice feature !!!
PAUSE 500
Lcdout $FE, $33
Lcdout $FE, $33
Lcdout $FE, $20 ' official 4 bit mode
@ bsf LCD_EREG, LCD_EBIT
PAUSEUS 20
@ bcf LCD_EREG, LCD_EBIT
; -- rest is the same --
Bookmarks