deeph Le 23/11/2014 à 13:31 Je n'ai aucune erreur, ça reste juste sur le "pass one...".
Et oui il ne faut pas non plus des noms à rallonge, mis à part peut être pour des labels "internes" aux routines. Si tu en vois n'hésites pas à la changer. Par contre personnellement je préfère éviter les noms avec des majuscules au milieu, je trouve ça plus lisible d'utiliser un underscore ("draw_player").
Et oui j'ai un peu nettoyé le ti83plus.inc (les noms des romcalls sont en minuscules maintenant, je trouve ça plus simple à écrire et ça évite beaucoup d'erreurs avec l'option sensible à la casse).
Je vais essayer avec le nouveau commit.
edit : non ça ne marche toujours pas... Tu compiles ça comment sous linux ?
J'ai utilisé la même commande que toi, "spasm -T -A -D FR pokemon.z80 pokemon.8xk".
C'est bizarre, tu utilises spasm1 ou spasm2 ?
Je crois que c'est une erreur avec ti83plus.inc, essaie de commenter le '#include "ti83plus.inc"'.
EDIT : Peut-être le fichier est trop grand pour spasm ? Si tu enleves tout après la ligne 1918 dans ti83plus.inc, ça marche ?
Je crois qu'il y avait trop de #DEFINEs, je les ai remplacé avec des ='s, voyons si ça marche pour toi.
deeph Le 24/11/2014 à 08:11 J'essairai mais je pense pas que le compilo fasse la différence entre les différentes déclarations de constantes. Mais si c'est ça c'est dommage je trouve ça moins propre.
Il y a une différence, par exemple:
var1 = 1
var2 = var1+1
var3 = var2+1
var4 = var3+1
..etc.
L'assembleur traite ça comme :
var1 = 1
var2 = 1+1
var3 = 2+1
var4 = 3+1
C'est-à-dire, chaque fois que tu écris "var3", spasm le remplace avec un "3".
#define par contre est comme-ci :
#define var1 1
#define var2 var1+1
#define var3 var2+1
#define var4 var3+1
L'assembleur fait comme-ci :
var1 = 1
var2 = var1+1 = 1 + 1
var3 = var2+1 = var1+1+1 = 1+1+1
var4 = var3+1 = var2+1+1 = var1+1+1+1 = 1+1+1+1
C'est-à-dire, on insère le texte exact dans le code avec un #define pendant qu'avec la déclaration avec "=", on a un numéro. Si j'écris "ld a,var4", premièrement l'assembleur cherche la valeur de var4, qui est "var3+1". Puis il cherche la valeur de var3, puis celle de var2 et finalement celle de var1. Je crois qu'il y a peut-être un overflow quelque part quand Spasm essait de lire ti83plus.inc (à cause de tous les #defines).
Je sais pas si je m'ai bien expliqué, mais il existe une vraie différence entre les deux méthodes de déclarations. L'un insère une valeur absolue pendant que l'autre simplement insère ce que tu as écrit, exactement comme tu l'as écrit. Dans mon exemple, var3 insérera "var2+1" et pas "3".
Hier soir j'ai modifié ti83plus.inc, essaie avec la dernière version sur GitHub, j'espère que ça marchera.
deeph Le 25/11/2014 à 07:42 Bon ça ne marche toujours pas, même en ayant corrigé quelques petits trucs, mais je vais reprendre l'ancien include qui marche et simplement tout mettre en petits caractères.
J'ai pas encore trouvé le temps de bosser sur Pokémon, mais demain et ce weekend je devrais avoir pas mal de temps. Tu as pu régler tout pour pouvoir assembler ?
Je ne sais pas ce que tu veux dire, tu peux me montrer un screenshot ?
deeph Le 06/12/2014 à 08:48 Oui ce format est bien, de souvenir je n'utilisai juste pas les stats spéciales (et pas encore le "catch rate"). Par contre il faudra coder les CT/CS (TM/HM) aussi du coup.