Scrolling text?

Can someone point me in the direction of making scrolling text on a 8x8 matrix?

here is the code im working with

#include "LedControl.h"

LedControl lc=LedControl(12,11,10,1);

unsigned long delaytime=300;

void setup() {

  lc.shutdown(0,false);
  /* Set the brightness to a medium values */
  lc.setIntensity(0,8);
  /* and clear the display */
  lc.clearDisplay(0);
}

void writeArduinoOnMatrix() {
  byte a[5]={B01111110,B10001000,B10001000,B10001000,B01111110};
  byte r[5]={B00111110,B00010000,B00100000,B00100000,B00010000};
  byte d[5]={B00011100,B00100010,B00100010,B00010010,B11111110};
  byte u[5]={B00111100,B00000010,B00000010,B00000100,B00111110};
  byte i[5]={B00000000,B00100010,B10111110,B00000010,B00000000};
  byte n[5]={B00111110,B00010000,B00100000,B00100000,B00011110};
  byte o[5]={B00011100,B00100010,B00100010,B00100010,B00011100};

  /* now display them one by one with a small delay */
  lc.setRow(0,0,a[0]);
  lc.setRow(0,1,a[1]);
  lc.setRow(0,2,a[2]);
  lc.setRow(0,3,a[3]);
  lc.setRow(0,4,a[4]);
  delay(delaytime);
  lc.setRow(0,0,r[0]);
  lc.setRow(0,1,r[1]);
  lc.setRow(0,2,r[2]);
  lc.setRow(0,3,r[3]);
  lc.setRow(0,4,r[4]);
  delay(delaytime);
  lc.setRow(0,0,d[0]);
  lc.setRow(0,1,d[1]);
  lc.setRow(0,2,d[2]);
  lc.setRow(0,3,d[3]);
  lc.setRow(0,4,d[4]);
  delay(delaytime);
  lc.setRow(0,0,u[0]);
  lc.setRow(0,1,u[1]);
  lc.setRow(0,2,u[2]);
  lc.setRow(0,3,u[3]);
  lc.setRow(0,4,u[4]);
  delay(delaytime);
  lc.setRow(0,0,i[0]);
  lc.setRow(0,1,i[1]);
  lc.setRow(0,2,i[2]);
  lc.setRow(0,3,i[3]);
  lc.setRow(0,4,i[4]);
  delay(delaytime);
  lc.setRow(0,0,n[0]);
  lc.setRow(0,1,n[1]);
  lc.setRow(0,2,n[2]);
  lc.setRow(0,3,n[3]);
  lc.setRow(0,4,n[4]);
  delay(delaytime);
  lc.setRow(0,0,o[0]);
  lc.setRow(0,1,o[1]);
  lc.setRow(0,2,o[2]);
  lc.setRow(0,3,o[3]);
  lc.setRow(0,4,o[4]);
  delay(delaytime);
  lc.setRow(0,0,0);
  lc.setRow(0,1,0);
  lc.setRow(0,2,0);
  lc.setRow(0,3,0);
  lc.setRow(0,4,0);
  delay(delaytime);
}

void loop() { 
  writeArduinoOnMatrix();

}

Possibly PhesudoCode

#include "LedControl.h"
LedControl lc=LedControl(12,11,10,1);
unsigned long delaytime=300;
void setup() 
{
  lc.shutdown(0,false);
  /* Set the brightness to a medium values */
  lc.setIntensity(0,8);
  /* and clear the display */
  lc.clearDisplay(0);
}

//Begin my stuff 

  //One large byte[] with 2 spacer bytes at the back of every char
  //48 positions, 5 collumns for each char and 2 spacers after each
  //5+2 = 7 , 7 * 7(chars in 'arduino') = 49, 0 based array, answer = 48

  byte a[] = { 01111110,10001000,10001000,10001000,01111110,00000000,00000000,
      ,00111110,00010000,00100000,00100000,00010000,00000000,00000000,
      ,00011100,00100010,00100010,00010010,11111110,00000000,00000000,
      ,00111100,00000010,00000010,00000100,00111110,00000000,00000000,
      ,00000000,00100010,10111110,00000010,00000000,00000000,00000000,
      ,00111110,00010000,00100000,00100000,00011110,00000000,00000000,
      ,00011100,00100010,00100010,00100010,00011100,00000000,00000000}

      

void loop()
{
        
//scroll left.
      for (int i=0; i <= 48; i++)
      {
          lc.setRow(0,4,a[i]);
            
          if (i > 1)//Checks to make sure it's accessing a valid position in the array. and moving collumn back 1 collumn
            lc.setRow(0,3,a[i - 1]);

          if (i > 2)
            lc.setRow(0,2,a[i - 2]);

          if (i > 3)
          lc.setRow(0,1,a[i - 3]);

          if (i > 4)
          lc.setRow(0,0,a[i - 4]);         

          delay(delaytime);
      }
}

//SgtJimmmy

Try this, I am at work and I cannot validate the syntax nor do I have the LED matrix, but I think this might work or lead you on the right path.

The only way to scroll would be to set the vertical collumns 1 by 1, and just progress the collumn -1 or +1 to create the scroll look. Let me know if this works.

(toCode || !toCode)