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 2 années et 3 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 : 22

        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 : 22
          
          ; 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.