If the PIC you're using has internal eeprom, put the table there (the table is actually a matrix of what each character will look like when displayed on the LEDs, almost like what you've got in your first post). In fact, for testing, you could probably use the tables that are already in some of that code (5x7 font) and expand them later on. If the PIC doesn't have internal eeprom, you could still put the table into the code space (search 'making code space your playground').
Shifting - tables - Rather than trying to figure out how to shift an entire column or whatever, I think you have to worry more about getting the thing to work in the first place just displaying single characters at will. Once that's finished, the code for shifting one column at a time should fall into place.
Just as a for instance, say you want to display an O ( a big square O because it's easy) on an 8x8 LED. First byte (first column) is $ff, all 1's, 2nd-7th byte (columns) are %10000001 ($81), top and bottom LEDs on, last byte (column) is just like the first.
When you display a character, you give it a code, such as using ASCII as I did (just not all of it). A big, capital O is ASCII value $4F (79 decimal).
So now, say you've got a table already setup with all of the values plugged in. There's 127 ASCII characters (ok, not all of them displayable according to the ASCII standard, but you can use those non-displayable characters for 'special' characters).
127 characters times 8 columns for each = 1,016 bytes total, call it 1K.
You want to display character 'O', as in capital O. The ASCII value is $4F, so your loop would start at offset $4F times the number of bytes for each character (8), $4F x 8 = $278 (632 decimal), and run for 7 additional columns past that, for 8 columns total. After each read from memory for the byte values, you put that out to the LED matrix.
If you get that working, it'll be a piece of cake to figure out how to do scrolling...
Bookmarks