Assembleur gestion dynamique de la mémoire

Forum Amiga Coding Assembleur gestion dynamique de la mémoire

  • Ce sujet contient 3 réponses, 2 participants et a été mis à jour pour la dernière fois par Ezequiel, le il y a 1 année et 2 mois.
  • Créateur
    Sujet
  • #154849
    Ezequiel
    • Level 1
    • Messages : 10

    Bonjour à tous les codeurs et toutes les codeuses,

    Dans une intro en asm je veux enchaîner 2 effets avec des tailles d’écrans différents.

    je déclare mes zones mémoire:
    screen0: dc.w 400/8x336x5,$0
    screen1: dc.w 320/8x256x3,$0

    Le problème c’est qu’au chargement du prog il réserve beaucoup de place dans la RAM qui n’est pas utilisée en meme temps. C’est dommage, c’est du gachi.

    J’aimerais pouvoir réserver la memoire dynamiquement:

    Alloue screen: 400/8x336x5
    effet 1
    libere la memoire

    Alloue screen: 320/8x320x3
    effet 2
    libère la mémoire

    est-ce possible ? Si oui comment ?
    Ezequiel

Affichage de 3 réponses de 1 à 3 (sur un total de 3)

Partager sur vos réseaux sociaux préférés :
Facebooktwitterredditpinterestlinkedintumblrmail

  • Auteur
    Réponses
  • #155124
    Bill
    • Level 1
    • Messages : 21

      au choix :

      – 1 seul buf mem, le plus gros : 400/8x336x5 . une fois l’effet fini, effacer le buf pour le reutiliser sur l’effet 2 (effacement au cpu ou blit)

      – utiliser allocmem/freemem de l’execlib ! et là c’est dynamique



      #155125
      Bill
      • Level 1
      • Messages : 21
        
        ; alloc
        movea.l	4.w,a6
        moveq.l	#2,d1	;chip ram
        move.l	#size,d0
        jsr	-198(a6) ; allocmem
        tst.l	d0
        bne.s	ok
        rts	; erreur
        ok:
        move.l	d0,buffer
        ...
        ; free
        movea.l	4.w,a6
        movea.l	buffer(pc),a1
        move.l	#size,d0
        jsr	-210(a6) ; freemem
        
        ; alloc 2
        etc...
        

        (la demo Aspartame utilise ce systeme pour chaque partie)

        #156144
        Ezequiel
        • Level 1
        • Messages : 10

          Bonjour,

           

          Merci Bill pour ces précieux conseils.

          J’ai encore tendance à voir les buffers mémoires comme des pages, alors que c’est juste des cases contigues…

          J’ai essayé les 2 méthodes ca marche très bien ! merci beaucoup

          Ezequiel

        Partager sur vos réseaux sociaux préférés :
        Facebooktwitterredditpinterestlinkedintumblrmail
        Affichage de 3 réponses de 1 à 3 (sur un total de 3)
        • Vous devez être connecté pour répondre à ce sujet.