Path: utzoo!utgpu!news-server.csri.toronto.edu!mailrus!uunet!wuarchive!cs.utexas.edu!ut-emx!walt.cc.utexas.edu!lshaw From: lshaw@walt.cc.utexas.edu (logan shaw) Newsgroups: comp.sys.amiga.hardware Subject: Re: Text changes color while scrolling. Message-ID: <35790@ut-emx.UUCP> Date: 12 Aug 90 05:34:56 GMT References: <7137@helios.TAMU.EDU> <35188@ut-emx.UUCP> <1180@tardis.Tymnet.COM> Sender: news@ut-emx.UUCP Reply-To: lshaw@walt.cc.utexas.edu (logan shaw) Organization: The University of Texas at Austin, Austin, Texas Lines: 54 In article <1180@tardis.Tymnet.COM> jms@tardis.Tymnet.COM (Joe Smith) writes: [stuff about color freaking as >1 bitplane things are scrolled] >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. What? Why not just do it like this: for scanline = 1 to however_many_scanlines_there_are { for bitplane = 1 to however_many_bitplans_there_are { blit_a_single_scanline (); } } That would _not_ require the neato Agnus, and would not take any longer, and would make that neat effect where the top of the screen has scrolled already a little bit and the bottom hasn't yet and it's scrunched a little, which is certainly better than messed up colors. In other words, do it in bitplane major order instead of scanline major order. Actually, it might be slight more efficient to scroll as much as you can of the first bitplan (depending on the Agnus), as much as you can of the next bitplane, and then go back to the first bitplane. However, this may be what they already do, but since the new Agnus can blit so much, it causes color mess ups. So, you could limit the size of the areas it blits to 1/number_of_bitplanes*some_constant, so it won't get confused. >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." ============================================================================ "The beauty queen, clevely clad, Logan Shaw admires herself in a cigarette ad. lshaw@ccwf.cc.utexas.edu Will she admit that all was in vain ======================== when the face in her mirror cracks like a windowpane?" -Elim Hall, _Things_Break_