PpHd Le 06/05/2002 à 10:40 Pour l'histoire de la decompression, tu decompresses dans un buffer. Puis apres tu affiche ces buffer.
Pour l'acces aux matrices, c'est un
; x =d0
; y = d1
mulu.w #2,d1
add.w d1,d0
lea carte1(pc),a0
move.b 0(a0,d0.w),d2
PpHd Le 06/05/2002 à 10:49 1. C'ést pour acceder aux matrices. Si d0 = 0 et d1 = 1, oui.
2. Oui
PpHd Le 06/05/2002 à 16:34 Ca devrait marcher meme si c'ést pas parfait.
PpHd Le 06/05/2002 à 16:53 Tu comprendras plus tard ;0
PpHd Le 06/05/2002 à 18:34 Mais tu peux peut etre pas coder le deplacement sous 8 bits. Evites le bra.s, mais plutot bra.
Pen^2 Le 07/05/2002 à 07:26 tu as regardé ac le debugueur où ça déconnait ?
PpHd Le 07/05/2002 à 10:03 Voila un truc qui ressemble peut etre a ce que tu voulais.
; Assembly Source File
; Created 07/05/02, 09:57:40
include "tios.h"
include "graphlib.h"
xdef _main
xdef _ti92plus
_main:
1: jsr graphlib::gray4 ; Mode Gray 4
2: tst.l d0 ; 0 ?
3: beq Error ; alors erreur
4:
move.l graphlib::plane1,a1
jsr graphlib::clr_scr
move.l graphlib::plane2,a1
jsr graphlib::clr_scr
5: ;********
6: ;* Menu *
7: ;********
8: bsr Menu ; Gestion du menu
9:
10: jsr graphlib::gray2 ; Mode Normal (2 couleurs)
Error:
12: rts
13:
cpos: dc.b 0
15: EVEN
16: ;**routine.asm**
17:
18: ; Gestion et Affichage du Menu
19:
DrawMenu:
21: cmp.w #1,cpos ; Choix 1 ?
22: bne.s not_1
23: move.w #47,d1 ; Pos Y du choix 1
24: bra suite
not_1:
26: cmp.w #2,cpos ; Choix 2 ?
27: bne.s not_2
28: move.w #63,d1 ; Pos Y du choix 2
29: bra suite
not_2:
31: move.w #80,d1 ; Pos Y du choix 3
32:
suite:
34: move.w #6,d0 ; Positions Constantes
35: move.w #11,d2
36: move.w #14,d3
37: move.w #0,d4 ; Dessin Inverse
move.l graphlib::plane0,a1
38: jsr graphlib::fill ; Dessine
move.l graphlib::plane1,a1
jsr graphlib::fill ; Dessine
39: rts
Menu:
42: move.w #1,graphlib::choosescreen
43: move.w #1,cpos ; Choix 1 !
44: bsr DrawMenu
keyloop:
46: jsr tios::ngetchx
47:
48: cmp.w #264,d0 ; Touche ESC ?
49: bne.s not_esc
50: bra end
not_esc:
52: cmp.w #KEY_UP,d0 ; Touche Haut ?
53: bne.s not_haut
54: cmp.w #1,cpos ; position Haute max ?
55: bne.s not_haut
56: bsr DrawMenu ; On efface l'ancien choix
57: subq.w #1,cpos ; on monte d'un cran
58: bsr DrawMenu ; On redessine le nouveau
not_haut:
60: cmp.w #KEY_DOWN,d0 ; Touche Bas ?
61: bne.s not_bas
62: cmp.w #3,cpos ; position Basse max ?
63: bne.s not_bas
64: bsr DrawMenu ; On efface l'ancien choix
65: addq.w #1,cpos ; on descend d'un cran
66: bsr DrawMenu ; On redessine le nouveau
not_bas:
68: bra keyloop
end:
70: rts