Advertisement
glokyfull

debut de routine pour pulse circle

Nov 20th, 2023
918
0
15 days
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;
  2. ;
  3. ;
  4. ;  create pulse circle
  5. ; version 0.0001
  6. ; un tri qui n'a pas l'air buggé
  7. ; tres peu rapide et sans stoquage des index, pas besoin dans ce que je vais faire
  8. ; ca consiste a prendre le min d'une table et de le swaper avec le premier element et recommencer
  9. ; note, le tri utilisé pendant l'init donc pas besoin de vitesse
  10. ;
  11. ; effet qui va etre incorporé a la routine de sprite
  12.  
  13.  
  14. ; code de type meduse
  15. ; avec cliping haut bas
  16. ; et tri de chaque cercle de point suivant cet ordre
  17. ; pour chaque decalage, classement de l'offset le plus petit au plus grand
  18. ; un pointeur pour chaque point
  19. ; un code legerement differnt dans le code gerne de point:
  20. ; instead of
  21. ;            or d0,dep(a0)
  22. ; on  a :
  23. ;           lea dep(a2),a0
  24. ;           or d0,(a0)
  25. ;           move a0,(a1)+           ; offset pour effacement sachant que le debut de l'ecran est a 0 pile poil
  26. ; il faut une version du cercle avec or.W une autre avec or.l et add.l d0,d0  pour 3 type de couleur
  27. ; 01 10 11
  28. ; et faire ainsi des grand cercle sombre par exemple jusqu'a plus clair au centre
  29. ; épissétout
  30. ;
  31.  
  32. ; dans chaque partie
  33.  
  34.  
  35.  
  36. ; routine qui lit les offset dans l'ordre de grandeur de celle ci
  37. ; du plus petit eu plus grand
  38.  
  39. testcode:
  40.     jmp patatra
  41.     lea listepouri,a0
  42.     move.w #19,d0           ; 16 element pas 16-1
  43.     jsr orderlist
  44.     nop
  45.    
  46.     lea listepouri,a0    
  47.     illegal
  48.  
  49.  
  50.  
  51. ;listepouri dc.w 15,13,12,12,14,1,4,3,7,9,10,20,70,63,6,6
  52.  
  53. listepouri  dc.w 100,90,80,10,60,60,50,50,40,40,30,30,30,10,5,4,2,1,0
  54. orderlist
  55. ;   a0 = adresse liste
  56. ;   d0 = nombre d'element
  57.  
  58.  
  59.     move.w d0,-(sp)
  60.     move.l a0,a1
  61.     move.w d0,d1
  62.     beq.s .nothing
  63.     subq #1,d1
  64.     moveq #0,d2
  65.     moveq #0,d4
  66.     move.W #$7FFF,d3            ; d3 la valeur minimum qui au premier passage sera changé
  67.  
  68. .loop
  69.     move.w (a0)+,d2
  70.     cmp.w d3,d2
  71.     bgt.s .1  
  72.       move.w d2,d3     ; d3<d2  loeq d3=d2; on cherche le minimum
  73.       move.w d4,d5
  74. .1
  75.     addq.l #1,d4                  
  76.     dbf d1,.loop
  77.  
  78.     move.l a1,a0
  79.     add d5,d5  d5 = indice ou se trouve d3
  80.     add d5,a0
  81.    move.w (a1),d6  ; valeur a l'indice 0
  82.    move.w d3,(a1)+  ; prochain swap avec le deuxieme element, pas le premier
  83.    move.w d6,(a0)
  84.  
  85.    subq #1,d0
  86.    bmi.s .exit                                                              ; ???? bmi ? beq ?
  87.  
  88.    move.l a1,a0
  89.  
  90.    move.w d0,d1
  91.    beq.s .exit  ;
  92.  
  93.    subq #1,d1
  94.    moveq #0,d4
  95.    move.w #$7fff,d3
  96.    bra.s .loop
  97.  
  98. .exit
  99.     move.w (sp)+,d0 ; retabli la valeur nombre d'element du tableau
  100.     ; les valeurs sont dans l'ordre dans le tableau
  101.     ; note c'est pas le meilleurs algo de tri et ca stoque pas les indice parce qu'on en a pas besoin dans le programme que je vais faire
  102.     move.l a1,a0                ; et de plus, nombre tres petit d'element a chaque fois
  103. .nothing
  104.    addq.w #2,sp
  105.     ; comment indiquer au programme ke y'a ketch element
  106.     ; je ne sais pas encore
  107.     rts
  108.  
  109. patatra
  110.  
  111. opcoderandom
  112.     dc.w $41ea,0     ; lea 0(a2),a0
  113.     dc.w $8150       ; or.w d0,(a0)
  114.     dc.w $32c8       ; move.w a0,(a1)+
  115.  
  116.  
  117. OPERATORSKIP
  118. c   set 0
  119.     rept 30                 ; valeur enorme et tres sufisante
  120.     dc.w $6006+c
  121. c   set c+8
  122.     endr
  123. CoperatorLEA equ  $41eA            lea d16(a2),a0
  124.  
  125.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement