************************** *** ESTIENNE Sebastien *** *** 2004 *** ************************** ******************************* *** Function updateLife *** ******************************* updateLife movem.l A0-A1,-(A7) ; on empile move.l 12(A7),A0 ; on recup le plateau move.l 16(A7),A1 ; on recup herodata btst.b #5,(A0) ; case plateau une vie? beq supdateLife add.l #3,A1 ; va nb vies @herodata cmpi.b #3,(A1) ; hero a deja 3 vies? beq supdateLife bclr.b #5,(A0) ; suppr vie du plateau add.b #1,(A1) ; ++ nb vies hero supdateLife movem.l (A7)+,A0-A1 ; on depile rts fupdateLife ******************************* *** Function updateTrap *** ******************************* updateTrap movem.l A0-A1,-(A7) ; on empile move.l 12(A7),A0 ; on recup le plateau move.l 16(A7),A1 ; on recup herodata btst.b #6,(A0) ; hero est sur piege? beq supdateTrap add.l #3,A1 ; va nb vies @herodata sub.b #1,(A1) ; -- nb vies hero supdateTrap movem.l (A7)+,A0-A1 ; on depile rts fupdateTrap ***************************** *** Function allLives *** ***************************** allLives movem.l D0-D1/A1,-(A7) ; on empile move.l 16(A7),A1 ; recup @ herodata move.b #0,20(A7) ; met bool a 0 add.l #3,A1 ; va aux nb de vies move.b (A1),D0 ; cp nb vies ds D0 cmpi.b #3,D0 ; hero a 3 vies? beq life3 cmpi.b #2,D0 ; hero a 2 vies? beq life2 cmpi.b #1,D0 ; hero a 1 vie? beq life1 move.b #$01,cra ; diode 1 eteinte move.b #$21,crb ; diode 2 eteinte bra sallLives life3 move.b #$09,cra ; diode 1 allumee move.b #$29,crb ; diode 2 allumee move.b #1,20(A7) ; met bool a 1 bra sallLives life2 move.b #$01,cra ; diode 1 allumee move.b #$29,crb ; diode 2 eteinte move.b #1,20(A7) ; met bool a 1 bra sallLives life1 move.b #$09,cra ; diode 1 eteinte move.b #$21,crb ; diode 2 allumee move.b #1,20(A7) ; met bool a 1 sallLives movem.l (A7)+,D0-D1/A1 ; on depile rts fallLives