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 4 années.
  • 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.