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 donamigadonamiga, le il y a 1 mois et 2 semaines.
  • 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 ?

     

     

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
    donamigadonamiga
    • Level 5
    • Messages : 166
    	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
    

    the blitter end

    #84484
    bombseb
    • Level 0 - Newbie
    • Messages : 4

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

     

    #84490
    donamigadonamiga
    • Level 5
    • Messages : 166

    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
    

    the blitter end

Partager sur vos réseaux sociaux préférés :
Facebooktwitterredditpinterestlinkedintumblrmail
4 réponses de 1 à 4 (sur un total de 4)

Vous devez être connecté pour répondre à ce sujet.