Re: lcd ddram addressing
If you post the libraries that you are using I can give a suggestion... In between, that LCD is Hitachi compatible, meaning that at the initialization you need to define a positive or negative increment witch will increment/decrement DRAM position automatically when a write operation is performed..
Before you write the first character you need to define the DRAM position for that char, for example 0x80, that would be the 1st char from 1st line.. after you write this character the DRAM position is auto incremented/decremented (as defined on initialization) so that the next character write will be done to position 0x81..
So you just have to spy on the position setting subroutine (somewhere on your library) and set one global variable with that position.. then in the subroutine that writes the character for the lcd, you need to incremented/decremented (as defined on initialization) the global variable that keeps track of the position... finally, before the character writing operation, you need to check if the position that will be written is valid (if is bigger than 0x87), and if need, perform the jump by setting the DRAM position to 0xC0...