Author: AN COOL (h174n3fls1o95.telia.com)
Date: 10-24-2000 09:28
Hi guys,
I got nostalgic and bumped into this site. Well the routine (witch i have no clue what it does) could probably be optimized a little bit further.. I threw away all my 68k books so i might just talk total CRAP! But from what i recall, a convertion from move.l compared to no lsl.l and no moveq saves a coupple of cycles... What i'm saying is: preshift the table make the move.w a move.l and remove the lsl.l and moveq (if i remember a moveq is four cycles and the lsl.l #2.d0 is 10 but becomes 12 in the ST or something like that)
so the making of the new table is as follows.. (or even better make this where the tab is made from the beginning)
lea old_tab(pc),a0
lea new_tab(pc),a1
move.w #table_length,d0
smurf:
moveq #0,d1
move.w (a0)+,d1
lsl.l #2,d1
move.l d1,(a1)+
dbra d1,smurf
then change your wonderfull routine to:
q: set 0
rept 20
move.l (a0)+,d0
move.l (a1,d0.l),d0
movep.l d0,q(a2)
move.l (a0)+,d0
move.l (a1,d0.l),d0
movep.l d0,q+1(a2)
q: set q+8
endr
Take care ATARI-guys and it's just to bad the PC SUKKS-big time when you want to get close to the hardware!!!
AN COOL
|