************************** *** ESTIENNE Sebastien *** *** 2004 *** ************************** include ip_base.s ; def ressources carte MOTOROLA include mvme162_base.s ; def ressources carte IP-PIA * Masquer toutes les IT * move.w #$2700,sr ; masquer les IT clr.l D0 movec D0,vbr * Initialiastion card * bsr inicard ; ini carte + timers * Fin initialiastion * move.b #$15,IP_INT0 move.w #$2000,sr ; permettre IT main * Menu du jeu * bsr displayMenu ; affiche le menu clr.b D0 ; raz de D0 bMenu cmpi.b #' ',D0 ; compare touche utilisateur beq fMenu ; si = alors fin suba.l #2,A7 ; reserv 1 mot mem bsr getChar ; appel de getChar move.b (A7)+,D0 ; recup touche tapee bra bMenu fMenu * Affichage du plateau * clr.b D0 ; raz de D0(bcle) clr.b D1 ; raz de D1(cycl) bsr clrDisplay ; efface ecran bsr hideCursor ; cache le curseur lea PLATEAU,A0 ; charge ds A0 plateau lea herodata,A1 ; charge ds A1 hero data move.l A0,-(A7) ; empile plateau bsr gDisplay ; affiche plateau add.l #4,A7 ; on depile * Ini temps total * lea tottime,A2 ; charge tab niv tps total move.l A2,-(A7) ; on empile bsr delTime ; appel fct d'ini delTime add.l #4,A7 ; on depile * Ini des cycles * lea trtime,A2 ; charge tab niv tps cycle move.l A2,-(A7) ; on empile bsr cyclTime ; appel fct d'ini cyclTime add.l #4,A7 ; on depile * Start * lea dataGhost,A2 ; charge ds A2 dataghost move.b #255,drb ; allume ttes les diodes bset.b #0,MC_tt1_cr ; lance timer 1 bset.b #0,MC_tt2_cr ; lance timer 2 boucle cmp.b #1,D0 ; boucle infinie beq fmain bra boucle fmain trap #15 ; terminaison dc.w $63 ******************** *** Includes *** ******************** include string.s ; chaine de caractere include conversion.s ; conversions include inicard.s ; ini tim, bn, del, clefs include button.s ; bouttons include plateau.s ; plateau de jeu include opdisplay.s ; operation affichage include draw.s ; elements plateau include display.s ; affichage include key.s ; clefs include heromove.s ; mouvement heros include times.s ; temps include life.s ; vies include menu.s ; menus include ghost.s ; fantomes + mvt *********************** *** Conversions *** *********************** string ds.b 80 ; manip chaine number ds.b 15 ; manip conversion **************** *** Hero *** **************** * data ini du hero herox equ 40 ; coord hero x heroy equ 10 ; coord hero y nbkeys equ 9 ; nb de clefs nblives equ 3 ; nb de vies herodata dc.b heroy,herox,0,nblives * direction pour controler le heros up equ 't' ; t 116 down equ 'g' ; g 103 left equ 'f' ; f 102 right equ 'h' ; h 104 ************************** *** couleurs texte *** ************************** tblack equ 30 ; noir tred equ 31 ; rouge tgreen equ 32 ; vert torange equ 33 ; orange tblue equ 34 ; bleu tmagenta equ 35 ; magenta tcyan equ 36 ; cyan twhite equ 37 ; blanc tlight equ 38 ; surbrillant ************************* *** couleurs fond *** ************************* fblack equ 49 ; noir fred equ 41 ; rouge fgreen equ 42 ; vert forange equ 43 ; orange fblue equ 44 ; bleu fmagenta equ 45 ; magenta fcyan equ 46 ; cyan fwhite equ 47 ; blanc flight equ 48 ; surbrillant ***************** *** temps *** ***************** tottime dc.b 39,36,33,30,27,24,21,18 ; en sec/diode trtime dc.b 10,9,8,7,6,5,4,3 ; 10=0.3sec ***************** *** Ghost *** ***************** nbGhost equ 5 ; nombre ghost dataGhost dc.b G1y,G1x,G2y,G2x,G3y,G3x,G4y,G4x,G5y,G5x G1y equ 4 ; ghost no 1 y G1x equ 31 ; ghost no 2 x G2y equ 4 ; etc... G2x equ 44 G3y equ 4 G3x equ 60 G4y equ 6 G4x equ 53 G5y equ 6 G5x equ 60