180

-

181

Ne cherche pas à comprendre genlib, c'est trop compliqué. Apprends plutôt à utiliser ExtGraph (cf. documentation de ExtGraph et cf. mon tutorial pour l'utilisation en assembleur), c'est beaucoup plus simple.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

182

-

183

s'il souhaite apprendre Genlib, c son droit.
Perso, je te conseille d'apprendre à utiliser les deux si tu as le temps.

je n'ai jamais eu le temps d'apprendre à utiliser Genlib (j'ai lu la doc, mais j'ai pas pu faire plus sad). Je le regrette à présent : je ne peux que difficilement juger les différences entre XLib et Genlib, alors que je le pourrai plus facilement si je mairisais le fonctionnement des deux libs.
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

184

Voila, voila. move.w temps(pc),d1          ; Lecture de temps  une var decidant qu'elle est l'écran affiche move.l DScreen(pc,d1.w),d0 ; Lecture du DScreen a afficher jsr genlib::set_dscreen_int ; On affiche ce DScreen  eor.w #4,d1 ; On permutte les ecrans    move.l DScreen(PC,d1.w),d0 ; On lit l'autre DScreen, celui precedemment affiche, et sur lequel on va travailler. jsr genlib::set_dscreen_function ; Les fonctions graphiques vont ecrire dans celui-ci move.w d1,temps ; On sauve la nouvelle valeur de temps

185


mais j'ai essayer d'ajouter un msg a la fin du prog et quand j'inclus
la ligne:
msg dc.b "First GenLib Test by Orion",0
ben bizarement, tout plante et sa marche plus (crash intercepted)
pourtant je fait rien d'autre, j'inclus juste cette ligne a la fin
avec les autres data (DScreen, DScreen2, etc...)
sa compile, mais aprés sa plante.

Montre moi la source step.

186

-

187

entre chacune de tes variables essaye de mettre EVEN, qui permet d'aligner sur les adresses paires (on ne sait jamais grin)
En préretraitre

188

-

189

156: plane dc.l 0 ; Plane

160: Plane_Tile:
161: incbin "decor.bin" ; Les decors
162: ; Editable grace a sprmaker (Attention au tile vide !)
163: Plane_Table:
164: incbin "pl.lvl" ; Matrice de 32x32 representant la carte
165: ; Editable grace a plane maker
157:
158: msg dc.b "First GenLib Test by Orion",0
159:
166: _comment
167: dc.b "First GenLib Test by Orion",0
168: end

le pb est simple : ton message possede un nombre impair d'octets. Donc les donnees suivantes, Plane_tile, sont a une adresse impaire : paf ca plante.
Toujours regrouper les variables .b ensembles, et a la fin de ton programme.

190

134: ;*********************
135: ;* Rajouté par Orion *
136: ;*********************
137:
138: ; jsr genlib::cls
139:
140: ; move.l genlib::window,a1
141: ; lea msg(pc),a0
142: ; moveq #20,d0
143: ; moveq #50,d1
144: ; jsr genlib:tongueut_small_string
145:
146: ; jsr genlib::wait_a_key
Ca marchera pas smile
Explication: Window est une fenetre, qui n'est pas affiche, mais qui est virtuelle. Donc si tu ecris dedans, ok, mais tu ne verras rien smile Il faut l'afficher apres wink Et faut penser a l'efface avant avec jsr genlib::clear_window
Il y aurait jsr genlib::copy_window qui marcherait, mais faudrait refaire permutter les pages (car ca copirait sur le DScreen de travail, pas celui affiche).
Arg, on va y arriver oui ?
Oui.
jsr genlib::set_LCD_MEM // Mode standard d'écriture vers LCD_MEM
lea LCD_MEM,a1
Et la suite.
Ca marchera.

191

Orion_ a écrit :
a mon avis, c parceque en debuggant mon jeu (mal programmé au debut)
que j'ai du metre des merdes dans la mémoire
et c pour sa que sa plante, alors je voudrais savoir
comment flasher sa Rom de façon a remplir les 2mo
totalement afin de vraiment TOUT ecraser puis ensuite mettre un ams ???

Normalement ca ne porte a aucune consequence.,

192

la barre noire c'est pas pour la récupération d'apps flash ?
donc si t'as pas d'apps ya pas de barre , non ?
Fiou.

193

-

194

Les tiles font 16x16 (Update_vscreen_16).
Pour ta routine de test de collision, c'est pas comme ca que je ferais mais ca marche.
Normalement tu bloques entre 0 et Nbr_de-case-matrice*16-240 (pour 92 / 160 pour 89) en x.
Le repassage en boucle , c' est normal

195

-

196

-

197

TIGCCLIB et ExtGraph, ça va aussi?

 bsr GrayOn ;active les niveaux de gris

;affiche une image plein écran (2 plans de 3840 octets chacun)
 move.l __D_plane(PC),-(a7)
 pea.l image(PC)
 bsr FastCopyScreen
 addq.l #4,a7
 move.l __L_plane(PC),(a7)
 pea.l image+3840(PC)
 bsr FastCopyScreen
 addq.l #8,a7

;Affiche un sprite 16*16 au format plan 1, plan 2, masque
 move.l __L_plane(PC),-(a7)
 move.l __D_plane(PC),-(a7)
 pea.l sprite+64(PC) ;masque
 pea.l sprite+64(PC) ;masque
 pea.l sprite+32(PC) ;plan 2
 pea.l sprite(PC) ;plan 1
 move.w #16,-(a7) ;hauteur
 pea.l 10*$10000+15 ;x=10, y=15
 bsr GraySprite16_MASK
 lea.l 54(a7),a7

 bsr GrayOff ;désactive les niveaux de gris
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

198

-

199

attentionj'ai po dit que c'etait la meilleure grin
en tout cas elle me suffit largement question compression et vitesse smile
En préretraitre

200

-

201

moi ils sont en .bin je crois
il fait faire tes images, les compresser je croit et les extraires avec ttextract (une manip de ce type si je me souvient bien smile
En préretraitre

202

-

203

c bon g retrouve la manip:
-tu sauvegarde ton image normal
-tu fait un prog du style:
include "os.h"
xdef _nostub
xdef _ti89
rts
dc.b 'DEAD'
TON IMAGE
dc.b 'END'
end

-avec ttextract ton extrait ton sprite entre "dead" et "end"
-tu obtient un .bin
-tu le compresse avec schrink92
voila smile
(moi aussi g galere a l'époque smile)
En préretraitre

204

-

205

-

206

-

207

hum
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

208

-

209

C'est pourtant pas du tout compliqué sad     moveq    #99,d7         ; 100 lignes loop:     move.l   (a1)+,(a2)+    ;  4 octets     move.l   (a1)+,(a2)+    ;  8 octets     move.l   (a1)+,(a2)+    ; 12 octets     move.l   (a1)+,(a2)+    ; 16 octets     move.l   (a1),(a2)      ; 20 octets     lea      14(a2),a2      ; a2 a été incrémenté de 16, il manque 14 pour faire 30     dbf      d7,loop
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

210


tu copie 20 octet (10 * 2 .w)
tu saute 10
et tu revient au debut
c quoi le pb hum
En préretraitre