Les
ROM_CALLs, c'est pour les chiens? Voici un code qui ne prend que 4 octets sur la pile au lieu de 3840. (Et on pourrait aussi dégager ces 4 octets en rajoutant des instructions de plus.)
move.l d4,-(a7)
move.l #3840,-(a7)
ROM_CALL HeapAllocPtr
move.l a0,d4 ;sauvegarde l'adresse en d4
tst.l d4
beq nomem ;si pointeur nul, dégage
move.l #$4c00,-(a7)
move.l d4,-(a7)
ROM_CALL memcpy ;sauvegarde l'écran
addq.l #8,a7
;ton programme principal
move.l d4,-(a7)
move.l #$4c00,-(a7)
ROM_CALL memcpy ;restaure l'écran
addq.l #4,a7
ROM_CALL HeapFreePtr
addq.l #4,a7
nomem:
addq.l #4,a7
move.l (a7)+,d4
rts
>ParadiZe: Ouais et en plus si tu le fais en nostub je te dis pas combien il va bouffé le cul de ta calc!
N'importe quoi. Le
_nostub ne gaspille pas autant de place.
[edit]Edité par Kevin Kofler le 29-06-2001 à 09:52:17[/edit]