Posté le 01/09/2007 à 19:34 Membre depuis le 21/08/2006, 73 messages
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....
Posté le 02/09/2007 à 10:37 Membre depuis le 11/04/2007, 1076 messages
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!
Posté le 02/09/2007 à 13:12 Membre depuis le 21/08/2006, 73 messages
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 ?
Posté le 02/09/2007 à 13:19 Membre depuis le 15/03/2005, 3470 messages
Essaye avec Venus, à mon avis ça sera plus stable.

edit : Je viens de me souvennir que j'avais eu le même problème dans un de mes projets, enfaite je croit que ça vennais des interruptions, je les avais désactivées avant de quitter le programme. Je sais pas si c'est ça mais tu peux toujours rajouter un 'ei' avant la fin de ton prog (certaines routines d'Ion les désactives contrairement à celles de Venus).
Posté le 02/09/2007 à 14:34 Membre depuis le 21/08/2006, 73 messages
J'ai essayé de mettre un 'ei' avant de quitter le prog, et ça marche pô...
grrr...

Je vais voir avec Vénus...
Posté le 02/09/2007 à 14:39 Membre depuis le 16/05/2005, 33 messages
salut, t'es sur que t'as mis le header de Ion ?
Posté le 02/09/2007 à 14:48 Membre depuis le 15/03/2005, 3470 messages
Je pense que oui sinon le programme ne ce lancerai pas une première fois...
Posté le 02/09/2007 à 14:49 Membre depuis le 21/08/2006, 73 messages
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]...
Posté le 02/09/2007 à 14:55 Membre depuis le 16/05/2005, 33 messages
essaye avec ca pour voir...

.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
#else
        .org    progstart
#endif
        ret
        jr      nc,start_of_program
        .db     "Castlevania",0

start_of_program:
Posté le 02/09/2007 à 15:04 Membre depuis le 15/03/2005, 3470 messages
Essaye en mettant un 'ret' plutot que 'xor a' après '#endif'.
Posté le 02/09/2007 à 15:33 Membre depuis le 21/08/2006, 73 messages
ça change rien...
Posté le 02/09/2007 à 15:48 Membre depuis le 15/03/2005, 3470 messages
sad Essaye peut être en définissant 'APD_BUF' après 'Start'...
Posté le 02/09/2007 à 16:22 Membre depuis le 21/08/2006, 73 messages
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...
Posté le 02/09/2007 à 16:34 Membre depuis le 15/03/2005, 3470 messages
Cool smile
Posté le 02/09/2007 à 17:15 Membre depuis le 21/08/2006, 73 messages
Fausse joie....

J'ai fait ce que j'ai dit, et pourtant ça contine à planter, pffff...

Bon bah j'y retourne sad
Posté le 02/09/2007 à 17:18 Membre depuis le 15/03/2005, 3470 messages
Erf, faut surement chercher du coté de la sauvegarde quand tu quitte le jeu...
Posté le 03/09/2007 à 15:19 Membre depuis le 21/08/2006, 73 messages
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...
Posté le 03/09/2007 à 15:46 Membre depuis le 15/03/2005, 3470 messages
Cool smile
Posté le 04/09/2007 à 11:40 Membre depuis le 11/04/2007, 1076 messages
Tu le sors quand ton jeu???
Posté le 04/09/2007 à 13:35 Membre depuis le 23/08/2001, 664 messages
C'est quoi la routine gba ? Tu as choisi la solution de facilité en émulant le castlevania de la GBA au lieu de le recoder ? smile
Posté le 04/09/2007 à 18:28 Membre depuis le 15/03/2005, 3470 messages
C'est une librairie avec des fonctions bien pratique (scroll de l'écran, affichage de sprite avec masque, création de maps, etc...) smile

Et à mon avis la solution de facilité c'est de le recoder vu qu'émuler un jeu GBA sur z80 je pense que c'est loins d'être possible cheeky
Posté le 04/09/2007 à 20:04 Membre depuis le 21/08/2006, 73 messages
J'ai tout recodé à l'aide de la lib gba, ya pas moyen de porter des jeux GBA sur z80, ça c'est sûr...

Fais un tour par ici pour en savoir plus:

http://www.ticalc.org/archives/files/fileinfo/394/39478.html
Posté le 04/09/2007 à 21:14 Membre depuis le 23/08/2001, 664 messages
(Snif, comme tout grand artiste (comique), je ne serai jamais compris de mon vivant sad )

OK, je connaissais pas cette lib GBA. C'est toi qui l'a faite ?
Posté le 04/09/2007 à 23:03 Membre depuis le 21/08/2006, 73 messages
Ouaip oui