need C code for simple ascii font lookup table

Hi, I need to output some text and numbers to a bitmapped LCD from an MCU so I need a font bitmap/lookuptable but cant seem to find one that is in the format that can be included in a c program file (or assembler) using dspic30f... anyone know of any ? hope I dont have to create/copy one by hand.

Colin =^.^=

Reply to
colin
Loading thread data ...

You can find some useful information for bit mapped fonts and graphic LCDs at my web site. Check it out at this link:

formatting link

- mkaras

Reply to
mkaras

colin wrote: > Hi, > I need to output some text and numbers to a bitmapped LCD from an MCU > so I need a font bitmap/lookuptable but cant seem to find one that is in the > format that can be included in a c program file > (or assembler) using dspic30f... anyone know of any ? hope I dont have to > create/copy one by hand. >

Heaven forbid you'd have to do something resembling work since you say it's simple. It's not hard and takes less time than reading these replies. Besides which, it's excellent learning material.

GG

Reply to
Glenn Gundlach

On a sunny day (Thu, 30 Nov 2006 23:34:44 GMT) it happened "colin" wrote in :

As C header file: ftp://panteltje.com/pub/s14font.h.txt

8x9 with teletext graphics characters, you can see it here: ftp://panteltje.com/pub/xkrs.jpg Do you also need the character generator and color processing in C?
formatting link
user: guest pasword: none

By reading this you agree to all conditions.

Reply to
Jan Panteltje

the

Thanks that will do nicely ::))

My display is 256x64, its an old epson eg2401 I had in myparts box I just wanted to see some debug info, seems a bit overly complex to use with 10 inputs, took a while to work out the timings from the data sheet, but it works now. But I had forgoton it was btimaped and needed refreshing constantly too, looks like this will take up a lot of cpu time. I wish now id gone for one of those rs232 input ones, I saw a nice development board on ebay with an LCD (i think it had arm7 or similar mcu) but I cant find one like it again.

8x9 wil give me 7 lines, or maybe I can lose the top or bottm line and have
  1. Colin =^.^=

Reply to
colin

MCU

the

to

Cool thanks a lot ::))

colin =^.^=

Reply to
colin

Simple refers to the fact that it doesnt need any fancy things like proportional spacing or kerning, so it doesnt take up so much cpu power, its not so simple to actualy create the bitmap for each char due to the fact that there are so many bits in total.

Although I wrote a '0-f' 7 segment font from scratch a full ascii char set is another matter.

Some of the font files ive had as replies have been many thousands of lines long just for the font bitmap, hardly quicker to type it myself, let alone actualy work out each individual bit, hardly a learning experience either, maybe you missundertsood what I was after ?

Colin =^.^=

Reply to
colin

You can find the 8x8 character generator ROM in any PC at address f000:fa6e

vic.

Reply to
vic

On a sunny day (Fri, 01 Dec 2006 13:02:41 GMT) it happened "colin" wrote in :

Actually it was the wrong font, the one with the teletext graphics is this one: ftp://panteltje.com/pub/txtfont.h.txt Both are interchangable, but those graphics blocks start above 127 dec. If you are short of space you can use only 32 through 127 of the table, and always add 32 (space) for ASCII.

Reply to
Jan Panteltje

one:

Thanks again, that file had a bit more info too :)

I got it to display them all on the lcd now, using just 8x8 as the 9th byte is unused, although I havnt deleted it from the table. and croped the table to 32-127 as u said. had a bit of a headache b4 I realised Id got my nibbles swaped, as it was only a problem in the few chars wich were wider than 4bits.

I cant say I fully understand these epson LCD timings but after a bit of jiggling with random delays and swaping edges it seems to work now, although a touch tempermental, if anyone wants to see the code just ask, but cba to comment it unless someone needs to use it, I gues these epson LCD are quit old now.

I find if I use bit set on an output port followed by another bitset on a different bit on the same port the first bit gets cleared.

Also dont quite understand exactly how it lays down the data in memory when you specify a data array in the program space on the dspic30f with the microlab mc30 compiler, as theres only 3 bytes used per 4 bytes of prog space, looking at the examples I assume it only uses the low word, and so wastes 1/3 bytes.

Spent a while trying to get the tbldr function to work before I gave up and put it in the data space and it seems fine, although I think I found other problems why it wasnt working, probably not got a lot of the 2k ram left now, maybe il try maping the code space into data space.

When I look at the disaembly it seems to be accesing the normal data array at 0x810 wich coresponds to actual code, maybe it doesnt show the final linked addresses, oh wait prog and data are seperate.

Colin =^.^=

Reply to
colin

MCU

the

to

f000:fa6e

That would be fine if there was an easy way to get/copy it into a 'C' program as a data array, as the prog runs on an mcu wich obviously cant acces the rom itself. However ive got a few such files now thanks :)

Colin =^.^=

Reply to
colin

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.