Sketch examples of scrolling text on 8x8 LED matrix w/ MAX72xx

So am I correct in assuming that a buffer is an array containing columns of zero's and one's which form the character or symbol you wish to display and scroll. Do you then maybe use a for loop to move through this buffer array?

There are two basic types of displays:

  1. write-only displays: they are either dumb (controller-less. as segment lcd / led), or they cannot be read back (many low-end graphics leds are like that). For those displays, you can either write-over what's on the screen, or keep a copy of the screen in your memory and process it before sending the data over to the screen. If you need anything fancier, you need to keep a local copy of the screen. Thus a buffer.
  2. read/writable displays: you don't have to keep a local copy of the screen, as you can always read it back from the screen. However, that reading back / forth can take more time so for speed reasons, you may see people using buffers as well.

Buffers are nothing but a dedicated area in the mcu's ram that keeps track of what's being displayed. Each dot is represented by a bit (in an on/off only screen), or a gray / color scale.

In the case of MAx72xx, since you need to scroll the image, you have to have a buffer.

Once you have a buffer, you can process every bit / led based on your desired actions. The code I provided earlier shows some of the more generic ways for you to do that. You can actually speed it up significantly if you use memory copy. It serves as a starting point.