1

Je chercher a obtenir des rasters verticaux...juste en changeant la couleur grace au timer B et la VBL...

N7gP

mais bon voilà ça n'est pas tres stable
(je sais ça se voit pas sur la capture d'ecran!)

peut etre la faute de Steem? mais non c'est surement la mienne...!!!

Ya til des experts en la matiere ;-)

2

kheops (./1) :
Je chercher a obtenir des rasters verticaux...juste en changeant la couleur grace au timer B et la VBL...

N7gP

mais bon voilà ça n'est pas tres stable
(je sais ça se voit pas sur la capture d'ecran!)

peut etre la faute de Steem? mais non c'est surement la mienne...!!!

Ya til des experts en la matiere ;-)


Au timer B tu peux oublier pas tres stable wink Il y a deux techniques (Enfin je connais deux techniques), te contacte des que mon PC remarche.

GT smile
avatar
je sais pas depuis que Fadest nous mets de la zik partout dans ses jeux l'univers a été ebranlé (LordKraken)

3

ouais
un cours de raster par GT smile

4

Bon merci a RaZ pour la remise en etat du PC.

Donc revenons aux rasters, deux techniques :

Technique N 1 :

Utiliser des sprites !! Et oui !! Vous prenez un buffer de 160 octets (Une ligne sur un ecran ST), vous copiez une ligne d'une barre verticale et vous la recopiez sur l'ecran a la position 0 (Pur exemple), phase 2 vous copiez dans votre buffer le meme morceau de sprites mais decale (d'apres une courbe (Mais je sais que vous l'avez devinez (Car vous etes trop fort !!) donc je l'ai pas ecrit) vous recopiez a la ligne 1, phase 3 on fait exactement pareil, et voila vos jolis rasters verticaux. (Pour vous donnez une idee, essayez ceci : http://cerebral-vortex.net/files/jade2.zip )

Technique N 2 :

Beaucoup plus proche de 'vrais rasters horizontaux' mais mange du temps machine. Cela consiste pour etre stable a 100% a utiliser le meme type de synchro que pour certaines 'magouilles videos (Genre fullscreen, etc...), ce genre de code :

     lea     $ffff8209,A0
     moveq   #0,D0
     moveq   #nn,D7   ;(De tete je sais plus trop la valeur et trop faineant pour la calculer..)
Synchro:
     move.b (a0),D0
     beq.s   Synchro
     sub.w   d0,d7
     lsl.w   d7,d0


Vous etes exactement synchronise sur la video, apres il vous reste juste a faire un gros paquets de code comme cela :

move.w (a0)+,(a1)

avec a0 pointant sur votre palette et a1 sur $ffff8240 (Registre de la premiere couleur). En sachant qu'une ligne fait 512 cycles. Si vous vous arrangez correctement, on peut en debut de ligne faire un truc comme un lsl.w Dn,dn qui permet de se desynchroniser et donc de faire bouger la ligne et de faire un joli plasma.

GT Rasteriser top
avatar
je sais pas depuis que Fadest nous mets de la zik partout dans ses jeux l'univers a été ebranlé (LordKraken)

5

move.w #2700,sr ; coupe IT

lea $ffff8209,A0 ;
moveq #0,D0
;moveq #nn,D7 ;(De tete je sais plus trop la valeur et trop faineant pour la calculer..)
moveq #$40,D7 ; $40
Synchro:
move.b (a0),D0
beq.s Synchro
sub.w d0,d7 lsl.w d7,d0

6

Ok je suis tétù...ou je m'obstine un peut trop sur ces rasters
quelqu'un peut me tester ça sur un vrai ste?
tromb Fichier joint : RAS00001.TOStromb Fichier joint : RAS00002.TOS

vous preferez un .st ? (zippé)
tromb Fichier joint : Rast.zip

7

Le code aurait été plus intéressant, apparemment il y a un pbl de stabilité. Tu l'as teste sur Saint ?
avatar
Freddo aka Zorro2^NoExtra

8

Ok je suis content j'ai reussi!!!
Yp5s

;------------------------------------
; VBL
;------------------------------------
VBL: movem.l d0-d7/a0-a6,-(sp)

move.w #$2700,sr ; ipl7

lea $ffff8209.w,a0
moveq #0,d0
moveq.w #64,d1
.Syncro: move.b (a0),d0
beq.s .Syncro
sub.w d0,d1
lsl.w d1,d0

move.b #$00,$fffffa1b.w
move.l #TimerB,$120.w
move.b #$01,$fffffa21.w
move.b #$08,$fffffa1b.w

movem.l (sp)+,d0-d7/a0-a6
rte

;------------------------------------
; TIMER_B
;------------------------------------
TimerB:
lea $ffff8240.w,a3 ; 8cycles
lea rastpal,a4 ; 12cycles

rept 34
move.w (a4)+,(a3) ; 12cycles
endr

nop ; 4cycles
nop ; 4 "

rte

Voilà c'est tout!