home *** CD-ROM | disk | FTP | other *** search
- Path: nntp1.best.com!usenet
- From: kcd@babylon5.jumpgate.com (Kenneth C. Dyke)
- Newsgroups: comp.sys.amiga.programmer
- Subject: Re: Too system friendly?
- Date: 3 Apr 1996 10:52:46 GMT
- Organization: Best Internet Communications
- Message-ID: <4jtl9u$l2q@nntp1.best.com>
- References: <4jpq5f$i9g@toad.stack.urc.tue.nl> <jdju3z2r5jf.fsf@hyppynaru.cs.hut.fi>
- NNTP-Posting-Host: babylon5.jumpgate.com
- In-Reply-To: <jdju3z2r5jf.fsf@hyppynaru.cs.hut.fi>
- X-Newsreader: NewsFlash [$Revision: 2.275 $] NF-U-00002
-
- On 04/01/96, Osma Ahvenlampi wrote:
- >In article <4jpq5f$i9g@toad.stack.urc.tue.nl> jaco@stack.urc.tue.nl
- (Jaco Schoonen) writes:
- >>The function to update the screen changes those data nad then use
- several
- >>WritePixelLine8() calls to put them on screen.
- >>On CyberGraphx-screen everything works as expected, but on
- non-cybergraphx
- >>the data is set to all zero's!
- >
- >Yeah. For some reason I've been unable to understand, the V39/V40
- >graphics.library WritePixelLine8() clears the source array after
- >writing it to the destination. I, too, ran into it when my program
- >worked perfectly on a CyberGraphX machine, but failed on a native
- >machine. As far as I'm concerned, CGFX is right here, and the OS is
- >wrong, but that doesn't help much, does it? Unfortunately the only
- fix
- >is to do an extra copy cycle to create a temporary array to use as
- the
- >WritePixelLine8() source.
-
- The reason that the source buffer gets cleared is because the
- standard graphics.library version of WritePixelLine8() is doing
- bit rotations on the pixel data and using the generated extend bits
- to create the planar data. So after you've shifted out all 8 bits
- of a pixel, you're left with 0 in the original memory locations. So
- not only does this destroy your source buffer, it's also incredibly
- slow. :(
-
- -Ken
-
-
-