Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!mips!dimacs.rutgers.edu!rutgers!cbmvax!chrisg From: chrisg@cbmvax.commodore.com (Chris Green) Newsgroups: comp.sys.amiga.programmer Subject: Re: Block Moves Blits Keywords: Blitter Message-ID: <22678@cbmvax.commodore.com> Date: 25 Jun 91 13:06:12 GMT References: Reply-To: chrisg@cbmvax.commodore.com (Chris Green) Organization: Commodore, West Chester, PA Lines: 31 In article utoddl@next1.oit.unc.edu (Todd M. Lewis) writes: >... >I'm doing the same 10 or so blits over and over I thought I could save some >time by doing the blitter register setups once at the beginning, then doing >OwnBlitter()/stuff_blit_regs()/DisownBlitter() a la BlitLab when I actually >need to blit. The problem is I've had a devil of a time figuring out all You've got the sequence wrong there. You want to: 1. OwnBlitter() 2. calculate initial values to stuff into blit regs 3. WaitBlit() (call the rom one. it deals with blitter bugs, etc.) 4. stuff initial values 5. stuff values for next bitplane, starting blitter 6. calculate values for next bit plane. 7. if more blits then WaitBlit. Goto 5. 8. DisownBlitter(). If you disown the blitter after stuffing the initial register setups, then some other task can get in and changes them before you do the rest of your blit. It is not safe to assume anything about the contents of blitter registers after an OwnBlitter(). -- *-------------------------------------------*---------------------------* |Chris Green - Graphics Software Engineer - chrisg@commodore.COM f | Commodore-Amiga - uunet!cbmvax!chrisg n |My opinions are my own, and do not - killyouridolssonicdeath o |necessarily represent those of my employer.- itstheendoftheworld r *-------------------------------------------*---------------------------d