Salut, je suis en train de porter Castlevania sur TI83(+) (la version TI-82 est finie), et j'ai un prob:
Le jeu marche super bien sur 83+ (on utilise mirageos), mais sur 83 (sous ion), on ne peut plus relancer le jeu une seconde fois, et au pire ça plante quand on tente de le relancer.
Ma question est donc: est-ce que vous avez une idée de pourkoi ça plante sur 83 et pas sur 83+??
J'ai bien sûr utilisé les bonnes addresse (fournies par ion) pour l'apdram, le grafmem etc....
gon33 Le 02/09/2007 à 10:37 Je sais pas (dsl), mais si tu as fini pour la 83+, j'ai hâte de voir ça!!! Les screen que t'avais affiché étaient trop beaux!
Merci!
Bon en fait, ça plante aussi sur TI83+ avec ion, mais tjr pas avec mirageos...
Ya un truc que j'ai dû oublié de faire, mais quoi ?
J'ai essayé de mettre un 'ei' avant de quitter le prog, et ça marche pô...
grrr...
Je vais voir avec Vénus...
aaa Le 02/09/2007 à 14:39 salut, t'es sur que t'as mis le header de Ion ?
deeph Le 02/09/2007 à 14:48 Je pense que oui sinon le programme ne ce lancerai pas une première fois...
ouai, voilà ce que j'ai mis au début du prog:
*************************
.nolist
#include "ion.inc"
G_ENTER = $09
G_DOWN = $01
G_LEFT = $02
G_RIGHT = $03
G_UP = $04
G_CLEAR = $0F
GRAF_CURS = pencol
CURSOR_X = pencol
CURSOR_Y = pencol+1
CURSOR_POS = currow
; plein d'autres variables
.list
#ifdef TI83P
.org ProgStart-2
.db $BB,$6D
APD_BUF = $86EC
#else
.org ProgStart
APD_BUF = $8265
#endif
xor a
jr nc,Start
.db "Castlevania",0
Start:
; programme normal
**************************
ceci dit, j'ai peut-être une mauvaise version du header...
En tout cas, ça fait la même chose avec Venus: on dirait que la shell ne trouve plus le programme
dans la mémoire.
Si j'essaye de réinstaller le fichier CAstle.83p depuis mon ordi, ça marche tjr pas, et si j'essaye de réinstaller ion, virtual TI plante, et je dois taper [Ctrl]+[alt]+[suppr]...
deeph Le 02/09/2007 à 15:04 Essaye en mettant un 'ret' plutot que 'xor a' après '#endif'.
Ca y est, je crois que j'ai trouvé !
En fait, quand je stockais mes variables sur TI82, j'utilisais le Text_mem. Quand j'ai porté la première fois sur 83/83+, je n'ai pas utilisé le text_mem (je sais plus pk mais ça marchait pas), mais les OPS (saferam4).
Or cette partie de la mémoire ne fait que 66 octets alors que le text_mem fait 128. Il y donc eu un dépassement et une corruption de la mémoire....
Je vais donc me débrouiller pour faire tenir mes variables dans le prog lui-même, et ainsi réparer le prob...
deeph Le 02/09/2007 à 17:18 Erf, faut surement chercher du coté de la sauvegarde quand tu quitte le jeu...
Bon cette fois ça y est, le bug est résolu!
Apparement il y avait qq lignes dans la routine gba qui faisaient tout planter, mais je comprends tjr pas pk !
En tout cas j'ai changé 2-3 trucs et maintenant ça marche très bien...
gon33 Le 04/09/2007 à 11:40 Tu le sors quand ton jeu???