Ok so let me clarify a little bit. I have an idea and was wondering how exactly the code should work. I know I could do this on my own but not very efficiently, and I still have to solder up my matrix to use it so I want to make sure I have at least some of these coding concepts down because depending on how it ends up in code could change some of the physical schema of what I am trying to do for my project.
BTW, for this I am using an Atmega32L, and am going to be direct-driving an 8x8(x2color) led matrix.
So basically I want to do this:
I want to have somecode read from say an sdcard (don't worry about getting that working, I am not going into that yet), place it into a universal 8 character array, and then basically collect it 8 times (for each row of the lex matrix) and write it into a big 8x8 item array for each of the 8x8 led matrix leds and THEN output the appropriate pins to light the entire amount of leds needed on the matrix at one time.
The reasoning behind the character array is for ease of app writing for the matrix later on when I make my own mini apps that can be loaded from sd card, or writing straight from serial monitor.
So really what I wanted to do is use a decimal coding scheme (in light of binary) and convert it to binary for writing the correct pins. I.E.
writeLine(0);// would end up having none of the leds in that row on.
writeLine(1);// 00000001 -on row 1
writeLine(8 );// 00001000 -on row 2
writeLine(128);// 10000000
writeLine(63);// 01000001
writeLine(255);// 11111111
And then use words to select a scroll, wipe, or other visual scheme.
But now that I have shown you that, a full screen write line from the front end code to be processed would look like this:
//would be a smiley face
writeLine(60,66,165,129,165,66,60);
/*
00____00
0_0000_0
0_00_0
000000
0_00_0
00__00
0_0000_0
00____00
*/
Also I would have a character loop array that would basically take the binary character lines, and shift them for movement.
basically if it were shifting left, then it would use a position finding loop and move the 1 one to the left in succession for 8 numbers. this would eliminate the need to write tons of code for movement on the screen. Also I was thinking of sort of an off screen buffer of 8x8 above, below, left, and right that can be used to preload a physical image in memory to be scrolled onto the screen.this would eliminate the need for writing each line manually for whatever you want to scroll onto the screen (i.e. a game's background).
With this being said I am not quite a noob at coding. I know I will end up with 1-8 integer array variable for the numbers from the front end coding scheme, a conversion loop for each item in the array to recode it into an 8 (item) 8 bit binary array to be written to the pins to control the screen, and a conversion loop to convert the 8 binary array into an 8 item 8 char array for movement on the screen. The only issue I have is how to actually convert between these to get the needed results.
Once I am done with this I am going to publish the code under creative commons as a universal direct drive 8x8 led matrix library and interfacing demo code. Using this scheme, you could even VERY easily add in code for converting keyboard characters into a character onscreen without the need for tons of code. I know this has all been done before, but I don't believe all in one and I haven't been able to find much in the form of an 8x8 library. Any help is appreciated. And btw, anyone that contributes to this will have mention in the code release.