Posté le 18/02/2007 à 13:52 Membre depuis le 21/08/2006, 73 messages
Slt,
voilà j'ai remarqué qu'à partir d'une certaine taille (environ 10 000 octets), des bugs "bizarres" apparaissent dans les programmes Asm. Par exemple, je tape:

ld a,(Valeur)
ld h,0
ld l,a
ROM_CALL(D_HL_DECI) ; affiche la valeur de hl en décimal
call Pause ; attend qu'une touche soit enfoncée
ret


Valeur:
.db 48


La calc me renvoie bien 48, sauf quand je rajoute des trucs qui n'ont rien à voir avec ça à la fin du prog (dans ce cas, elle renvoie 0)...
J'arrête pas d'avoir ce genre de bugs pourris depuis un certain tps mourn

Est-ce que qq'1 à déjà rencontré ce genre de prob? J'ai lu qq part qu'en principe un prog asm ne pouvais pas dépasser une certaine taille, mais je sais plus où...
Posté le 19/02/2007 à 08:00 Membre depuis le 19/12/2002, 480 messages
Je dirais même à partir de 8 ko environ... En effet, ce problème est connu. Il paraît que c'est une limitation introduite par TI pour je ne sais quelle raison... L'information précise doit se trouver facilement sur le web anglophone.
Posté le 22/02/2007 à 14:08 Membre depuis le 21/08/2006, 73 messages
AArrgh! En effet Je viens de vérifier sur des sites anglophones et tout le monde dit la même chose... Un jeu ne peut pas dépasser 8ko!
Je comprends vraiment pas pk TI a fait cette limitation... APrès tout les jeux asm ça leur fait de la pub, en tout cas c'est ce qui m'a convaincu d'acheter une ti et pas une casio...
Posté le 22/02/2007 à 15:56 Membre depuis le 15/03/2005, 3470 messages
C'est bizard, j'ai déjà vu des jeux en ASM comme Desolate, qui prennent toute la ram. Il doit y'avoir un moyen de contourner ce problème.
Posté le 23/02/2007 à 07:47 Membre depuis le 19/12/2002, 480 messages
En effet, il y a un moyen de contourner les problème, mais je ne le connais pas personnellement.
Posté le 03/03/2007 à 02:22 Membre depuis le 04/02/2007, 16 messages
Bon, alors je crois que ce serait temps pour vous d'apprendre l'anglais et d'aller sur les tutoriels anglais, qui expliquent ce problème.

Le programme commence à $9D95. TI a ajouté une protection empêchant le program counter (PC) de dépasser $BFFF, ce qui laisse donc exactement 8811 bytes pour le programme. Le code doit donc être dans cette limite. Le reste (données, cartes, variables,etc) peut être stocké n'importe où dans le RAM ($0000-$FFFF). Il est donc possible de faire un programme de 24000 bytes, à condition que les 15189 derniers bytes soient des données et non du code. Pour qu'un programme puisse avoir plus de 8811 bytes de code, il faut stocker le code comme si c'était des données, puis le copier à des endroits de mémoires vide (AppBackUpScreen, PlotSScreen, SaveSScreen et autres grand emplacements) pour ensuite l'exécuter.
Posté le 03/03/2007 à 12:42 Membre depuis le 15/03/2005, 3470 messages
Bon, alors je crois que ce serait temps pour vous d'apprendre l'anglais et d'aller sur les tutoriels anglais, qui expliquent ce problème.


On connait l'anglais, et c'est pas parce que tu sait dans quel tuto on parle de ce problème que tu peut dire ça (le problème c'était surtout de savoir où trouver la réponse à ça, pas d'apprendre l'anglais roll).
Posté le 03/03/2007 à 18:16 Membre depuis le 21/08/2006, 73 messages
Merci Fallen Ghost! smile
Posté le 05/03/2007 à 12:57 Membre depuis le 19/12/2002, 480 messages
Merci Deeph ! wink
Posté le 05/03/2007 à 17:53 Membre depuis le 15/03/2005, 3470 messages
trifus
Posté le 06/03/2007 à 07:57 Membre depuis le 19/12/2002, 480 messages
Pour ta remarque sur l'anglais...


On a beau comprendre les tutoriels, on ne va pas faire des recherches approfondies à chaque question pour faire le travail des autres... wink
Posté le 06/03/2007 à 17:37 Membre depuis le 15/03/2005, 3470 messages
Ah ok, parce que là je voyais pas vraiment comment j'aurai aider (je démarre en ASM donc bon...).
Posté le 07/03/2007 à 03:14 Membre depuis le 04/02/2007, 16 messages
Bah, je veux dire, allez sur TiCalc.org ou n'importe quel autre forum anglais, le premier tutoriel qu'ils vous envoient voir est Learn Assembly in 28 days, de Sean McLaughlin, qui contient cette info à la page du jour #13, au bas de la page. On tient pour compte que les gens lisent les tutoriels au complet. Dommages qu'ils ne soient pas en français, ça aurait été beaucoup plus simple. Mais les traductions laissent parfois sérieusement à désirer...

Mais bref, c'est pas grave, tant que l'on peut obtenir une réponse à nos questions.
Posté le 07/03/2007 à 07:38 Membre depuis le 19/12/2002, 480 messages
J'en profite pour dire que je vais m'y remettre, à la traduction de ce tutoriel, d'ailleurs... Dès ce week-end (sortie prévue, disons vers la fin des vacances d'été...)
Posté le 07/03/2007 à 12:17 Membre depuis le 01/12/2005, 413 messages
joe14, si tu veux, je peux traduire un ou deux jours (ce serait ça de fait)
Posté le 07/03/2007 à 12:50 Membre depuis le 15/03/2005, 3470 messages
Cool, pour l'instant j'ai jamais vu de traduction en Français de ce tuto.
Posté le 07/03/2007 à 13:31 Membre depuis le 19/12/2002, 480 messages
joe14, si tu veux, je peux traduire un ou deux jours (ce serait ça de fait)


Si tu veux. Mais pas les 1,2 et 3.
Posté le 07/03/2007 à 14:39 Membre depuis le 01/12/2005, 413 messages
ok je vais voir ce que je peux faire
Posté le 13/03/2007 à 07:55 Membre depuis le 19/12/2002, 480 messages
En fait, je pense que c'est pas la peine de te faire chier avec ça. En effet, il me semble qu'il est plus important pour la communauté TI que les programmeurs actifs ne se détournent pas trop de la programmation... De plus, si tu traduis des leçons, il faudra de toutes façons que je les relise pour qu'elles adoptent le même ton que les miennes, donc, ce ne sera pas un si grand gain de temps. Personnellement, je fais une grosse (et définitive ?) pause dans le développement de programmes TI. Je suis donc dispo pour la traduction (si on met de côtés les milliers d'autres activités que j'ai à faire), d'autant que cela me fer faire de l'anglais, ce qui n'est pas mal...

Donc, je pense qu'il vaut mieux que tu te concentres sur la programmation, c'est contre-productif de réaliser trop de projets à la fois.