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/