[comp.windows.x] bug in mfb routines??

shamash@cs.columbia.edu (Ari Shamash) (01/30/91)

I'm having trouble using the mfb routines with a 720x280 bitmap
display.  There seems to be some kind of step function associated with
the width.  What seems to be happening is that the routines assume
that I meant 768x280, so the resulting graphics are skewed to the
right (as if the horizontal control on the display needs to be
adjusted).

The skewed pattern remains on the screen if the width is lowered to
705, but changes to the left when the width is set to 704.  704 and
705 are the half-way points between 640 and 768 (two standard
framebuffer sizes).  So, when I specified 720 as the width, it got
stepped up to 768...

Can anybody point me as to where in the mfb code this is being done?
I'm using X11R4 plus all the patches..

Thanks,
Ari

P.S. if this makes a difference, this is how I initialize the mfb
routines..

  mfbScreenInit(pScreen,
		screen_addr+display_info[display_type].display_offset,
		720,		/* width */
		280,            /* height */
		75, 		/* resolution/inches */
		75, 		/* resolution/inches */
 		720);           /* actual framebuffer width */

--
shamash@cs.columbia.edu
..!rutgers!cs.columbia.edu!shamash

brian@nds.com (Brian Dockter) (01/31/91)

In article <1991Jan29.200122.20143@cs.columbia.edu> shamash@cs.columbia.edu (Ari Shamash) writes:
>I'm having trouble using the mfb routines with a 720x280 bitmap
>display.  There seems to be some kind of step function associated with
>the width.  What seems to be happening is that the routines assume
>that I meant 768x280, so the resulting graphics are skewed to the
>right (as if the horizontal control on the display needs to be
>adjusted).


The first thing that I would check is the actual memory width
of the frame buffer.  This is not always the same as the width
of what is being displayed; if it is wrong, it would produce
results like what are described here.

One limitation which is present on at least some implementations, is
that the real memory width must be a muliple of 32.  The mfb code
accesses memory as an array of 32 bit int's, and keeps track of the
width in multiples of 32 bit int's.

Hope this helps.

-- 
Brian Dockter                    | Northwest Digital Systems
UUCP: uunet!nds!brian            | Voice: 206-524-0014
Internet: brian@nds.com          | FAX: 206-524-0018