Mirrored and shiftet fonts and logos

4 messages, 4 authors, 2002-12-15 · open the first message on its own page

Mirrored and shiftet fonts and logos

From: André Stierenberg <hidden>
Date: 2002-12-14 19:57:39

Hello,

i´m using the framebuffer driver pxafb for my board using the pxa processor
(Accelent IDP). I have a 4 bit monocrom display. when I run the framebuffer
I have some problems. The text in the console it in some way shifted. The
two parts of the font are switched. The first 4 pixels are at dest+2 and the
last 4 pixels at dest+0. And both parts are mirrored. Now I have done the
following in fbcon_cfb4.c in function fbcon_cfb4_putcs:

  for (rows = fontheight(p), dest = dest0; rows-- ; dest += bytes) {
      fb_writew((nibbletab_cfb4[rv(*cdat) >> 4] & eorx) ^ bgx, dest+2);
      fb_writew((nibbletab_cfb4[rv(*cdat++) & 0xf] & eorx) ^ bgx, dest+0);
  }


The function rv will reverse the bit order (bit 1 is bit 8, bit 2 is bit 7..
etc.).
And i have swaped the destination offset.
Now the characters are printed correctly. And in the linux logo, the
pinguin, something is also wrong. It seems the some pixels are mirrored too
whereas other pixels are correct.

What could this be and in what way can i fix the problem?

Andre




-------------------------------------------------------
This sf.net email is sponsored by:
With Great Power, Comes Great Responsibility 
Learn to use your power at OSDN's High Performance Computing Channel
http://hpc.devchannel.org/

Re: Mirrored and shiftet fonts and logos

From: James Simmons <hidden>
Date: 2002-12-14 21:13:23

Sounds like a endian issue. =Maybe the frmaebuffer and the processor are 
different endianess.


On Sat, 14 Dec 2002, André Stierenberg wrote:
Hello,

i´m using the framebuffer driver pxafb for my board using the pxa processor
(Accelent IDP). I have a 4 bit monocrom display. when I run the framebuffer
I have some problems. The text in the console it in some way shifted. The
two parts of the font are switched. The first 4 pixels are at dest+2 and the
last 4 pixels at dest+0. And both parts are mirrored. Now I have done the
following in fbcon_cfb4.c in function fbcon_cfb4_putcs:

  for (rows = fontheight(p), dest = dest0; rows-- ; dest += bytes) {
      fb_writew((nibbletab_cfb4[rv(*cdat) >> 4] & eorx) ^ bgx, dest+2);
      fb_writew((nibbletab_cfb4[rv(*cdat++) & 0xf] & eorx) ^ bgx, dest+0);
  }


The function rv will reverse the bit order (bit 1 is bit 8, bit 2 is bit 7..
etc.).
And i have swaped the destination offset.
Now the characters are printed correctly. And in the linux logo, the
pinguin, something is also wrong. It seems the some pixels are mirrored too
whereas other pixels are correct.

What could this be and in what way can i fix the problem?

Andre




-------------------------------------------------------
This sf.net email is sponsored by:
With Great Power, Comes Great Responsibility 
Learn to use your power at OSDN's High Performance Computing Channel
http://hpc.devchannel.org/
_______________________________________________
Linux-fbdev-devel mailing list
Linux-fbdev-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-fbdev-devel


-------------------------------------------------------
This sf.net email is sponsored by:
With Great Power, Comes Great Responsibility 
Learn to use your power at OSDN's High Performance Computing Channel
http://hpc.devchannel.org/

Re: Mirrored and shiftet fonts and logos

From: Antonino Daplas <hidden>
Date: 2002-12-14 21:35:45

On Sun, 2002-12-15 at 00:53, André Stierenberg wrote:
Now the characters are printed correctly. And in the linux logo, the
pinguin, something is also wrong. It seems the some pixels are mirrored too
whereas other pixels are correct.

What could this be and in what way can i fix the problem?
The logo is drawn directly to the framebuffer by fbcon_show_logo() in
linux/drivers/video/fbcon.c.

In your case, (is this cfb4?), the code segment is enclosed by this
conditional:

#if defined(CONFIG_FBCON_CFB4)
...
#endif

You can apply the same reversal techniques to correct your problem.

Tony




-------------------------------------------------------
This sf.net email is sponsored by:
With Great Power, Comes Great Responsibility 
Learn to use your power at OSDN's High Performance Computing Channel
http://hpc.devchannel.org/

Re: Mirrored and shiftet fonts and logos

From: Michael Kaufmann <hidden>
Date: 2002-12-15 14:35:30

On Saturday 14 December 2002 18:53, André Stierenberg wrote:
i´m using the framebuffer driver pxafb for my board using the pxa processor
(Accelent IDP). I have a 4 bit monocrom display. when I run the framebuffer
I have some problems. The text in the console it in some way shifted. The
two parts of the font are switched. The first 4 pixels are at dest+2 and
the last 4 pixels at dest+0. And both parts are mirrored. Now I have done
the following in fbcon_cfb4.c in function fbcon_cfb4_putcs:

  for (rows = fontheight(p), dest = dest0; rows-- ; dest += bytes) {
      fb_writew((nibbletab_cfb4[rv(*cdat) >> 4] & eorx) ^ bgx, dest+2);
      fb_writew((nibbletab_cfb4[rv(*cdat++) & 0xf] & eorx) ^ bgx, dest+0);
  }


The function rv will reverse the bit order (bit 1 is bit 8, bit 2 is bit
7.. etc.).
And i have swaped the destination offset.
Now the characters are printed correctly. And in the linux logo, the
pinguin, something is also wrong. It seems the some pixels are mirrored too
whereas other pixels are correct.

What could this be and in what way can i fix the problem?
i had exactly the same problem, but i fixed it on the hardware side.
I changed the databus between the video controller and the LCD.
My display has a 4bit width databus, so i exchanged D0 with D3 and D1 with D2.
Now i have a clear picture (logo, font, ...).

Bye
Michael


-------------------------------------------------------
This sf.net email is sponsored by:
With Great Power, Comes Great Responsibility 
Learn to use your power at OSDN's High Performance Computing Channel
http://hpc.devchannel.org/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help