Here's a version of my program that includes a simple font and allows you to print text to the screen using lcd_print ("put text here") ;
There are several problems with this version, though:
1. The BoostC Compiler does not allow multi-dimensional Arrays in ROM space, so I had to implement it with rom char *Font {........}; instead, and then come up with a function that would calculate the x and y coordinates depending on the ascii value of the character being processed.
2. This would have been fine, but then I found out that the BoostC compiler only supports 8-bit Arrays in ROM space, which means that a maximum of 31 characters can be utilised per array (8 bytes per character)
I thought I might be able to get around this by having a separate array for upper-case, lower-case and special characters (making 3 arrays in total) and then writing a function that would access the correct array depending upon the character currently being processed. But this is messy and I don't like it. It also begs the question, "what about bitmap images"?
So clearly something has to be done about it. It has been suggested that I could just store the font data in the ROM using #pragma DATA and access it that way, thereby bypassing the need for an Array (and it's associated limits). I'm going to look into this and see what I can come up with. I also want to be able to pass line and column data to my function and let the function do the rest, so that data can be printed using something like lcd_print ("text to be printed", line, column) ;
I'll work on that and report back when I have a better program! For now, please find attached my progress to date.