Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rutgers!ames!amdahl!oliveb!sun!david From: david@sun.uucp (David DiGiacomo) Newsgroups: comp.windows.x Subject: Re: Wanted: Help on writing a bitblter for Wyse-700 monitor. Message-ID: <16833@sun.uucp> Date: Thu, 16-Apr-87 12:36:28 EST Article-I.D.: sun.16833 Posted: Thu Apr 16 12:36:28 1987 Date-Received: Sun, 19-Apr-87 08:48:41 EST References: <425@ivax.doc.ic.ac.uk> Organization: Sun Microsystems, Inc. - Mtn View, CA Lines: 28 In article <425@ivax.doc.ic.ac.uk> whw@doc.ic.ac.uk (Victor Wu) writes: > I've recently bought a Wyse-700 monitor for my AT-clone and trying to >port the bitblter for the X windowing system (from Brown University) to run on >it. However, I found it is very difficult to work with this particular >monitor. The reason being that when it is at its highest resolution (ie. 1280 >X 800 pixels black and white), the frame buffer is divided into two banks of >memory. One for the even scanlines and the other for the odd scanlines. I haven't looked at the Brown code lately (and it's hard to find it when you haven't told me which version of X you're using or which device it was written for!), but in general it's easy to handle this by blt-ing the odd and even lines separately. Create dummy bitmap structures for the source and destination bitmap operands with the bytes-per-scan-line values doubled. (Think of this as creating new bitmaps with all the original even lines on the left side and the original odd lines on the right side.) Now you can perform most bitblts by calling the regular bitblt function twice with slightly munged dx, dy, w, h, sx, sy operands (swapping the frame buffer bank in between). There is one pathological case where the source and destination bitmaps are both areas on the frame buffer and the LSBs of the source and destination y coordinates differ (e.g. dy is even and sy is odd). This has be done with a temporary memory bitmap (which only has to be half the size of the bitblt area). -- David DiGiacomo, Sun Microsystems, Mt. View, CA sun!david david@sun.com