I have been trying to write some scrolling code to give a continuously repeating message. It appears that the scroll library functions maintain some internal buffer that is larger than the display size (40 characters I think) but this is not mentioned in the documentation. Also, when you use:
you don't get the character in the upper right slot. So I assume there is some interaction between the scroll functions and the cursor numbering.
The code doesn't do anything itself. As far as I can tell the scroll works by offsetting the memory address used by the display. Since the setCursor function points to a memory location then when you scroll, the memory location will alter. So the "coordinates" of the upper right slot will depend on any scrolling that has taken place. It should be possible to alter the library so that setCursor is mapped onto the characters being displayed.
Oh, and I have it working without the scroll functions based on a ring buffer.