Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!brutus.cs.uiuc.edu!apple!olivea!tymix!tardis!jms From: jms@tardis.Tymnet.COM (Joe Smith) Newsgroups: comp.sys.amiga.hardware Subject: Text changes color while scrolling. Summary: Blits done one plane at a time Message-ID: <1180@tardis.Tymnet.COM> Date: 11 Aug 90 03:45:31 GMT References: <7137@helios.TAMU.EDU> <35188@ut-emx.UUCP> Reply-To: jms@tardis.Tymnet.COM (Joe Smith) Organization: BT Tymnet, San Jose, CA Lines: 41 In article <35188@ut-emx.UUCP> mjl@emx.UUCP (Maurice LeBrun) writes: >The only thing I'm less than happy about is that there is a lot of >flicker when scrolling multi-color text (say, blue mixed in with >black, using the standard 2.0 colors) on a 7xx by 4xx screen through >the de-interlacer (can't really say 'interlaced' any more, I guess). >I have a feeling this has more to do with limitations of the blitter >performance than anything else (is this right?). Right. If you have a bunch of blue text on a gray background (such as from the 'ls' program), the text changes colors temporarily as the blitter processes the two bit planes one at a time. After the first blit, the text has moved up one line, but is black on gray. Where the text used to be is white on gray. This mishmash stays visible until the blitter finishes with the 2nd bit plane, changing the white to gray. I made a suggestion to get around this problem, and Jim Mackras seemed to get excited about it. (What is jimm doing, these days?) It would require a change in the way that the console device allocates its bitmaps, and needs the ECS Agnus (for blits wider than 1024 bits). Instead of allocating two 32,000 byte bitplanes for a 640x400 window, allocate a single 64,000 byte chunk, arranged as 1280x400 bits. Define the modulo of the rastport to by 80, so that the first line of the first bitplane is in bytes 0 thru 79, the second line is 160 thru 239, etc. Define the second bitplane so that its first line is bytes 80 thru 159, etc. But when it comes to scrolling the rastport, pretend that it is a single bitplane, 1280 pixels wide. Instead of scrolling all the bytes for the first bitplane before starting the second, the blitter would scroll all the bytes for the first 8 lines of both bitplanes, then all the bytes for the next 8 lines of both bitplanes, etc. Doing this on a custom screen should be trivial. Doing it on the Workbench screen requires that both Workbench and the console.device use this single double-wide (or triple-wide) bitmap. -- Joe Smith (408)922-6220 | SMTP: jms@tardis.tymnet.com or jms@gemini.tymnet.com BT Tymnet Tech Services | UUCP: ...!{ames,pyramid}!oliveb!tymix!tardis!jms PO Box 49019, MS-C41 | BIX: smithjoe | 12 PDP-10s still running! "POPJ P," San Jose, CA 95161-9019 | humorous dislaimer: "My Amiga speaks for me."