Assembleur et copper sour WB3.9

Forum Amiga Coding Assembleur et copper sour WB3.9

  • Ce sujet contient 4 réponses, 2 participants et a été mis à jour pour la dernière fois par donamiga, le il y a 5 années et 2 mois.
  • Créateur
    Sujet
  • #84281
    bombseb
      • Level 0 - Newbie
      • Messages : 4

      Bonjour,

      Je suis en train de bidouiller des trucs en asm sur Amiga, je me suis fait deux A1200 avec FS-UAE : sous WB3.1 et l’autre sous WB3.9

      Mon programme fonctionne très bien sous WB3.1 mais pas sous WB3.9. Pourtant c’est un programme tout simple qui affiche une ligne rouge à l’écran grâce au copper :

      run:
      move.l #COPPER, $DFF080 ; Adresse de la copperlist dans COP1LCH/COP1LCL
      move.w #0,$DFF088 ; COPJMP1
      
      MouseWait:
      btst #6,$BFE001 ; Test click souris
      bne MouseWait
      rts
      
      section listecopper,data_C
      COPPER:
      dc.w $100,$0200
      dc.w $6407,$FFFE
      dc.w $180,$F00
      dc.w $6507,$FFFE
      dc.w $180,$000
      dc.w $FFFF,$FFFE

      Sur ma config en WB3.9, j’ai installé une carte graphique (Picasso je crois ?) pour avoir une résolution un peu meilleure, est-ce que ca viendrait de ca ?

      Quelqu’un pourrait m’éclairer svp ?

       

       

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

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

    • Auteur
      Réponses
    • #84285
      bombseb
        • Level 0 - Newbie
        • Messages : 4

        Je crois que j’ai trouvé un thread qui parle de ca (si j’ai bien compris) : http://eab.abime.net/showthread.php?t=61557

        Je vais tester avec loadview(0)et WaitTof()

         



        #84480
        donamiga
          • Level 5
          • Messages : 249
          	movea.l	4.w,a6
          	lea	GfxName(pc),a1 ; "graphics.library"
          	moveq	#0,d0
          	jsr	OpenLib(a6)
          	
          	move.l	d0,a6
          	
          	jsr	WaitBlit(a6)
          	jsr	OwnBlit(a6)
          
          	move.l	ActiView(a6),OldView	; store current view address $22(a6)
          	suba.l	a1,a1
          	jsr	LoadView(a6)			; flush view to nothing	
          
          	jsr	WaitTOF(a6)			; wait once
          	jsr	WaitTOF(a6)			; wait again
          
          	move.l	a6,a4
          
          	movea.l	4.w,a6
          	jsr	Forbid(a6)			; waittof disable forbid state
          	jsr	Disable(a6)			; before change Intena (stop interrupts)
          
          ; Check if ActiView = NULL
          
          	tst.l	ActiView(a4) ; $22
          	beq	GOTOMYPROG
          
          ; someone has CHANGED ActiView!!!! Be gentleman and exit gracefully!!
          	jsr	Enable(a6)
          	jsr	Permit(a6)
          	move.l	a4,a6
          
          	movea.l	OldView(pc),a1
          	jsr	LoadView(a6)		; fix view
          
          	move.l	$26(a6),$dff080
          	move.l	$32(a6),$dff084
          	move.w	d0,$dff088		; D0 faster than #0
          
          	jsr	DisownBlit(a6)
          
          	movea.l	a6,a1
          	movea.l	4.w,a6
          	jsr	CloseLib(a6)
                  
                  rts
          
          #84484
          bombseb
            • Level 0 - Newbie
            • Messages : 4

            Yes j’ai testé avec le Loadview et les deux WaitTof et ca fonctionne à merveille :yes:

             

            #84490
            donamiga
              • Level 5
              • Messages : 249

              version courte :

              	movea.l	4.w,a6
              	lea	GfxName(pc),a1
              	moveq	#0,d0
              	jsr	OpenLib(a6)
              	
              	move.l	d0,a6
              
              	move.l	ActiView(a6),OldView
              	
              	suba.l	a1,a1
              	jsr	LoadView(a6)
              	jsr	WaitTOF(a6)
              	jsr	WaitTOF(a6)
              	jsr	WaitBlit(a6)
              [...]
              fin:
              	movea.l	OldView(pc),a1
              	jsr	LoadView(a6)
                      move.l	$26(a6),$dff080
              
              	movea.l	a6,a1
              	movea.l	4.w,a6
              	jsr	CloseLib(a6)
                      
                      rts
              
            Partager sur vos réseaux sociaux préférés :
            Facebooktwitterredditpinterestlinkedintumblrmail
            Affichage de 4 réponses de 1 à 4 (sur un total de 4)
            • Vous devez être connecté pour répondre à ce sujet.