Aaron Ardiri wrote:

> > My experience on the Mac has been that using movem.l is the fastest
> > way to move big chunks of memory, and if you take advantage of all of
> > the registers, you'll pretty much max out the bus. Something like:
> >
> > @0    move.l  (a0)+,d0-d6/a2-a6               // Suck up 48 bytes of data.
> >       move.l  d0-d6/a2-a6,(a1)                // Spew it out (can't post-inc)
> >       add.w   #48,a1                          // or maybe stash
> > 48.l in a reg.
> >       dbra    d7,@0                           //
>
>   yes.. we use this technique to blit memory to the screen in Liberty
>   in the fastest possible manner.. the source code for Cube3D and
>   Burning (on www.ardiri.com) show how it is done as well.
>
>   but beware.. when the screen size changes.. it wont work anymore :)

Interestingly enough, a dive into MemoryMgrNew.c code for MemMove
shows mostly word copies.  Anyone care to try an assembly implementation
using movem ?

--
Adam Wozniak                     Senior Software Design Engineer
                                 Surveyor Corporation
[EMAIL PROTECTED]                4548 Broad Street
[EMAIL PROTECTED]          San Luis Obispo, CA 93401



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/tech/support/forums/

Reply via email to