/* Draws an ASCII character on the given LCD buffer.  */
void LCDD_DrawChar(void *pBuffer, unsigned int x, unsigned int y, char c, unsigned int color)
/* Draws an ASCII character on the given LCD buffer.  */
void LCDD_DrawChar(void *pBuffer, unsigned int x, unsigned int y, char c, unsigned int color)
{
    unsigned int row, col;
    SANITY_CHECK((c >= 0x20) && (c <= 0x7F));
    for (col = 0; col < 10; col++) {
        for (row = 0; row < 8; row++) {
            if ((pCharset10x14[((c - 0x20) * 20) + col * 2] >> (7 - row)) & 0x1) {
                LCDD_DrawPixel(pBuffer, x+col, y+row, color);
            }
        }
        for (row = 0; row < 6; row++) {
            if ((pCharset10x14[((c - 0x20) * 20) + col * 2 + 1] >> (7 - row)) & 0x1) {
                LCDD_DrawPixel(pBuffer, x+col, y+row+8, color);
            }
        }
    }
}