Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.3 4.3bsd-beta 6/6/85; site ucbvax.BERKELEY.EDU Path: utzoo!watmath!clyde!burl!ulysses!ucbvax!CORY.BERKELEY.EDU!dillon From: dillon@CORY.BERKELEY.EDU (Matt Dillon) Newsgroups: net.micro.amiga Subject: Re: Blitter Message-ID: <8604192201.AA10369@cory> Date: Sat, 19-Apr-86 17:01:02 EST Article-I.D.: cory.8604192201.AA10369 Posted: Sat Apr 19 17:01:02 1986 Date-Received: Mon, 21-Apr-86 03:40:30 EST Sender: daemon@ucbvax.BERKELEY.EDU Organization: University of California at Berkeley Lines: 26 >From: Tomas G. Rokicki > >I have an application which requires extremely fast blitter operations. >The 420 microsecond overhead for each call of BltTemplate() is too high >by a factor of ten. Two questions: > a) Is there a way around this with a C function? I have searched >through all the manuals, and have come up with nothing . . . > b) I currently plan to write a short assembly language function >to write to the blitter registers directly. How can I prevent this from >mucking with the operating system? How do I tell when the blitter is free, >and how do I lock it for my use? Do I have to disable interrupts, or what? The only way to get around the overhead is to go to the blitter directly. I believe there is a call ... OwnBlitter() or something like that which gives you full control without worry over the rest of the system using it. You can write to the blitter registers directly from either assembly or C, your choice. If you have a Lattice C compiler, Assembly may be an improvement in terms of speed (unless the operations you are doing are REALLY simple...). Otherwise, if you have Manx or Aztec C, or a compiler which you know produces good code, then go ahead and write it in C..... simply create a char *, short * or long * pointer, and set it to the proper address, and off you go! (This avoids having to write any assembly at all!) -Matt