1

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....

2

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!

3

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 ?

4

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).

5

J'ai essayé de mettre un 'ei' avant de quitter le prog, et ça marche pô...
grrr...

Je vais voir avec Vénus...

6

salut, t'es sur que t'as mis le header de Ion ?

7

Je pense que oui sinon le programme ne ce lancerai pas une première fois...

8

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]...

9

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:

10

Essaye en mettant un 'ret' plutot que 'xor a' après '#endif'.

11

ça change rien...

12

sad Essaye peut être en définissant 'APD_BUF' après 'Start'...

13

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...

14

Cool smile

15

Fausse joie....

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

Bon bah j'y retourne sad

16

Erf, faut surement chercher du coté de la sauvegarde quand tu quitte le jeu...

17

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...

18

Cool smile

19

Tu le sors quand ton jeu???

20

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

21

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

22

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

23

(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 ?

24

Ouaip oui