Hi Richard,
Thanks for the help. I started work Friday so my time on the forum will be a lot less from now on unfortunately - but good that I have an income now after so long.
Can I ask: have you tried these changes yourself and seen the results on a Nokia 3310 lcd? I tried your suggestion per my interpretation below and it compiled/assembled without errors but the result was the same as if the changes were not made - so I'm assuming I didn't do it correctly or am still missing something.
I made the following edits after replacing data with da:
Please show me where have I blundered.Code:'for @ printstr Addr VAR WORD 'Char VAR byte ' lcdchardata[0] [WJS] as it was Char VAR word ' lcdchardata[0] [WJS] now for modification StringOut: ' Edits for 16F devices. Readcode Addr, Char ' Get a character if Char = 0 then StringDone ' Look for Null char, Stop if found packedbit = char.7 ' Store bit 7 value of low byte char.lowbyte = char.lowbyte&127 ' Bitwise And (&) the low byte with 127 Char.highbyte = (Char.highbyte <<1) ' left shift the high byte 1 digit (multiplying by 2n) if packedbit <> 0 then Char.highbyte = Char.highbyte+1 endif Gosub Lcd_GotoXY Lcd_Data = Char gosub Lcd_SendChar ' puttext Addr = Addr + 1 ' Point to next character PosX = PosX + 6 if PosX > 78 then ' If end of line, cycle to next line PosY = PosY + 1 PosX = 0 endif goto StringOut ' Continue with rest of the string '' Original ' Readcode Addr, Char ' Get a character ' if Char = 0 then StringDone ' Look for Null char, Stop if found ' Gosub Lcd_GotoXY ' Lcd_Data = Char ' gosub Lcd_SendChar ' puttext ' Addr = Addr + 1 ' Point to next character ' PosX = PosX + 6 ' if PosX > 78 then ' If end of line, cycle to next line ' PosY = PosY + 1 ' PosX = 0 ' endif ' goto StringOut ' Continue with rest of the string StringDone: return
Kind regards,
Bill




Bookmarks