[color=Black]init:
[/color][color=Blue]let [/color][color=Purple]pins [/color][color=DarkCyan]= [/color][color=Navy]0 [/color][color=Green]' Clear all output lines
[/color][color=Blue]let [/color][color=Purple]b4 [/color][color=DarkCyan]= [/color][color=Navy]0 [/color][color=Green]' Reset variable b3
[/color][color=Blue]let [/color][color=Purple]dirs [/color][color=DarkCyan]= [/color][color=Navy]252 [/color][color=Green]' Set pins 2-7 as output lines (Stamp only).
[/color][color=Blue]pause [/color][color=Navy]200 [/color][color=Green]' Wait 200 ms for LCD to reset.
[/color][color=Blue]let [/color][color=Purple]pins [/color][color=DarkCyan]= [/color][color=Navy]48 [/color][color=Green]' Set to 8-bit operation.
[/color][color=Blue]pulsout [/color][color=Navy]3[/color][color=Black],[/color][color=Navy]1 [/color][color=Green]' Send data by pulsing 'enable’
[/color][color=Blue]pause [/color][color=Navy]10 [/color][color=Green]' Wait 10 ms
[/color][color=Blue]pulsout [/color][color=Navy]3[/color][color=Black],[/color][color=Navy]1 [/color][color=Green]' Send data again
[/color][color=Blue]pulsout [/color][color=Navy]3[/color][color=Black],[/color][color=Navy]1 [/color][color=Green]' Send data again
[/color][color=Blue]let [/color][color=Purple]pins [/color][color=DarkCyan]= [/color][color=Navy]32 [/color][color=Green]' Set to 4-bit operation.
[/color][color=Blue]pulsout [/color][color=Navy]3[/color][color=Black],[/color][color=Navy]1 [/color][color=Green]' Send data.
[/color][color=Blue]pulsout [/color][color=Navy]3[/color][color=Black],[/color][color=Navy]1 [/color][color=Green]' Send data again.
[/color][color=Blue]let [/color][color=Purple]pins [/color][color=DarkCyan]= [/color][color=Navy]128 [/color][color=Green]' Set to two line operation
[/color][color=Blue]pulsout [/color][color=Navy]3[/color][color=Black],[/color][color=Navy]1 [/color][color=Green]' Send data.
[/color][color=Blue]let [/color][color=Purple]b1 [/color][color=DarkCyan]= [/color][color=Navy]14 [/color][color=Green]' Screen on, cursor on instruction
[/color][color=Blue]gosub [/color][color=Black]wrins [/color][color=Green]' Write instruction to LCD
[/color][color=Blue]return[/color]
[color=Black]wrchr:
[/color][color=Blue]let [/color][color=Purple]pins [/color][color=DarkCyan]= [/color][color=Purple]b1 [/color][color=DarkCyan]& [/color][color=Navy]240 [/color][color=Green]' Mask the high nibble of b1 into b2.
[/color][color=Blue]high [/color][color=Navy]2 [/color][color=Green]' Make sure RS is high
[/color][color=Blue]pulsout [/color][color=Navy]3[/color][color=Black],[/color][color=Navy]1 [/color][color=Green]' Pulse the enable pin to send data.
[/color][color=Blue]let [/color][color=Purple]b2 [/color][color=DarkCyan]= [/color][color=Purple]b1 [/color][color=DarkCyan]* [/color][color=Navy]16 [/color][color=Green]' Put low nibble of b1 into b2.
[/color][color=Blue]let [/color][color=Purple]pins [/color][color=DarkCyan]= [/color][color=Purple]b2 [/color][color=DarkCyan]& [/color][color=Navy]240 [/color][color=Green]' Mask the high nibble of b2
[/color][color=Blue]high [/color][color=Navy]2 [/color][color=Green]' Make sure RS is high
[/color][color=Blue]pulsout [/color][color=Navy]3[/color][color=Black],[/color][color=Navy]1 [/color][color=Green]' Pulse enable pin to send data.
[/color][color=Blue]return[/color]
[color=Black]wrins:
[/color][color=Blue]let [/color][color=Purple]pins [/color][color=DarkCyan]= [/color][color=Purple]b1 [/color][color=DarkCyan]& [/color][color=Navy]240 [/color][color=Green]' Mask the high nibble of b1 into b2.
[/color][color=Blue]pulsout [/color][color=Navy]3[/color][color=Black],[/color][color=Navy]1 [/color][color=Green]' Pulse the enable pin to send data.
[/color][color=Blue]let [/color][color=Purple]b2 [/color][color=DarkCyan]= [/color][color=Purple]b1 [/color][color=DarkCyan]* [/color][color=Navy]16 [/color][color=Green]' Put low nibble of b1 into b2.
[/color][color=Blue]let [/color][color=Purple]pins [/color][color=DarkCyan]= [/color][color=Purple]b2 [/color][color=DarkCyan]& [/color][color=Navy]240 [/color][color=Green]' Mask the high nibble of b2
[/color][color=Blue]pulsout [/color][color=Navy]3[/color][color=Black],[/color][color=Navy]1 [/color][color=Green]' Pulse enable pin to send data.
[/color][color=Blue]high [/color][color=Navy]2 [/color][color=Green]' Back to character mode
[/color][color=Blue]return[/color]