Scrolling matrix display

The flaw in the design where there is some jitter in the display is a software problem on my side, not the LED library or hardware. What this software does is scan each row by advancing the current bit being displayed on the current character in the string until it gets to the end of that character (by length lookup) and then advancing to the next character. After each row it restores the position and advances the row until it gets to row 8. At the end of writing the rows, the software restores the position and advances by one bit (column) to achieve the scrolling effect. It has to know the correct current character to look up the current character length. Even though the software it restores the start bit position and character in string position it does not restore the current character correctly for length lookup, it uses whatever character was displayed (or partially displayed) last. This causes the counter not to advance a lot of the time and the jitter. If you are using my software for scrolling purposes, fix it with this change. Add the one line indicated.

    curcharix = curcharixsave2;
    curcharbit = curcharbitsave2;
  
    // advance the current character bit of current character

to

    curcharix = curcharixsave2;
    curcharbit = curcharbitsave2;
  
    curchar = msg[curcharix];
  
    // advance the current character bit of current character

Sorry for anyone that was inconvenienced by this bug. I actually totally rewrote the part of the code that writes to the MAX7219s and eliminated the LEDLibrary and this bug persisted which led me to the obvious conclusion that my code sucked somewhere. At least now I know how the MAX7219 works on a register level, though. The new version can scroll the display so fast it is not readable without a decent delay.

Attached code has been updated.