If all you need right now is the scrolling text, you can just put this together with the previous code, and replace wait_on_escape(250) by delay(250):
void scroll_text(char * src, char * dst, char dst_len, short pos)
for (byte j=0;j<dst_len;j++)
That will get you started.
The wait_on_escape(250) is a delay while polling all buttons so it quits after time expires or button presses. These buttons are discrete tactile buttons hooked to digital pins.
Just what I needed - it works perfectly!
Although I can usually cobble together a working C/C++ program, I'm not a programmer and got stuck on this problem. I'll sit and digest how your routine works - and learn something!